diff --git a/ClassFactory.cpp b/ClassFactory.cpp
index 10777a97cf41d562acb94cd230e8d9003bbf2eb7..b72c76062d37b1cbb904ad3053373e5a06fb5594 100644
--- a/ClassFactory.cpp
+++ b/ClassFactory.cpp
@@ -1,3 +1,4 @@
+/*----- PROTECTED REGION ID(Keithley428::ClassFactory.cpp) ENABLED START -----*/
 static const char *RcsId = "$Id:  $";
 //+=============================================================================
 //
@@ -57,3 +58,4 @@ void Tango::DServer::class_factory()
 #endif
 
 }
+/*----- PROTECTED REGION END -----*/
diff --git a/Keithley428.cpp b/Keithley428.cpp
index 9e2ed3f99ccbacca041daa3f830ab8ca7b1f27b4..d478727af1a24a7f82178bee43feba8ae592afbd 100644
--- a/Keithley428.cpp
+++ b/Keithley428.cpp
@@ -1,838 +1,973 @@
-static const char *RcsId = "$Id:  $";
-//+=============================================================================
-//
-// file :         Keithley428.cpp
-//
-// description :  C++ source for the Keithley428 and its commands. 
-//                The class is derived from Device. It represents the
-//                CORBA servant object which will be accessed from the
-//                network. All commands which can be executed on the
-//                Keithley428 are implemented in this file.
-//
-// project :      TANGO Device Server
-//
-// $Author:  $
-//
-// $Revision:  $
-//
-// $Revision:  $
-// $Date:  $
-//
-// SVN only:
-// $HeadURL: $
-//
-// CVS only:
-// $Source:  $
-// $Log:  $
-//
-// copyleft :     European Synchrotron Radiation Facility
-//                BP 220, Grenoble 38043
-//                FRANCE
-//
-//-=============================================================================
-//
-//  		This file is generated by POGO
-//	(Program Obviously used to Generate tango Object)
-//
-//         (c) - Software Engineering Group - ESRF
-//=============================================================================
-
-
-
-//===================================================================
-//
-//	The following table gives the correspondence
-//	between commands and method name.
-//
-//  Command name        |  Method name
-//	----------------------------------------
-//  State               |  dev_state()
-//  Status              |  dev_status()
-//  PerformZeroCorrect  |  perform_zero_correct()
-//  FilterOn            |  filter_on()
-//  FilterOff           |  filter_off()
-//  AutoFilterOn        |  auto_filter_on()
-//  AutoFilterOff       |  auto_filter_off()
-//
-//===================================================================
-
-
-#include <tango.h>
-#ifndef USE_HELPERS_DIR
-#include <PogoHelper.h>
-#else
-#include <helpers/PogoHelper.h>
-#endif
-#include <Keithley428.h>
-#include <Keithley428Class.h>
-
-namespace Keithley428_ns
-{
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::Keithley428(string &s)
-// 
-// description : 	constructor for simulated Keithley428
-//
-// in : - cl : Pointer to the DeviceClass object
-//      - s : Device name 
-//
-//-----------------------------------------------------------------------------
-Keithley428::Keithley428(Tango::DeviceClass *cl,string &s)
-    :Tango::Device_4Impl(cl,s.c_str())
-{
-    init_device();
-}
-
-Keithley428::Keithley428(Tango::DeviceClass *cl,const char *s)
-    :Tango::Device_4Impl(cl,s)
-{
-    init_device();
-}
-
-Keithley428::Keithley428(Tango::DeviceClass *cl,const char *s,const char *d)
-    :Tango::Device_4Impl(cl,s,d)
-{
-    init_device();
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::delete_device()
-// 
-// description : 	will be called at device destruction or at init command.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::delete_device()
-{
-    //	Delete device allocated objects
-
-    DELETE_DEVSTRING_ATTRIBUTE(attr_GainStr_read);
-    DELETE_SCALAR_ATTRIBUTE(attr_Overloaded_read);
-    DELETE_DEVSTRING_ATTRIBUTE(attr_filterState_read);
-    DELETE_DEVSTRING_ATTRIBUTE(attr_autoFilterState_read);
-    DELETE_DEVSTRING_ATTRIBUTE(attr_RiseTimeStr_read);
-
-    if (gpib_device != NULL)
-        delete gpib_device; 
-
-    if (buffer != NULL)
-        delete buffer; 
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::init_device()
-// 
-// description : 	will be called at device initialization.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::init_device()
-{
-    INFO_STREAM << "Keithley428::Keithley428() create device " << device_name << endl;
-
-    // Initialise variables to default values
-    //--------------------------------------------
-    get_device_property();
-
-    CREATE_DEVSTRING_ATTRIBUTE(attr_GainStr_read,MAX_STRING_LENGTH);
-    CREATE_SCALAR_ATTRIBUTE(attr_Overloaded_read);
-    CREATE_DEVSTRING_ATTRIBUTE(attr_filterState_read,MAX_STRING_LENGTH);
-    CREATE_DEVSTRING_ATTRIBUTE(attr_autoFilterState_read,MAX_STRING_LENGTH);
-    CREATE_DEVSTRING_ATTRIBUTE(attr_RiseTimeStr_read,MAX_STRING_LENGTH);
-
-    gpib_device = NULL;
-    try
-    {
-        gpib_device = new Tango::DeviceProxy(gpibDevice);
-        gpib_device->ping();
-        set_state(Tango::ON);
-        set_status("Keithley428 is ON");
-    } 
-    catch (Tango::DevFailed &e)
-    {
-        set_state(Tango::FAULT);
-        set_status("Not able to connect to Gpib Device");
-    }
-
-    buffer = new char[180]; 
-    memset(buffer,0, 180);
-
-    if(gpibDeviceType == 1)
-    {
-        m_write_read    = "GPIBWriteRead";
-        m_write         = "GPIBWrite";
-    }
-    else
-    {
-        m_write_read    = "WriteRead";
-        m_write         = "Write";
-    }
-}
-
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::get_device_property()
-// 
-// description : 	Read the device properties from database.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::get_device_property()
-{
-    //	Initialize your default values here (if not done with  POGO).
-    //------------------------------------------------------------------
-
-    //	Read device properties from database.(Automatic code generation)
-    //------------------------------------------------------------------
-	Tango::DbData	dev_prop;
-	dev_prop.push_back(Tango::DbDatum("GpibDevice"));
-	dev_prop.push_back(Tango::DbDatum("GpibDeviceType"));
-
-	//	Call database and extract values
-	//--------------------------------------------
-	if (Tango::Util::instance()->_UseDb==true)
-		get_db_device()->get_property(dev_prop);
-	Tango::DbDatum	def_prop, cl_prop;
-	Keithley428Class	*ds_class =
-		(static_cast<Keithley428Class *>(get_device_class()));
-	int	i = -1;
-
-	//	Try to initialize GpibDevice from class property
-	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
-	if (cl_prop.is_empty()==false)	cl_prop  >>  gpibDevice;
-	else {
-		//	Try to initialize GpibDevice from default device value
-		def_prop = ds_class->get_default_device_property(dev_prop[i].name);
-		if (def_prop.is_empty()==false)	def_prop  >>  gpibDevice;
-	}
-	//	And try to extract GpibDevice value from database
-	if (dev_prop[i].is_empty()==false)	dev_prop[i]  >>  gpibDevice;
-
-	//	Try to initialize GpibDeviceType from class property
-	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
-	if (cl_prop.is_empty()==false)	cl_prop  >>  gpibDeviceType;
-	else {
-		//	Try to initialize GpibDeviceType from default device value
-		def_prop = ds_class->get_default_device_property(dev_prop[i].name);
-		if (def_prop.is_empty()==false)	def_prop  >>  gpibDeviceType;
-	}
-	//	And try to extract GpibDeviceType value from database
-	if (dev_prop[i].is_empty()==false)	dev_prop[i]  >>  gpibDeviceType;
-
-
-
-    //	End of Automatic code generation
-    //------------------------------------------------------------------
-
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::always_executed_hook()
-// 
-// description : 	method always executed before any command is executed
-//
-//-----------------------------------------------------------------------------
-void Keithley428::always_executed_hook()
-{
-
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_attr_hardware
-// 
-// description : 	Hardware acquisition for attributes.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_attr_hardware(vector<long> &attr_list)
-{
-    DEBUG_STREAM << "Keithley428::read_attr_hardware(vector<long> &attr_list) entering... "<< endl;
-    //	Add your own code here
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_RiseTimeStr
-// 
-// description : 	Extract real attribute values for RiseTimeStr acquisition result.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_RiseTimeStr(Tango::Attribute &attr)
-{
-	DEBUG_STREAM << "Keithley428::read_RiseTimeStr(Tango::Attribute &attr) entering... "<< endl;
-
-    //- filled in read_RiseTime()
-    attr.set_value( attr_RiseTimeStr_read);
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_filterState
-// 
-// description : 	Extract real attribute values for filterState acquisition result.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_filterState(Tango::Attribute &attr)
-{
-	DEBUG_STREAM << "Keithley428::read_filterState(Tango::Attribute &attr) entering... "<< endl;
-
-    DeviceData din;
-    DeviceData dout;
-
-    string tmp_string;
-    string selected_str;
-    string attr_str;
-    size_t pos;
-
-    int r_v;
-    int w_v;
-
-    sprintf(tmp_buffer,"U0X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
-
-    dout >> tmp_string;
-
-    pos = tmp_string.find("P");
-    pos = pos + 1;
-    selected_str = tmp_string.substr(pos);
-    r_v = atoi(selected_str.c_str());
-
-    switch(r_v)
-    {
-    case 0:
-        attr_str = "OFF";
-        break;
-    case 1:
-        attr_str = "ON";
-        break;
-    default:
-        attr_str = "BAD_VALUE";
-        break;
-    }
-
-    strcpy(*attr_filterState_read,attr_str.c_str());
-    attr.set_value( attr_filterState_read);
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_autoFilterState
-// 
-// description : 	Extract real attribute values for autoFilterState acquisition result.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_autoFilterState(Tango::Attribute &attr)
-{
-	DEBUG_STREAM << "Keithley428::read_autoFilterState(Tango::Attribute &attr) entering... "<< endl;
-
-    DeviceData din;
-    DeviceData dout;
-
-    string tmp_string;
-    string selected_str;
-    string attr_str;
-    size_t pos;
-
-    int r_v;
-    int w_v;
-
-    sprintf(tmp_buffer,"U0X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
-
-    dout >> tmp_string;
-
-    pos = tmp_string.find("Z");
-    pos = pos + 1;
-    selected_str = tmp_string.substr(pos);
-    r_v = atoi(selected_str.c_str());
-
-    switch(r_v)
-    {
-    case 0:
-        attr_str = "OFF";
-        break;
-    case 1:
-        attr_str = "ON";
-        break;
-    default:
-        attr_str = "BAD_VALUE";
-        break;
-    }
-
-    strcpy(*attr_autoFilterState_read,attr_str.c_str());
-    attr.set_value( attr_autoFilterState_read);
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_Bypass
-// 
-// description : 	Extract real attribute values for Bypass acquisition result.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_Bypass(Tango::Attribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::read_Bypass(Tango::Attribute &attr) entering... "<< endl; 
-
-    DeviceData din;
-    DeviceData dout;
-
-    string tmp_string;
-    string selected_str;
-    size_t pos;
-
-    int c_v;
-
-    sprintf(tmp_buffer,"U0X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
-
-    dout >> tmp_string;
-
-    pos = tmp_string.find("C");
-    pos = pos + 1;
-    selected_str = tmp_string.substr(pos);
-    c_v = atoi(selected_str.c_str());
-
-    attr_Bypass_write = c_v;
-
-    attr.set_value( &attr_Bypass_write); 
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::write_Bypass
-// 
-// description : 	Write Bypass attribute values to hardware.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::write_Bypass(Tango::WAttribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::write_Bypass(Tango::WAttribute &attr) entering... "<< endl;
-
-    DeviceData din;
-
-    attr.get_write_value( attr_Bypass_write);
-
-    if( (attr_Bypass_write < 0) || (attr_Bypass_write > 1) ){
-        Tango::Except::throw_exception ((const char *)"Keithley428 error",
-            (const char *)"Value out of range (off -> 0, on -> 1)",
-            (const char *)"write_Bypass");
-    }
-
-    sprintf(tmp_buffer,"C%dX", attr_Bypass_write);
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_Overloaded
-// 
-// description : 	Extract real attribute values for Overloaded acquisition result.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_Overloaded(Tango::Attribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::read_Overloaded(Tango::Attribute &attr) entering... "<< endl;  
-
-    DeviceData din;
-    DeviceData dout;
-
-    string tmp_string;
-    string selected_str;
-    size_t pos;
-
-    int overload_flag;
-
-    sprintf(tmp_buffer,"U1X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
-
-    dout >> tmp_string;
-
-    pos = 12;
-    selected_str = tmp_string.substr(pos,1);
-    overload_flag = atoi(selected_str.c_str());
-
-    *attr_Overloaded_read = overload_flag;
-
-    attr.set_value(attr_Overloaded_read); 
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_GainStr
-// 
-// description : 	Extract real attribute values for GainStr acquisition result.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_GainStr(Tango::Attribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::read_GainStr(Tango::Attribute &attr) entering... "<< endl;
-
-    DeviceData din;
-    DeviceData dout;
-
-    string tmp_string;
-
-
-    sprintf(tmp_buffer,"U3X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
-
-    dout >> tmp_string;
-
-    strcpy(*attr_GainStr_read,tmp_string.c_str());
-
-    attr.set_value( attr_GainStr_read);
-}
-
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_Gain
-// 
-// description : 	Extract real attribute values for Gain acquisition result.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_Gain(Tango::Attribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::read_Gain(Tango::Attribute &attr) entering... "<< endl;
-
-    DeviceData din;
-    DeviceData dout;
-
-    string tmp_string;
-    string selected_str;
-    size_t pos;
-
-    int r_v;
-    int w_v;
-
-    sprintf(tmp_buffer,"U0X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
-
-    dout >> tmp_string;
-
-    pos = tmp_string.find("R");
-    pos = pos + 1;
-    selected_str = tmp_string.substr(pos);
-    r_v = atoi(selected_str.c_str());
-
-    pos = tmp_string.find("W");
-    pos = pos + 1;
-    selected_str = tmp_string.substr(pos);
-    w_v = atoi(selected_str.c_str());
-
-    if(w_v == 0){
-        attr_Gain_write = r_v;
-    } else {
-        attr_Gain_write = r_v + 1;
-    }
-
-    attr.set_value( &attr_Gain_write); 
-
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::write_Gain
-// 
-// description : 	Write Gain attribute values to hardware.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::write_Gain(Tango::WAttribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::write_Gain(Tango::WAttribute &attr) entering... "<< endl;
-
-    DeviceData din;
-
-    attr.get_write_value( attr_Gain_write);
-
-    if( (attr_Gain_write < 0) || (attr_Gain_write > 11) ){
-        Tango::Except::throw_exception ((const char *)"Keithley428 error",
-            (const char *)"Value out of range (0-11)",
-            (const char *)"write_Gain");
-    }
-
-
-    if(attr_Gain_write < 11){
-        sprintf(tmp_buffer,"W0XR%dX", (int)attr_Gain_write);
-        strcpy(buffer,tmp_buffer);
-        din << buffer;
-    } else {
-        sprintf(tmp_buffer,"W1XR10X");
-        strcpy(buffer,tmp_buffer);
-        din << buffer;
-    }
-
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::read_RiseTime
-// 
-// description : 	Extract real attribute values for rise time.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::read_RiseTime(Tango::Attribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::read_RiseTime(Tango::Attribute &attr) entering... "<< endl;
-
-    DeviceData din;
-    DeviceData dout;
-
-    string tmp_string;
-    string selected_str;
-    string rise_time_str;
-    size_t pos;
-
-    int value;
-
-    sprintf(tmp_buffer,"U0X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
-
-    dout >> tmp_string;
-
-    pos = tmp_string.find("T");
-    pos = pos + 1;
-    selected_str = tmp_string.substr(pos);
-    value = atoi(selected_str.c_str());
-    attr_RiseTime_write = value;
-
-    //- get the value and transform it into str to display it
-    switch (value)
-    {
-        case 0: rise_time_str = "10e-6 sec";
-            break;
-        case 1: rise_time_str = "30e-6 sec";
-            break;
-        case 2: rise_time_str = "100e-6 sec";
-            break;
-        case 3: rise_time_str = "300e-6 sec";
-            break;
-        case 4: rise_time_str = "1e-3 sec";
-            break;
-        case 5: rise_time_str = "3e-3 sec";
-            break;
-        case 6: rise_time_str = "10e-3 sec";
-            break;
-        case 7: rise_time_str = "30e-3 sec";
-            break;
-        case 8: rise_time_str = "100e-3 sec";
-            break;
-        case 9: rise_time_str = "300e-3 sec";
-            break;
-        default: rise_time_str= "BAD_VALUE";
-            break;
-    }
-
-    strcpy(*attr_RiseTimeStr_read,rise_time_str.c_str());
-
-    attr.set_value( &attr_RiseTime_write); 
-
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::write_RiseTime
-// 
-// description : 	Write RiseTime attribute values to hardware.
-//
-//-----------------------------------------------------------------------------
-void Keithley428::write_RiseTime(Tango::WAttribute &attr)
-{
-    DEBUG_STREAM << "Keithley428::write_RiseTime(Tango::WAttribute &attr) entering... "<< endl;
-
-    DeviceData din;
-
-    attr.get_write_value( attr_RiseTime_write);
-
-    if( (attr_RiseTime_write < 0) || (attr_RiseTime_write > 9) ){
-        Tango::Except::throw_exception ((const char *)"Keithley428 error",
-            (const char *)"Value out of range (0-9)",
-            (const char *)"write_RiseTime");
-    }
-
-	sprintf(tmp_buffer,"T%dX", (int)attr_RiseTime_write);
-	strcpy(buffer,tmp_buffer);
-	din << buffer;
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-
-//+------------------------------------------------------------------
-/**
- *	method:	Keithley428::perform_zero_correct
- *
- *	description:	method to execute "PerformZeroCorrect"
- *	Perform Zero correction.
- *
- *
- */
-//+------------------------------------------------------------------
-void Keithley428::perform_zero_correct()
-{
-    DEBUG_STREAM << "Keithley428::perform_zero_correct(): entering... !" << endl;
-
-    //	Add your own code to control device here
-
-    DeviceData din;
-
-    sprintf(tmp_buffer,"C2X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-//+------------------------------------------------------------------
-/**
- *	method:	Keithley428::filter_on
- *
- *	description:	method to execute "FilterOn"
- *	Turn the filter ON
- *
- *
- */
-//+------------------------------------------------------------------
-void Keithley428::filter_on()
-{
-	DEBUG_STREAM << "Keithley428::filter_on(): entering... !" << endl;
-
-	//	Add your own code to control device here
-
-    DeviceData din;
-
-    sprintf(tmp_buffer,"P1X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-//+------------------------------------------------------------------
-/**
- *	method:	Keithley428::filter_off
- *
- *	description:	method to execute "FilterOff"
- *	Turn the filter OFF
- *
- *
- */
-//+------------------------------------------------------------------
-void Keithley428::filter_off()
-{
-	DEBUG_STREAM << "Keithley428::filter_off(): entering... !" << endl;
-
-	//	Add your own code to control device here
-
-    DeviceData din;
-
-    sprintf(tmp_buffer,"P0X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-//+------------------------------------------------------------------
-/**
- *	method:	Keithley428::auto_filter_on
- *
- *	description:	method to execute "AutoFilterOn"
- *	Enable Auto Filter
- *
- *
- */
-//+------------------------------------------------------------------
-void Keithley428::auto_filter_on()
-{
-	DEBUG_STREAM << "Keithley428::auto_filter_on(): entering... !" << endl;
-
-	//	Add your own code to control device here
-
-    //- read the current filterState
-	Tango::Attribute &filterState = dev_attr->get_attr_by_name("filterState");
-	this->read_filterState(filterState);
-
-    string filter_state = *attr_filterState_read;
-
-    if(filter_state == "ON")
-    {
-        Tango::Except::throw_exception(
-				(const char *)"OPERATION_NOT_ALLOWED",
-				(const char *)"Auto filter ON is not allowed when filter is already ON",
-				(const char *)"Keithley428::auto_filter_on");
-    }
-
-    DeviceData din;
-
-    sprintf(tmp_buffer,"Z1X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-//+------------------------------------------------------------------
-/**
- *	method:	Keithley428::auto_filter_off
- *
- *	description:	method to execute "AutoFilterOff"
- *	Disable Auto Filter
- *
- *
- */
-//+------------------------------------------------------------------
-void Keithley428::auto_filter_off()
-{
-	DEBUG_STREAM << "Keithley428::auto_filter_off(): entering... !" << endl;
-
-	//	Add your own code to control device here
-
-    DeviceData din;
-
-    sprintf(tmp_buffer,"Z0X");
-    strcpy(buffer,tmp_buffer);
-    din << buffer;
-
-    gpib_device->command_inout(m_write.c_str(),din);
-
-}
-
-
-
-}	//	namespace
+/*----- PROTECTED REGION ID(Keithley428.cpp) ENABLED START -----*/
+static const char *RcsId = "$Id:  $";
+//=============================================================================
+//
+// file :        Keithley428.cpp
+//
+// description : C++ source for the Keithley428 and its commands.
+//               The class is derived from Device. It represents the
+//               CORBA servant object which will be accessed from the
+//               network. All commands which can be executed on the
+//               Keithley428 are implemented in this file.
+//
+// project :     Keithley428 Current Amplifier.
+//
+// $Author:  $
+//
+// $Revision:  $
+// $Date:  $
+//
+// SVN only:
+// $HeadURL:  $
+//
+// CVS only:
+// $Source:  $
+// $Log:  $
+//
+//=============================================================================
+//                This file is generated by POGO
+//        (Program Obviously used to Generate tango Object)
+//=============================================================================
+
+
+#include <tango.h>
+#ifndef USE_HELPERS_DIR
+#include <PogoHelper.h>
+#else
+#include <helpers/PogoHelper.h>
+#endif
+#include <Keithley428.h>
+#include <Keithley428Class.h>
+
+/*----- PROTECTED REGION END -----*/
+
+
+/**
+ *	Keithley428 class description:
+ *	Class for controlling the Keithley428 current amplifier.
+ */
+
+//================================================================
+//
+//  The following table gives the correspondence
+//  between command and method names.
+//
+//  Command name        |  Method name
+//----------------------------------------------------------------
+//  State               |  Inherited (no method)
+//  Status              |  Inherited (no method)
+//  PerformZeroCorrect  |  perform_zero_correct
+//  FilterOn            |  filter_on
+//  FilterOff           |  filter_off
+//  AutoFilterOn        |  auto_filter_on
+//  AutoFilterOff       |  auto_filter_off
+//================================================================
+
+namespace Keithley428_ns
+{
+	/*----- PROTECTED REGION ID(Keithley428::namespace_starting) ENABLED START -----*/
+
+	//	static initializations
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::namespace_starting
+
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428()
+ *	Description : Constructors for a Tango device
+ *	              implementing the class Keithley428
+ */
+//--------------------------------------------------------
+Keithley428::Keithley428(Tango::DeviceClass *cl, string &s)
+ 	: Tango::Device_4Impl(cl, s.c_str())
+{
+	/*----- PROTECTED REGION ID(Keithley428::constructor_1) ENABLED START -----*/
+
+	init_device();
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::constructor_1
+}
+//--------------------------------------------------------
+Keithley428::Keithley428(Tango::DeviceClass *cl, const char *s)
+ 	: Tango::Device_4Impl(cl, s)
+{
+	/*----- PROTECTED REGION ID(Keithley428::constructor_2) ENABLED START -----*/
+
+	init_device();
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::constructor_2
+}
+//--------------------------------------------------------
+Keithley428::Keithley428(Tango::DeviceClass *cl, const char *s, const char *d)
+ 	: Tango::Device_4Impl(cl, s, d)
+{
+	/*----- PROTECTED REGION ID(Keithley428::constructor_3) ENABLED START -----*/
+
+	init_device();
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::constructor_3
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::delete_device()()
+ *	Description : will be called at device destruction or at init command
+ */
+//--------------------------------------------------------
+void Keithley428::delete_device()
+{
+	/*----- PROTECTED REGION ID(Keithley428::delete_device) ENABLED START -----*/
+
+	//	Delete device allocated objects
+	//	Delete device allocated objects
+
+    DELETE_DEVSTRING_ATTRIBUTE(attr_GainStr_read);
+    DELETE_SCALAR_ATTRIBUTE(attr_Overloaded_read);
+    DELETE_DEVSTRING_ATTRIBUTE(attr_filterState_read);
+    DELETE_DEVSTRING_ATTRIBUTE(attr_autoFilterState_read);
+    DELETE_DEVSTRING_ATTRIBUTE(attr_RiseTimeStr_read);
+
+    if (gpib_device != NULL)
+        delete gpib_device; 
+
+    if (buffer != NULL)
+        delete buffer;
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::delete_device
+	
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::init_device()
+ *	Description : //	will be called at device initialization.
+ */
+//--------------------------------------------------------
+void Keithley428::init_device()
+{
+	DEBUG_STREAM << "Keithley428::init_device() create device " << device_name << endl;
+
+	/*----- PROTECTED REGION ID(Keithley428::init_device_before) ENABLED START -----*/
+
+	//	Initialization before get_device_property() call
+    
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::init_device_before
+	
+	//	Get the device properties (if any) from database
+	get_device_property();
+	
+	
+	/*----- PROTECTED REGION ID(Keithley428::init_device) ENABLED START -----*/
+
+	//	Initialize device
+
+    CREATE_DEVSTRING_ATTRIBUTE(attr_GainStr_read,MAX_STRING_LENGTH);
+    CREATE_SCALAR_ATTRIBUTE(attr_Overloaded_read);
+    CREATE_DEVSTRING_ATTRIBUTE(attr_filterState_read,MAX_STRING_LENGTH);
+    CREATE_DEVSTRING_ATTRIBUTE(attr_autoFilterState_read,MAX_STRING_LENGTH);
+    CREATE_DEVSTRING_ATTRIBUTE(attr_RiseTimeStr_read,MAX_STRING_LENGTH);
+
+    gpib_device = NULL;
+    try
+    {
+        gpib_device = new Tango::DeviceProxy(gpibDevice);
+        gpib_device->ping();
+        set_state(Tango::ON);
+        set_status("Keithley428 is ON");
+    } 
+    catch (Tango::DevFailed &e)
+    {
+        set_state(Tango::FAULT);
+        set_status("Not able to connect to Gpib Device");
+    }
+
+    buffer = new char[180]; 
+    memset(buffer,0, 180);
+
+    if(gpibDeviceType == 1)
+    {
+        m_write_read    = "GPIBWriteRead";
+        m_write         = "GPIBWrite";
+    }
+    else
+    {
+        m_write_read    = "WriteRead";
+        m_write         = "Write";
+    }
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::init_device
+}
+
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::get_device_property()
+ *	Description : //	Add your own code to initialize
+ */
+//--------------------------------------------------------
+void Keithley428::get_device_property()
+{
+	/*----- PROTECTED REGION ID(Keithley428::get_device_property_before) ENABLED START -----*/
+
+	//	Initialize property data members
+	
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::get_device_property_before
+
+
+	//	Read device properties from database.
+	Tango::DbData	dev_prop;
+	dev_prop.push_back(Tango::DbDatum("GpibDevice"));
+	dev_prop.push_back(Tango::DbDatum("GpibDeviceType"));
+
+	//	is there at least one property to be read ?
+	if (dev_prop.size()>0)
+	{
+		//	Call database and extract values
+		if (Tango::Util::instance()->_UseDb==true)
+			get_db_device()->get_property(dev_prop);
+	
+		//	get instance on Keithley428Class to get class property
+		Tango::DbDatum	def_prop, cl_prop;
+		Keithley428Class	*ds_class =
+			(static_cast<Keithley428Class *>(get_device_class()));
+		int	i = -1;
+
+		//	Try to initialize GpibDevice from class property
+		cl_prop = ds_class->get_class_property(dev_prop[++i].name);
+		if (cl_prop.is_empty()==false)	cl_prop  >>  gpibDevice;
+		else {
+			//	Try to initialize GpibDevice from default device value
+			def_prop = ds_class->get_default_device_property(dev_prop[i].name);
+			if (def_prop.is_empty()==false)	def_prop  >>  gpibDevice;
+		}
+		//	And try to extract GpibDevice value from database
+		if (dev_prop[i].is_empty()==false)	dev_prop[i]  >>  gpibDevice;
+
+		//	Try to initialize GpibDeviceType from class property
+		cl_prop = ds_class->get_class_property(dev_prop[++i].name);
+		if (cl_prop.is_empty()==false)	cl_prop  >>  gpibDeviceType;
+		else {
+			//	Try to initialize GpibDeviceType from default device value
+			def_prop = ds_class->get_default_device_property(dev_prop[i].name);
+			if (def_prop.is_empty()==false)	def_prop  >>  gpibDeviceType;
+		}
+		//	And try to extract GpibDeviceType value from database
+		if (dev_prop[i].is_empty()==false)	dev_prop[i]  >>  gpibDeviceType;
+
+
+	}
+	/*----- PROTECTED REGION ID(Keithley428::get_device_property_after) ENABLED START -----*/
+
+	//	Check device property data members init
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::get_device_property_after
+
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::always_executed_hook()
+ *	Description : method always executed before any command is executed
+ */
+//--------------------------------------------------------
+void Keithley428::always_executed_hook()
+{
+	INFO_STREAM << "Keithley428::always_executed_hook()  " << device_name << endl;
+	/*----- PROTECTED REGION ID(Keithley428::always_executed_hook) ENABLED START -----*/
+
+	//	code always executed before all requests
+	
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::always_executed_hook
+}
+
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::read_attr_hardware()
+ *	Description : Hardware acquisition for attributes.
+ */
+//--------------------------------------------------------
+void Keithley428::read_attr_hardware(vector<long> &attr_list)
+{
+	DEBUG_STREAM << "Keithley428::read_attr_hardware(vector<long> &attr_list) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_attr_hardware) ENABLED START -----*/
+
+	//	Add your own code
+	//	Add your own code here
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_attr_hardware
+
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Read Gain attribute
+ *	Description: 0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A
+ *
+ *	Data type:	Tango::DevLong
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_Gain(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_Gain(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_Gain) ENABLED START -----*/
+	DeviceData din;
+    DeviceData dout;
+
+    string tmp_string;
+    string selected_str;
+    size_t pos;
+
+    int r_v;
+    int w_v;
+
+    sprintf(tmp_buffer,"U0X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
+
+    dout >> tmp_string;
+
+    pos = tmp_string.find("R");
+    pos = pos + 1;
+    selected_str = tmp_string.substr(pos);
+    r_v = atoi(selected_str.c_str());
+
+    pos = tmp_string.find("W");
+    pos = pos + 1;
+    selected_str = tmp_string.substr(pos);
+    w_v = atoi(selected_str.c_str());
+
+    if(w_v == 0){
+        attr_Gain_write = r_v;
+    } else {
+        attr_Gain_write = r_v + 1;
+    }
+
+    attr.set_value( &attr_Gain_write);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_Gain
+}
+
+//--------------------------------------------------------
+/**
+ *	Write Gain attribute values to hardware.
+ *
+ *	Data type:	Tango::DevLong
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::write_Gain(Tango::WAttribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::write_Gain(Tango::Attribute &attr) entering... " << endl;
+	
+	//	Retrieve write value
+	Tango::DevLong	w_val;
+	attr.get_write_value(w_val);
+	
+	/*----- PROTECTED REGION ID(Keithley428::write_Gain) ENABLED START -----*/
+	DeviceData din;
+
+    attr.get_write_value( w_val);
+
+    if( (w_val < 0) || (w_val > 11) ){
+        Tango::Except::throw_exception ((const char *)"Keithley428 error",
+            (const char *)"Value out of range (0-11)",
+            (const char *)"write_Gain");
+    }
+
+
+    if(w_val < 11){
+        sprintf(tmp_buffer,"W0XR%dX", (int)w_val);
+        strcpy(buffer,tmp_buffer);
+        din << buffer;
+    } else {
+        sprintf(tmp_buffer,"W1XR10X");
+        strcpy(buffer,tmp_buffer);
+        din << buffer;
+    }
+
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::write_Gain
+}
+
+//--------------------------------------------------------
+/**
+ *	Read GainStr attribute
+ *	Description: 
+ *
+ *	Data type:	Tango::DevString
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_GainStr(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_GainStr(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_GainStr) ENABLED START -----*/
+	DeviceData din;
+    DeviceData dout;
+
+    string tmp_string;
+
+
+    sprintf(tmp_buffer,"U3X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
+
+    dout >> tmp_string;
+
+    strcpy(*attr_GainStr_read,tmp_string.c_str());
+
+    attr.set_value( attr_GainStr_read);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_GainStr
+}
+//--------------------------------------------------------
+/**
+ *	Read Overloaded attribute
+ *	Description: 1 if device is overloaded
+ *
+ *	Data type:	Tango::DevLong
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_Overloaded(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_Overloaded(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_Overloaded) ENABLED START -----*/
+	DeviceData din;
+    DeviceData dout;
+
+    string tmp_string;
+    string selected_str;
+    size_t pos;
+
+    int overload_flag;
+
+    sprintf(tmp_buffer,"U1X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
+
+    dout >> tmp_string;
+
+    pos = 12;
+    selected_str = tmp_string.substr(pos,1);
+    overload_flag = atoi(selected_str.c_str());
+
+    *attr_Overloaded_read = overload_flag;
+
+    attr.set_value(attr_Overloaded_read);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_Overloaded
+}
+//--------------------------------------------------------
+/**
+ *	Read Bypass attribute
+ *	Description: 0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.
+ *
+ *	Data type:	Tango::DevLong
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_Bypass(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_Bypass(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_Bypass) ENABLED START -----*/
+	DeviceData din;
+    DeviceData dout;
+
+    string tmp_string;
+    string selected_str;
+    size_t pos;
+
+    int c_v;
+
+    sprintf(tmp_buffer,"U0X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
+
+    dout >> tmp_string;
+
+    pos = tmp_string.find("C");
+    pos = pos + 1;
+    selected_str = tmp_string.substr(pos);
+    c_v = atoi(selected_str.c_str());
+
+    attr_Bypass_write = c_v;
+
+    attr.set_value( &attr_Bypass_write);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_Bypass
+}
+
+//--------------------------------------------------------
+/**
+ *	Write Bypass attribute values to hardware.
+ *
+ *	Data type:	Tango::DevLong
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::write_Bypass(Tango::WAttribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::write_Bypass(Tango::Attribute &attr) entering... " << endl;
+	
+	//	Retrieve write value
+	Tango::DevLong	w_val;
+	attr.get_write_value(w_val);
+	
+	/*----- PROTECTED REGION ID(Keithley428::write_Bypass) ENABLED START -----*/
+	DeviceData din;
+
+    attr.get_write_value( w_val);
+
+    if( (w_val < 0) || (w_val > 1) ){
+        Tango::Except::throw_exception ((const char *)"Keithley428 error",
+            (const char *)"Value out of range (off -> 0, on -> 1)",
+            (const char *)"write_Bypass");
+    }
+
+    sprintf(tmp_buffer,"C%dX", w_val);
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::write_Bypass
+}
+
+//--------------------------------------------------------
+/**
+ *	Read filterState attribute
+ *	Description: State of the manual filter
+ *
+ *	Data type:	Tango::DevString
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_filterState(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_filterState(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_filterState) ENABLED START -----*/
+	DeviceData din;
+    DeviceData dout;
+
+    string tmp_string;
+    string selected_str;
+    string attr_str;
+    size_t pos;
+
+    int r_v;
+    int w_v;
+
+    sprintf(tmp_buffer,"U0X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
+
+    dout >> tmp_string;
+
+    pos = tmp_string.find("P");
+    pos = pos + 1;
+    selected_str = tmp_string.substr(pos);
+    r_v = atoi(selected_str.c_str());
+
+    switch(r_v)
+    {
+    case 0:
+        attr_str = "OFF";
+        break;
+    case 1:
+        attr_str = "ON";
+        break;
+    default:
+        attr_str = "BAD_VALUE";
+        break;
+    }
+
+    strcpy(*attr_filterState_read,attr_str.c_str());
+    attr.set_value( attr_filterState_read);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_filterState
+}
+//--------------------------------------------------------
+/**
+ *	Read autoFilterState attribute
+ *	Description: State of the auto Filter
+ *
+ *	Data type:	Tango::DevString
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_autoFilterState(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_autoFilterState(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_autoFilterState) ENABLED START -----*/
+	DeviceData din;
+    DeviceData dout;
+
+    string tmp_string;
+    string selected_str;
+    string attr_str;
+    size_t pos;
+
+    int r_v;
+    int w_v;
+
+    sprintf(tmp_buffer,"U0X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
+
+    dout >> tmp_string;
+
+    pos = tmp_string.find("Z");
+    pos = pos + 1;
+    selected_str = tmp_string.substr(pos);
+    r_v = atoi(selected_str.c_str());
+
+    switch(r_v)
+    {
+    case 0:
+        attr_str = "OFF";
+        break;
+    case 1:
+        attr_str = "ON";
+        break;
+    default:
+        attr_str = "BAD_VALUE";
+        break;
+    }
+
+    strcpy(*attr_autoFilterState_read,attr_str.c_str());
+    attr.set_value( attr_autoFilterState_read);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_autoFilterState
+}
+//--------------------------------------------------------
+/**
+ *	Read RiseTime attribute
+ *	Description: 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n
+ *
+ *	Data type:	Tango::DevLong
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_RiseTime(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_RiseTime(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_RiseTime) ENABLED START -----*/
+	DeviceData din;
+    DeviceData dout;
+
+    string tmp_string;
+    string selected_str;
+    string rise_time_str;
+    size_t pos;
+
+    int value;
+
+    sprintf(tmp_buffer,"U0X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    dout = gpib_device->command_inout(m_write_read.c_str(),din);  
+
+    dout >> tmp_string;
+
+    pos = tmp_string.find("T");
+    pos = pos + 1;
+    selected_str = tmp_string.substr(pos);
+    value = atoi(selected_str.c_str());
+    attr_RiseTime_write = value;
+
+    //- get the value and transform it into str to display it
+    switch (value)
+    {
+        case 0: rise_time_str = "10e-6 sec";
+            break;
+        case 1: rise_time_str = "30e-6 sec";
+            break;
+        case 2: rise_time_str = "100e-6 sec";
+            break;
+        case 3: rise_time_str = "300e-6 sec";
+            break;
+        case 4: rise_time_str = "1e-3 sec";
+            break;
+        case 5: rise_time_str = "3e-3 sec";
+            break;
+        case 6: rise_time_str = "10e-3 sec";
+            break;
+        case 7: rise_time_str = "30e-3 sec";
+            break;
+        case 8: rise_time_str = "100e-3 sec";
+            break;
+        case 9: rise_time_str = "300e-3 sec";
+            break;
+        default: rise_time_str= "BAD_VALUE";
+            break;
+    }
+
+    strcpy(*attr_RiseTimeStr_read,rise_time_str.c_str());
+
+    attr.set_value( &attr_RiseTime_write);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_RiseTime
+}
+
+//--------------------------------------------------------
+/**
+ *	Write RiseTime attribute values to hardware.
+ *
+ *	Data type:	Tango::DevLong
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::write_RiseTime(Tango::WAttribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::write_RiseTime(Tango::Attribute &attr) entering... " << endl;
+	
+	//	Retrieve write value
+	Tango::DevLong	w_val;
+	attr.get_write_value(w_val);
+	
+	/*----- PROTECTED REGION ID(Keithley428::write_RiseTime) ENABLED START -----*/
+	DeviceData din;
+
+    attr.get_write_value( w_val);
+
+    if( (w_val < 0) || (w_val > 9) ){
+        Tango::Except::throw_exception ((const char *)"Keithley428 error",
+            (const char *)"Value out of range (0-9)",
+            (const char *)"write_RiseTime");
+    }
+
+	sprintf(tmp_buffer,"T%dX", (int)w_val);
+	strcpy(buffer,tmp_buffer);
+	din << buffer;
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::write_RiseTime
+}
+
+//--------------------------------------------------------
+/**
+ *	Read RiseTimeStr attribute
+ *	Description: 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n
+ *
+ *	Data type:	Tango::DevString
+ *	Attr type:	Scalar 
+ */
+//--------------------------------------------------------
+void Keithley428::read_RiseTimeStr(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "Keithley428::read_RiseTimeStr(Tango::Attribute &attr) entering... " << endl;
+	/*----- PROTECTED REGION ID(Keithley428::read_RiseTimeStr) ENABLED START -----*/
+	//- filled in read_RiseTime()
+    attr.set_value( attr_RiseTimeStr_read);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_RiseTimeStr
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::add_dynamic_attributes()
+ *	Description : Create the dynamic attributes if any
+ *	              for specified device.
+ */
+//--------------------------------------------------------
+void Keithley428::add_dynamic_attributes()
+{
+	/*----- PROTECTED REGION ID(Keithley428::Class::add_dynamic_attributes) ENABLED START -----*/
+
+	//	Add your own code to create and add dynamic attributes if any
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::add_dynamic_attributes
+
+}
+
+
+
+//========================================================
+//	Command execution methods
+//========================================================
+
+//--------------------------------------------------------
+/**
+ *	Execute the PerformZeroCorrect command:
+ *	Description: Perform Zero correction.
+ *
+ *	@param argin 
+ *	@returns 
+ */
+//--------------------------------------------------------
+void Keithley428::perform_zero_correct()
+{
+	DEBUG_STREAM << "Keithley428::PerformZeroCorrect()  - " << device_name << endl;
+	/*----- PROTECTED REGION ID(Keithley428::perform_zero_correct) ENABLED START -----*/
+
+	//	Add your own code
+	DeviceData din;
+
+    sprintf(tmp_buffer,"C2X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::perform_zero_correct
+
+}
+
+//--------------------------------------------------------
+/**
+ *	Execute the FilterOn command:
+ *	Description: Turn the filter ON
+ *
+ *	@param argin 
+ *	@returns 
+ */
+//--------------------------------------------------------
+void Keithley428::filter_on()
+{
+	DEBUG_STREAM << "Keithley428::FilterOn()  - " << device_name << endl;
+	/*----- PROTECTED REGION ID(Keithley428::filter_on) ENABLED START -----*/
+
+	//	Add your own code
+	DeviceData din;
+
+    sprintf(tmp_buffer,"P1X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::filter_on
+
+}
+
+//--------------------------------------------------------
+/**
+ *	Execute the FilterOff command:
+ *	Description: Turn the filter OFF
+ *
+ *	@param argin 
+ *	@returns 
+ */
+//--------------------------------------------------------
+void Keithley428::filter_off()
+{
+	DEBUG_STREAM << "Keithley428::FilterOff()  - " << device_name << endl;
+	/*----- PROTECTED REGION ID(Keithley428::filter_off) ENABLED START -----*/
+
+	//	Add your own code
+	DeviceData din;
+
+    sprintf(tmp_buffer,"P0X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::filter_off
+
+}
+
+//--------------------------------------------------------
+/**
+ *	Execute the AutoFilterOn command:
+ *	Description: Enable Auto Filter
+ *
+ *	@param argin 
+ *	@returns 
+ */
+//--------------------------------------------------------
+void Keithley428::auto_filter_on()
+{
+	DEBUG_STREAM << "Keithley428::AutoFilterOn()  - " << device_name << endl;
+	/*----- PROTECTED REGION ID(Keithley428::auto_filter_on) ENABLED START -----*/
+
+	//	Add your own code
+	//- read the current filterState
+	Tango::Attribute &filterState = dev_attr->get_attr_by_name("filterState");
+	this->read_filterState(filterState);
+
+    string filter_state = *attr_filterState_read;
+
+    if(filter_state == "ON")
+    {
+        Tango::Except::throw_exception(
+				(const char *)"OPERATION_NOT_ALLOWED",
+				(const char *)"Auto filter ON is not allowed when filter is already ON",
+				(const char *)"Keithley428::auto_filter_on");
+    }
+
+    DeviceData din;
+
+    sprintf(tmp_buffer,"Z1X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::auto_filter_on
+
+}
+
+//--------------------------------------------------------
+/**
+ *	Execute the AutoFilterOff command:
+ *	Description: Disable Auto Filter
+ *
+ *	@param argin 
+ *	@returns 
+ */
+//--------------------------------------------------------
+void Keithley428::auto_filter_off()
+{
+	DEBUG_STREAM << "Keithley428::AutoFilterOff()  - " << device_name << endl;
+	/*----- PROTECTED REGION ID(Keithley428::auto_filter_off) ENABLED START -----*/
+
+	//	Add your own code
+	DeviceData din;
+
+    sprintf(tmp_buffer,"Z0X");
+    strcpy(buffer,tmp_buffer);
+    din << buffer;
+
+    gpib_device->command_inout(m_write.c_str(),din);
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::auto_filter_off
+
+}
+
+
+	/*----- PROTECTED REGION ID(Keithley428::namespace_ending) ENABLED START -----*/
+
+	//	Additional Methods
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::namespace_ending
+} //	namespace
diff --git a/Keithley428.h b/Keithley428.h
index 5b125d855207c7bb108d2a137e5796bf38e797bd..ea23c00bb3b41df21e0f5ca9efd5b3e2e99c65ea 100644
--- a/Keithley428.h
+++ b/Keithley428.h
@@ -1,327 +1,324 @@
-//=============================================================================
-//
-// file :        Keithley428.h
-//
-// description : Include for the Keithley428 class.
-//
-// project :	Keithley428 Current Amplifier
-//
-// $Author:  $
-//
-// $Revision:  $
-// $Date:  $
-//
-// SVN only:
-// $HeadURL: $
-//
-// CVS only:
-// $Source:  $
-// $Log:  $
-//
-// copyleft :    European Synchrotron Radiation Facility
-//               BP 220, Grenoble 38043
-//               FRANCE
-//
-//=============================================================================
-//
-//  		This file is generated by POGO
-//	(Program Obviously used to Generate tango Object)
-//
-//         (c) - Software Engineering Group - ESRF
-//=============================================================================
-#ifndef _KEITHLEY428_H
-#define _KEITHLEY428_H
-
-#include <tango.h>
-using namespace Tango;
-
-/**
- * @author	$Author:  $
- * @version	$Revision:  $
- */
-
- //	Add your own constant definitions here.
- //-----------------------------------------------
-
-#define MAX_STRING_LENGTH	 	256
-
-
-namespace Keithley428_ns
-{
-
-/**
- * Class Description:
- * Class for controlling the Keithley428 current amplifier.
- */
-
-/*
- *	Device States Description:
-*  Tango::ON :
-*  Tango::FAULT :
- */
-
-
-class Keithley428: public Tango::Device_4Impl
-{
-public :
-	//	Add your own data members here
-	//-----------------------------------------
-
-
-	//	Here is the Start of the automatic code generation part
-	//-------------------------------------------------------------	
-/**
- *	@name attributes
- *	Attribute member data.
- */
-//@{
-		Tango::DevLong	*attr_Gain_read;
-		Tango::DevLong	attr_Gain_write;
-		Tango::DevString	*attr_GainStr_read;
-		Tango::DevLong	*attr_Overloaded_read;
-		Tango::DevLong	*attr_Bypass_read;
-		Tango::DevLong	attr_Bypass_write;
-		Tango::DevString	*attr_filterState_read;
-		Tango::DevString	*attr_autoFilterState_read;
-		Tango::DevLong	*attr_RiseTime_read;
-		Tango::DevLong	attr_RiseTime_write;
-		Tango::DevString	*attr_RiseTimeStr_read;
-//@}
-
-/**
- * @name Device properties
- * Device properties member data.
- */
-//@{
-/**
- *	Name of the gpib device connected to the hardware.
- */
-	string	gpibDevice;
-/**
- *	Type of the Gpib device used to communicate with the Keithley.
- *	this can be:
- *	1 -> Desy GpibDevice (default value)
- *	2 -> Soleil GpibDeviceServer
- */
-	Tango::DevUShort	gpibDeviceType;
-//@}
-
-/**
- *	@name Device properties
- *	Device property member data.
- */
-//@{
-//@}
-
-/**@name Constructors
- * Miscellaneous constructors */
-//@{
-/**
- * Constructs a newly allocated Command object.
- *
- *	@param cl	Class.
- *	@param s 	Device Name
- */
-	Keithley428(Tango::DeviceClass *cl,string &s);
-/**
- * Constructs a newly allocated Command object.
- *
- *	@param cl	Class.
- *	@param s 	Device Name
- */
-	Keithley428(Tango::DeviceClass *cl,const char *s);
-/**
- * Constructs a newly allocated Command object.
- *
- *	@param cl	Class.
- *	@param s 	Device name
- *	@param d	Device description.
- */
-	Keithley428(Tango::DeviceClass *cl,const char *s,const char *d);
-//@}
-
-/**@name Destructor
- * Only one destructor is defined for this class */
-//@{
-/**
- * The object destructor.
- */	
-	~Keithley428() {delete_device();};
-/**
- *	will be called at device destruction or at init command.
- */
-	void delete_device();
-//@}
-
-	
-/**@name Miscellaneous methods */
-//@{
-/**
- *	Initialize the device
- */
-	virtual void init_device();
-/**
- *	Always executed method before execution command method.
- */
-	virtual void always_executed_hook();
-
-//@}
-
-/**
- * @name Keithley428 methods prototypes
- */
-
-//@{
-/**
- *	Hardware acquisition for attributes.
- */
-	virtual void read_attr_hardware(vector<long> &attr_list);
-/**
- *	Extract real attribute values for Gain acquisition result.
- */
-	virtual void read_Gain(Tango::Attribute &attr);
-/**
- *	Write Gain attribute values to hardware.
- */
-	virtual void write_Gain(Tango::WAttribute &attr);
-/**
- *	Extract real attribute values for GainStr acquisition result.
- */
-	virtual void read_GainStr(Tango::Attribute &attr);
-/**
- *	Extract real attribute values for Overloaded acquisition result.
- */
-	virtual void read_Overloaded(Tango::Attribute &attr);
-/**
- *	Extract real attribute values for Bypass acquisition result.
- */
-	virtual void read_Bypass(Tango::Attribute &attr);
-/**
- *	Write Bypass attribute values to hardware.
- */
-	virtual void write_Bypass(Tango::WAttribute &attr);
-/**
- *	Extract real attribute values for filterState acquisition result.
- */
-	virtual void read_filterState(Tango::Attribute &attr);
-/**
- *	Extract real attribute values for autoFilterState acquisition result.
- */
-	virtual void read_autoFilterState(Tango::Attribute &attr);
-/**
- *	Extract real attribute values for RiseTime acquisition result.
- */
-	virtual void read_RiseTime(Tango::Attribute &attr);
-/**
- *	Write RiseTime attribute values to hardware.
- */
-	virtual void write_RiseTime(Tango::WAttribute &attr);
-/**
- *	Extract real attribute values for RiseTimeStr acquisition result.
- */
-	virtual void read_RiseTimeStr(Tango::Attribute &attr);
-/**
- *	Read/Write allowed for Gain attribute.
- */
-	virtual bool is_Gain_allowed(Tango::AttReqType type);
-/**
- *	Read/Write allowed for GainStr attribute.
- */
-	virtual bool is_GainStr_allowed(Tango::AttReqType type);
-/**
- *	Read/Write allowed for Overloaded attribute.
- */
-	virtual bool is_Overloaded_allowed(Tango::AttReqType type);
-/**
- *	Read/Write allowed for Bypass attribute.
- */
-	virtual bool is_Bypass_allowed(Tango::AttReqType type);
-/**
- *	Read/Write allowed for filterState attribute.
- */
-	virtual bool is_filterState_allowed(Tango::AttReqType type);
-/**
- *	Read/Write allowed for autoFilterState attribute.
- */
-	virtual bool is_autoFilterState_allowed(Tango::AttReqType type);
-/**
- *	Read/Write allowed for RiseTime attribute.
- */
-	virtual bool is_RiseTime_allowed(Tango::AttReqType type);
-/**
- *	Read/Write allowed for RiseTimeStr attribute.
- */
-	virtual bool is_RiseTimeStr_allowed(Tango::AttReqType type);
-/**
- *	Execution allowed for PerformZeroCorrect command.
- */
-	virtual bool is_PerformZeroCorrect_allowed(const CORBA::Any &any);
-/**
- *	Execution allowed for FilterOn command.
- */
-	virtual bool is_FilterOn_allowed(const CORBA::Any &any);
-/**
- *	Execution allowed for FilterOff command.
- */
-	virtual bool is_FilterOff_allowed(const CORBA::Any &any);
-/**
- *	Execution allowed for AutoFilterOn command.
- */
-	virtual bool is_AutoFilterOn_allowed(const CORBA::Any &any);
-/**
- *	Execution allowed for AutoFilterOff command.
- */
-	virtual bool is_AutoFilterOff_allowed(const CORBA::Any &any);
-/**
- * Perform Zero correction.
- *	@exception DevFailed
- */
-	void	perform_zero_correct();
-/**
- * Turn the filter ON
- *	@exception DevFailed
- */
-	void	filter_on();
-/**
- * Turn the filter OFF
- *	@exception DevFailed
- */
-	void	filter_off();
-/**
- * Enable Auto Filter
- *	@exception DevFailed
- */
-	void	auto_filter_on();
-/**
- * Disable Auto Filter
- *	@exception DevFailed
- */
-	void	auto_filter_off();
-
-/**
- *	Read the device properties from database
- */
-	 void get_device_property();
-//@}
-
-	//	Here is the end of the automatic code generation part
-	//-------------------------------------------------------------	
-
-
-
-protected :	
-	//	Add your own data members here
-	//-----------------------------------------
-
-	 DeviceProxy *gpib_device;
-
-	 DevString  buffer;
-	 char tmp_buffer[180];
-
-     std::string m_write_read;
-     std::string m_write;
-};
-
-}	// namespace_ns
-
-#endif	// _KEITHLEY428_H
+/*----- PROTECTED REGION ID(Keithley428.h) ENABLED START -----*/
+//=============================================================================
+//
+// file :        Keithley428.h
+//
+// description : Include for the Keithley428 class.
+//
+// project :     Keithley428 Current Amplifier.
+//
+// $Author:  $
+//
+// $Revision:  $
+// $Date:  $
+//
+// SVN only:
+// $HeadURL:  $
+//
+// CVS only:
+// $Source:  $
+// $Log:  $
+//
+//=============================================================================
+//                This file is generated by POGO
+//        (Program Obviously used to Generate tango Object)
+//=============================================================================
+
+
+#ifndef KEITHLEY428_H
+#define KEITHLEY428_H
+
+
+#include <tango.h>
+using namespace Tango;
+
+
+
+#define MAX_STRING_LENGTH	 	256
+
+
+
+/*----- PROTECTED REGION END -----*/
+
+
+/**
+ *	Keithley428 class Description:
+ *	Class for controlling the Keithley428 current amplifier.
+ */
+
+namespace Keithley428_ns
+{
+	/*----- PROTECTED REGION ID(Keithley428::Additional Class Declarations) ENABLED START -----*/
+
+		//		Additional Class Declarations
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Additional Class Declarations
+
+
+class Keithley428 : public Tango::Device_4Impl
+{
+
+
+	/*----- PROTECTED REGION ID(Keithley428::Data Members) ENABLED START -----*/
+
+	//		Add your own data members
+public:
+
+
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Data Members
+
+
+//	Device property data members
+public:		//	GpibDevice:	Name of the gpib device connected to the hardware.
+	string	gpibDevice;
+	//	GpibDeviceType:	Type of the Gpib device used to communicate with the Keithley.
+	//	this can be:
+	//	1 -> Desy GpibDevice (default value)
+	//	2 -> Soleil GpibDeviceServer
+	Tango::DevUShort	gpibDeviceType;
+	
+	Tango::DevLong	attr_Gain_write;
+	Tango::DevLong	attr_Bypass_write;
+	Tango::DevLong	attr_RiseTime_write;
+
+//	Attribute data members
+public:
+	Tango::DevLong	*attr_Gain_read;
+	Tango::DevString	*attr_GainStr_read;
+	Tango::DevLong	*attr_Overloaded_read;
+	Tango::DevLong	*attr_Bypass_read;
+	Tango::DevString	*attr_filterState_read;
+	Tango::DevString	*attr_autoFilterState_read;
+	Tango::DevLong	*attr_RiseTime_read;
+	Tango::DevString	*attr_RiseTimeStr_read;
+
+
+
+//	Constructors and destructors
+public:
+	/**
+	 * Constructs a newly allocated Command object.
+	 *
+	 *	@param cl	Class.
+	 *	@param s 	Device Name
+	 */
+	Keithley428(Tango::DeviceClass *cl,string &s);
+	/**
+	 * Constructs a newly allocated Command object.
+	 *
+	 *	@param cl	Class.
+	 *	@param s 	Device Name
+	 */
+	Keithley428(Tango::DeviceClass *cl,const char *s);
+	/**
+	 * Constructs a newly allocated Command object.
+	 *
+	 *	@param cl	Class.
+	 *	@param s 	Device name
+	 *	@param d	Device description.
+	 */
+	Keithley428(Tango::DeviceClass *cl,const char *s,const char *d);
+	/**
+	 * The object destructor.
+	 */	
+	~Keithley428() {delete_device();};
+
+
+
+//	Miscellaneous methods
+public:
+	/**
+	 *	will be called at device destruction or at init command.
+	 */
+	void delete_device();
+	/**
+	 *	Initialize the device
+	 */
+	virtual void init_device();
+	/**
+	 *	Read the device properties from database
+	 */
+	 void get_device_property();
+	/**
+	 *	Always executed method before execution command method.
+	 */
+	virtual void always_executed_hook();
+
+
+//	Attribute methods
+public:
+	/**
+	 *	Method      : Keithley428::read_attr_hardware()
+	 *	Description : Hardware acquisition for attributes.
+	 */
+	virtual void read_attr_hardware(vector<long> &attr_list);
+
+
+	/**
+	 *	Gain attribute related methods.
+	 *	Description: 0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A
+	 *
+	 *	Data type:	Tango::DevLong
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_Gain(Tango::Attribute &attr);
+	virtual void write_Gain(Tango::WAttribute &attr);
+	virtual bool is_Gain_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	GainStr attribute related methods.
+	 *	Description: 
+	 *
+	 *	Data type:	Tango::DevString
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_GainStr(Tango::Attribute &attr);
+	virtual bool is_GainStr_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	Overloaded attribute related methods.
+	 *	Description: 1 if device is overloaded
+	 *
+	 *	Data type:	Tango::DevLong
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_Overloaded(Tango::Attribute &attr);
+	virtual bool is_Overloaded_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	Bypass attribute related methods.
+	 *	Description: 0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.
+	 *
+	 *	Data type:	Tango::DevLong
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_Bypass(Tango::Attribute &attr);
+	virtual void write_Bypass(Tango::WAttribute &attr);
+	virtual bool is_Bypass_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	filterState attribute related methods.
+	 *	Description: State of the manual filter
+	 *
+	 *	Data type:	Tango::DevString
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_filterState(Tango::Attribute &attr);
+	virtual bool is_filterState_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	autoFilterState attribute related methods.
+	 *	Description: State of the auto Filter
+	 *
+	 *	Data type:	Tango::DevString
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_autoFilterState(Tango::Attribute &attr);
+	virtual bool is_autoFilterState_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	RiseTime attribute related methods.
+	 *	Description: 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n
+	 *
+	 *	Data type:	Tango::DevLong
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_RiseTime(Tango::Attribute &attr);
+	virtual void write_RiseTime(Tango::WAttribute &attr);
+	virtual bool is_RiseTime_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	RiseTimeStr attribute related methods.
+	 *	Description: 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n
+	 *
+	 *	Data type:	Tango::DevString
+	 *	Attr type:	Scalar 
+	 */
+	virtual void read_RiseTimeStr(Tango::Attribute &attr);
+	virtual bool is_RiseTimeStr_allowed(Tango::AttReqType type);
+
+
+
+	/**
+	 *	Method      : Keithley428::add_dynamic_attributes()
+	 *	Description : Add dynamic attributes if any.
+	 */
+		void add_dynamic_attributes();
+
+//	Command related methods
+public: 
+
+
+	/**
+	 *	Command PerformZeroCorrect related methods.
+	 */
+	void perform_zero_correct();
+	virtual bool is_PerformZeroCorrect_allowed(const CORBA::Any &any);
+
+	/**
+	 *	Command FilterOn related methods.
+	 */
+	void filter_on();
+	virtual bool is_FilterOn_allowed(const CORBA::Any &any);
+
+	/**
+	 *	Command FilterOff related methods.
+	 */
+	void filter_off();
+	virtual bool is_FilterOff_allowed(const CORBA::Any &any);
+
+	/**
+	 *	Command AutoFilterOn related methods.
+	 */
+	void auto_filter_on();
+	virtual bool is_AutoFilterOn_allowed(const CORBA::Any &any);
+
+	/**
+	 *	Command AutoFilterOff related methods.
+	 */
+	void auto_filter_off();
+	virtual bool is_AutoFilterOff_allowed(const CORBA::Any &any);
+
+
+
+	/*----- PROTECTED REGION ID(Keithley428::Additional Method prototypes) ENABLED START -----*/
+
+	//	Additional Method prototypes
+protected :	
+
+	 DeviceProxy *gpib_device;
+
+	 DevString  buffer;
+	 char tmp_buffer[180];
+
+     std::string m_write_read;
+     std::string m_write;
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Additional Method prototypes
+
+};
+
+	/*----- PROTECTED REGION ID(Keithley428::Additional Classes Definitions) ENABLED START -----*/
+
+	//	Additional Classes definitions
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Additional Classes Definitions
+
+} //	namespace
+
+#endif	//	KEITHLEY428_H
diff --git a/Keithley428.xmi b/Keithley428.xmi
new file mode 100644
index 0000000000000000000000000000000000000000..6b1da4d525c2f899d3d8ea4a5bf340200cdf9f5a
--- /dev/null
+++ b/Keithley428.xmi
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
+  <classes name="Keithley428">
+    <description description="Class for controlling the Keithley428 current amplifier." title="Keithley428 Current Amplifier" sourcePath="/home/tnunez/Tango_svn/DeviceClasses/MeasureInstruments/Keithley/Keithley428/trunk" language="Cpp" filestogenerate="XMI   file,Code files,Makefile,html Pages" hasAbstractCommand="false" hasAbstractAttribute="false">
+      <inheritances classname="Device_4Impl" sourcePath=""/>
+      <identification contact="at mail.desy.de - tnunez" author="tnunez" emailDomain="mail.desy.de" classFamily="Instrumentation" siteSpecific="" platform="Unix Like" bus="GPIB" manufacturer="Keithley" reference="428"/>
+      <comments commandsTable="//================================================================&#xA;//&#xA;//  The following table gives the correspondence&#xA;//  between command and method names.&#xA;//&#xA;//  Command name        |  Method name&#xA;//----------------------------------------------------------------&#xA;//  State               |  Inherited (no method)&#xA;//  Status              |  Inherited (no method)&#xA;//  PerformZeroCorrect  |  perform_zero_correct&#xA;//  FilterOn            |  filter_on&#xA;//  FilterOff           |  filter_off&#xA;//  AutoFilterOn        |  auto_filter_on&#xA;//  AutoFilterOff       |  auto_filter_off&#xA;//================================================================"/>
+    </description>
+    <deviceProperties name="GpibDevice" description="Name of the gpib device connected to the hardware.">
+      <type xsi:type="pogoDsl:StringType"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+    </deviceProperties>
+    <deviceProperties name="GpibDeviceType" description="Type of the Gpib device used to communicate with the Keithley.&#xA;this can be:&#xA;1 -> Desy GpibDevice (default value)&#xA;2 -> Soleil GpibDeviceServer">
+      <type xsi:type="pogoDsl:UShortType"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <DefaultPropValue>1</DefaultPropValue>
+    </deviceProperties>
+    <commands name="State" description="This command gets the device state (stored in its &lt;i>device_state&lt;/i> data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR">
+      <argin description="none.">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="State Code">
+        <type xsi:type="pogoDsl:StateType"/>
+      </argout>
+      <status abstract="true" inherited="true" concrete="true" concreteHere="false"/>
+    </commands>
+    <commands name="Status" description="This command gets the device status (stored in its &lt;i>device_status&lt;/i> data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR">
+      <argin description="none.">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="Status description">
+        <type xsi:type="pogoDsl:ConstStringType"/>
+      </argout>
+      <status abstract="true" inherited="true" concrete="true" concreteHere="false"/>
+    </commands>
+    <commands name="PerformZeroCorrect" description="Perform Zero correction." execMethod="perform_zero_correct" displayLevel="OPERATOR">
+      <argin description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argout>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+    </commands>
+    <commands name="FilterOn" description="Turn the filter ON" execMethod="filter_on" displayLevel="OPERATOR">
+      <argin description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argout>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <excludedStates>FAULT</excludedStates>
+    </commands>
+    <commands name="FilterOff" description="Turn the filter OFF" execMethod="filter_off" displayLevel="OPERATOR">
+      <argin description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argout>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <excludedStates>FAULT</excludedStates>
+    </commands>
+    <commands name="AutoFilterOn" description="Enable Auto Filter" execMethod="auto_filter_on" displayLevel="OPERATOR">
+      <argin description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argout>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <excludedStates>FAULT</excludedStates>
+    </commands>
+    <commands name="AutoFilterOff" description="Disable Auto Filter" execMethod="auto_filter_off" displayLevel="OPERATOR">
+      <argin description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argout>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <excludedStates>FAULT</excludedStates>
+    </commands>
+    <attributes name="Gain" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0" memorized="true" memorizedAtInit="true">
+      <dataType xsi:type="pogoDsl:IntType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A" label="" unit=" " standardUnit="" displayUnit="" format="%d" maxValue="11" minValue="0" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+      <readExcludedStates>FAULT</readExcludedStates>
+    </attributes>
+    <attributes name="GainStr" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0">
+      <dataType xsi:type="pogoDsl:StringType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+      <readExcludedStates>FAULT</readExcludedStates>
+    </attributes>
+    <attributes name="Overloaded" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0">
+      <dataType xsi:type="pogoDsl:IntType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="1 if device is overloaded" label="" unit=" " standardUnit="" displayUnit="" format="%d" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+      <readExcludedStates>FAULT</readExcludedStates>
+    </attributes>
+    <attributes name="Bypass" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0">
+      <dataType xsi:type="pogoDsl:IntType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected." label="" unit=" " standardUnit="" displayUnit="" format="%d" maxValue="2" minValue="0" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+    </attributes>
+    <attributes name="filterState" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0">
+      <dataType xsi:type="pogoDsl:StringType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="State of the manual filter" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+      <readExcludedStates>FAULT</readExcludedStates>
+    </attributes>
+    <attributes name="autoFilterState" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0">
+      <dataType xsi:type="pogoDsl:StringType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="State of the auto Filter" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+      <readExcludedStates>FAULT</readExcludedStates>
+    </attributes>
+    <attributes name="RiseTime" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0" memorized="true" memorizedAtInit="true">
+      <dataType xsi:type="pogoDsl:IntType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n" label="" unit=" " standardUnit="" displayUnit="" format="%d" maxValue="9" minValue="0" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+      <readExcludedStates>FAULT</readExcludedStates>
+    </attributes>
+    <attributes name="RiseTimeStr" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="0" maxY="0">
+      <dataType xsi:type="pogoDsl:StringType"/>
+      <changeEvent fire="false" libCheckCriteria="false"/>
+      <archiveEvent fire="false" libCheckCriteria="false"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n" label="" unit=" " standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
+      <readExcludedStates>FAULT</readExcludedStates>
+    </attributes>
+    <states name="ON" description="">
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+    </states>
+    <states name="FAULT" description="">
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+    </states>
+    <preferences docHome="./doc_html" makefileHome="/usr/share/pogo/preferences"/>
+  </classes>
+</pogoDsl:PogoSystem>
diff --git a/Keithley428Class.cpp b/Keithley428Class.cpp
index c565584133d338a6cecb9d87ac5995a7d27be9d2..8a16150dec0767829ccf584c36e958faf0bf7b23 100644
--- a/Keithley428Class.cpp
+++ b/Keithley428Class.cpp
@@ -1,679 +1,956 @@
-static const char *ClassId    = "$Id:  $";
-static const char *TagName    = "$Name:  $";
-static const char *CvsPath    = "$Source:  $";
-static const char *SvnPath    = "$HeadURL: $";
-static const char *HttpServer = "http://www.esrf.fr/computing/cs/tango/tango_doc/ds_doc/";
-//+=============================================================================
-//
-// file :        Keithley428Class.cpp
-//
-// description : C++ source for the Keithley428Class. A singleton
-//               class derived from DeviceClass. It implements the
-//               command list and all properties and methods required
-//               by the Keithley428 once per process.
-//
-// project :     TANGO Device Server
-//
-// $Author:  $
-//
-// $Revision:  $
-//
-// $Log:  $
-//
-// copyleft :   European Synchrotron Radiation Facility
-//              BP 220, Grenoble 38043
-//              FRANCE
-//
-//-=============================================================================
-//
-//  		This file is generated by POGO
-//	(Program Obviously used to Generate tango Object)
-//
-//         (c) - Software Engineering Group - ESRF
-//=============================================================================
-
-
-#include <tango.h>
-
-#include <Keithley428.h>
-#include <Keithley428Class.h>
-
-
-//+----------------------------------------------------------------------------
-/**
- *	Create Keithley428Class singleton and return it in a C function for Python usage
- */
-//+----------------------------------------------------------------------------
-extern "C" {
-#ifdef WIN32
-
-__declspec(dllexport)
-
-#endif
-
-	Tango::DeviceClass *_create_Keithley428_class(const char *name) {
-		return Keithley428_ns::Keithley428Class::init(name);
-	}
-}
-
-
-namespace Keithley428_ns
-{
-//+----------------------------------------------------------------------------
-//
-// method : 		AutoFilterOffClass::execute()
-// 
-// description : 	method to trigger the execution of the command.
-//                PLEASE DO NOT MODIFY this method core without pogo   
-//
-// in : - device : The device on which the command must be executed
-//		- in_any : The command input data
-//
-// returns : The command output data (packed in the Any object)
-//
-//-----------------------------------------------------------------------------
-CORBA::Any *AutoFilterOffClass::execute(Tango::DeviceImpl *device,const CORBA::Any &in_any)
-{
-
-	cout2 << "AutoFilterOffClass::execute(): arrived" << endl;
-
-	((static_cast<Keithley428 *>(device))->auto_filter_off());
-	return new CORBA::Any();
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		AutoFilterOnClass::execute()
-// 
-// description : 	method to trigger the execution of the command.
-//                PLEASE DO NOT MODIFY this method core without pogo   
-//
-// in : - device : The device on which the command must be executed
-//		- in_any : The command input data
-//
-// returns : The command output data (packed in the Any object)
-//
-//-----------------------------------------------------------------------------
-CORBA::Any *AutoFilterOnClass::execute(Tango::DeviceImpl *device,const CORBA::Any &in_any)
-{
-
-	cout2 << "AutoFilterOnClass::execute(): arrived" << endl;
-
-	((static_cast<Keithley428 *>(device))->auto_filter_on());
-	return new CORBA::Any();
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		FilterOffCmd::execute()
-// 
-// description : 	method to trigger the execution of the command.
-//                PLEASE DO NOT MODIFY this method core without pogo   
-//
-// in : - device : The device on which the command must be executed
-//		- in_any : The command input data
-//
-// returns : The command output data (packed in the Any object)
-//
-//-----------------------------------------------------------------------------
-CORBA::Any *FilterOffCmd::execute(Tango::DeviceImpl *device,const CORBA::Any &in_any)
-{
-
-	cout2 << "FilterOffCmd::execute(): arrived" << endl;
-
-	((static_cast<Keithley428 *>(device))->filter_off());
-	return new CORBA::Any();
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		FilterOnCmd::execute()
-// 
-// description : 	method to trigger the execution of the command.
-//                PLEASE DO NOT MODIFY this method core without pogo   
-//
-// in : - device : The device on which the command must be executed
-//		- in_any : The command input data
-//
-// returns : The command output data (packed in the Any object)
-//
-//-----------------------------------------------------------------------------
-CORBA::Any *FilterOnCmd::execute(Tango::DeviceImpl *device,const CORBA::Any &in_any)
-{
-
-	cout2 << "FilterOnCmd::execute(): arrived" << endl;
-
-	((static_cast<Keithley428 *>(device))->filter_on());
-	return new CORBA::Any();
-}
-
-
-//+----------------------------------------------------------------------------
-//
-// method : 		PerformZeroCorrectClass::execute()
-// 
-// description : 	method to trigger the execution of the command.
-//                PLEASE DO NOT MODIFY this method core without pogo   
-//
-// in : - device : The device on which the command must be executed
-//		- in_any : The command input data
-//
-// returns : The command output data (packed in the Any object)
-//
-//-----------------------------------------------------------------------------
-CORBA::Any *PerformZeroCorrectClass::execute(Tango::DeviceImpl *device,const CORBA::Any &in_any)
-{
-
-	cout2 << "PerformZeroCorrectClass::execute(): arrived" << endl;
-
-	((static_cast<Keithley428 *>(device))->perform_zero_correct());
-	return new CORBA::Any();
-}
-
-
-
-//
-//----------------------------------------------------------------
-//	Initialize pointer for singleton pattern
-//----------------------------------------------------------------
-//
-Keithley428Class *Keithley428Class::_instance = NULL;
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::Keithley428Class(string &s)
-// 
-// description : 	constructor for the Keithley428Class
-//
-// in : - s : The class name
-//
-//-----------------------------------------------------------------------------
-Keithley428Class::Keithley428Class(string &s):DeviceClass(s)
-{
-
-	cout2 << "Entering Keithley428Class constructor" << endl;
-	set_default_property();
-	get_class_property();
-	write_class_property();
-	
-	cout2 << "Leaving Keithley428Class constructor" << endl;
-
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::~Keithley428Class()
-// 
-// description : 	destructor for the Keithley428Class
-//
-//-----------------------------------------------------------------------------
-Keithley428Class::~Keithley428Class()
-{
-	_instance = NULL;
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::instance
-// 
-// description : 	Create the object if not already done. Otherwise, just
-//			return a pointer to the object
-//
-// in : - name : The class name
-//
-//-----------------------------------------------------------------------------
-Keithley428Class *Keithley428Class::init(const char *name)
-{
-	if (_instance == NULL)
-	{
-		try
-		{
-			string s(name);
-			_instance = new Keithley428Class(s);
-		}
-		catch (bad_alloc)
-		{
-			throw;
-		}		
-	}		
-	return _instance;
-}
-
-Keithley428Class *Keithley428Class::instance()
-{
-	if (_instance == NULL)
-	{
-		cerr << "Class is not initialised !!" << endl;
-		exit(-1);
-	}
-	return _instance;
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::command_factory
-// 
-// description : 	Create the command object(s) and store them in the 
-//			command list
-//
-//-----------------------------------------------------------------------------
-void Keithley428Class::command_factory()
-{
-	command_list.push_back(new PerformZeroCorrectClass("PerformZeroCorrect",
-		Tango::DEV_VOID, Tango::DEV_VOID,
-		"",
-		"",
-		Tango::OPERATOR));
-	command_list.push_back(new FilterOnCmd("FilterOn",
-		Tango::DEV_VOID, Tango::DEV_VOID,
-		"",
-		"",
-		Tango::OPERATOR));
-	command_list.push_back(new FilterOffCmd("FilterOff",
-		Tango::DEV_VOID, Tango::DEV_VOID,
-		"",
-		"",
-		Tango::OPERATOR));
-	command_list.push_back(new AutoFilterOnClass("AutoFilterOn",
-		Tango::DEV_VOID, Tango::DEV_VOID,
-		"",
-		"",
-		Tango::OPERATOR));
-	command_list.push_back(new AutoFilterOffClass("AutoFilterOff",
-		Tango::DEV_VOID, Tango::DEV_VOID,
-		"",
-		"",
-		Tango::OPERATOR));
-
-	//	add polling if any
-	for (unsigned int i=0 ; i<command_list.size(); i++)
-	{
-	}
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::get_class_property
-// 
-// description : 	Get the class property for specified name.
-//
-// in :		string	name : The property name
-//
-//+----------------------------------------------------------------------------
-Tango::DbDatum Keithley428Class::get_class_property(string &prop_name)
-{
-	for (unsigned int i=0 ; i<cl_prop.size() ; i++)
-		if (cl_prop[i].name == prop_name)
-			return cl_prop[i];
-	//	if not found, return  an empty DbDatum
-	return Tango::DbDatum(prop_name);
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::get_default_device_property()
-// 
-// description : 	Return the default value for device property.
-//
-//-----------------------------------------------------------------------------
-Tango::DbDatum Keithley428Class::get_default_device_property(string &prop_name)
-{
-	for (unsigned int i=0 ; i<dev_def_prop.size() ; i++)
-		if (dev_def_prop[i].name == prop_name)
-			return dev_def_prop[i];
-	//	if not found, return  an empty DbDatum
-	return Tango::DbDatum(prop_name);
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::get_default_class_property()
-// 
-// description : 	Return the default value for class property.
-//
-//-----------------------------------------------------------------------------
-Tango::DbDatum Keithley428Class::get_default_class_property(string &prop_name)
-{
-	for (unsigned int i=0 ; i<cl_def_prop.size() ; i++)
-		if (cl_def_prop[i].name == prop_name)
-			return cl_def_prop[i];
-	//	if not found, return  an empty DbDatum
-	return Tango::DbDatum(prop_name);
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::device_factory
-// 
-// description : 	Create the device object(s) and store them in the 
-//			device list
-//
-// in :		Tango::DevVarStringArray *devlist_ptr : The device name list
-//
-//-----------------------------------------------------------------------------
-void Keithley428Class::device_factory(const Tango::DevVarStringArray *devlist_ptr)
-{
-
-	//	Create all devices.(Automatic code generation)
-	//-------------------------------------------------------------
-	for (unsigned long i=0 ; i < devlist_ptr->length() ; i++)
-	{
-		cout4 << "Device name : " << (*devlist_ptr)[i].in() << endl;
-						
-		// Create devices and add it into the device list
-		//----------------------------------------------------
-		device_list.push_back(new Keithley428(this, (*devlist_ptr)[i]));							 
-
-		// Export device to the outside world
-		// Check before if database used.
-		//---------------------------------------------
-		if ((Tango::Util::_UseDb == true) && (Tango::Util::_FileDb == false))
-			export_device(device_list.back());
-		else
-			export_device(device_list.back(), (*devlist_ptr)[i]);
-	}
-	//	End of Automatic code generation
-	//-------------------------------------------------------------
-
-}
-//+----------------------------------------------------------------------------
-//	Method: Keithley428Class::attribute_factory(vector<Tango::Attr *> &att_list)
-//-----------------------------------------------------------------------------
-void Keithley428Class::attribute_factory(vector<Tango::Attr *> &att_list)
-{
-	//	Attribute : Gain
-	GainAttrib	*gain = new GainAttrib();
-	Tango::UserDefaultAttrProp	gain_prop;
-	gain_prop.set_unit(" ");
-	gain_prop.set_format("%d");
-	gain_prop.set_max_value("11");
-	gain_prop.set_min_value("0");
-	gain_prop.set_description("0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A");
-	gain->set_default_properties(gain_prop);
-	gain->set_memorized();
-	gain->set_memorized_init(true);
-	att_list.push_back(gain);
-
-	//	Attribute : GainStr
-	GainStrAttrib	*gain_str = new GainStrAttrib();
-	att_list.push_back(gain_str);
-
-	//	Attribute : Overloaded
-	OverloadedAttrib	*overloaded = new OverloadedAttrib();
-	Tango::UserDefaultAttrProp	overloaded_prop;
-	overloaded_prop.set_unit(" ");
-	overloaded_prop.set_format("%d");
-	overloaded_prop.set_description("1 if device is overloaded");
-	overloaded->set_default_properties(overloaded_prop);
-	att_list.push_back(overloaded);
-
-	//	Attribute : Bypass
-	BypassAttrib	*bypass = new BypassAttrib();
-	Tango::UserDefaultAttrProp	bypass_prop;
-	bypass_prop.set_unit(" ");
-	bypass_prop.set_format("%d");
-	bypass_prop.set_max_value("2");
-	bypass_prop.set_min_value("0");
-	bypass_prop.set_description("0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.");
-	bypass->set_default_properties(bypass_prop);
-	att_list.push_back(bypass);
-
-	//	Attribute : filterState
-	filterStateAttrib	*filter_state = new filterStateAttrib();
-	Tango::UserDefaultAttrProp	filter_state_prop;
-	filter_state_prop.set_description("State of the manual filter");
-	filter_state->set_default_properties(filter_state_prop);
-	att_list.push_back(filter_state);
-
-	//	Attribute : autoFilterState
-	autoFilterStateAttrib	*auto_filter_state = new autoFilterStateAttrib();
-	Tango::UserDefaultAttrProp	auto_filter_state_prop;
-	auto_filter_state_prop.set_description("State of the auto Filter");
-	auto_filter_state->set_default_properties(auto_filter_state_prop);
-	att_list.push_back(auto_filter_state);
-
-	//	Attribute : RiseTime
-	RiseTimeAttrib	*rise_time = new RiseTimeAttrib();
-	Tango::UserDefaultAttrProp	rise_time_prop;
-	rise_time_prop.set_unit(" ");
-	rise_time_prop.set_format("%d");
-	rise_time_prop.set_max_value("9");
-	rise_time_prop.set_min_value("0");
-	rise_time_prop.set_description("0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n");
-	rise_time->set_default_properties(rise_time_prop);
-	rise_time->set_memorized();
-	rise_time->set_memorized_init(true);
-	att_list.push_back(rise_time);
-
-	//	Attribute : RiseTimeStr
-	RiseTimeStrAttrib	*rise_time_str = new RiseTimeStrAttrib();
-	Tango::UserDefaultAttrProp	rise_time_str_prop;
-	rise_time_str_prop.set_unit(" ");
-	rise_time_str_prop.set_description("0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n");
-	rise_time_str->set_default_properties(rise_time_str_prop);
-	att_list.push_back(rise_time_str);
-
-	//	End of Automatic code generation
-	//-------------------------------------------------------------
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::get_class_property()
-// 
-// description : 	Read the class properties from database.
-//
-//-----------------------------------------------------------------------------
-void Keithley428Class::get_class_property()
-{
-	//	Initialize your default values here (if not done with  POGO).
-	//------------------------------------------------------------------
-
-	//	Read class properties from database.(Automatic code generation)
-	//------------------------------------------------------------------
-
-	//	Call database and extract values
-	//--------------------------------------------
-	if (Tango::Util::instance()->_UseDb==true)
-		get_db_class()->get_property(cl_prop);
-	Tango::DbDatum	def_prop;
-	int	i = -1;
-
-
-	//	End of Automatic code generation
-	//------------------------------------------------------------------
-
-}
-
-//+----------------------------------------------------------------------------
-//
-// method : 	Keithley428Class::set_default_property
-// 
-// description: Set default property (class and device) for wizard.
-//              For each property, add to wizard property name and description
-//              If default value has been set, add it to wizard property and
-//              store it in a DbDatum.
-//
-//-----------------------------------------------------------------------------
-void Keithley428Class::set_default_property()
-{
-	string	prop_name;
-	string	prop_desc;
-	string	prop_def;
-
-	vector<string>	vect_data;
-	//	Set Default Class Properties
-	//	Set Default Device Properties
-	prop_name = "GpibDevice";
-	prop_desc = "Name of the gpib device connected to the hardware.";
-	prop_def  = "";
-	vect_data.clear();
-	if (prop_def.length()>0)
-	{
-		Tango::DbDatum	data(prop_name);
-		data << vect_data ;
-		dev_def_prop.push_back(data);
-		add_wiz_dev_prop(prop_name, prop_desc,  prop_def);
-	}
-	else
-		add_wiz_dev_prop(prop_name, prop_desc);
-
-	prop_name = "GpibDeviceType";
-	prop_desc = "Type of the Gpib device used to communicate with the Keithley.\nthis can be:\n1 -> Desy GpibDevice (default value)\n2 -> Soleil GpibDeviceServer";
-	prop_def  = "1";
-	vect_data.clear();
-	vect_data.push_back("1");
-	if (prop_def.length()>0)
-	{
-		Tango::DbDatum	data(prop_name);
-		data << vect_data ;
-		dev_def_prop.push_back(data);
-		add_wiz_dev_prop(prop_name, prop_desc,  prop_def);
-	}
-	else
-		add_wiz_dev_prop(prop_name, prop_desc);
-
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428Class::write_class_property
-// 
-// description : 	Set class description as property in database
-//
-//-----------------------------------------------------------------------------
-void Keithley428Class::write_class_property()
-{
-	//	First time, check if database used
-	//--------------------------------------------
-	if (Tango::Util::_UseDb == false)
-		return;
-
-	Tango::DbData	data;
-	string	classname = get_name();
-	string	header;
-	string::size_type	start, end;
-
-	//	Put title
-	Tango::DbDatum	title("ProjectTitle");
-	string	str_title("Keithley428 Current Amplifier");
-	title << str_title;
-	data.push_back(title);
-
-	//	Put Description
-	Tango::DbDatum	description("Description");
-	vector<string>	str_desc;
-	str_desc.push_back("Class for controlling the Keithley428 current amplifier.");
-	description << str_desc;
-	data.push_back(description);
-		
-	//	put cvs or svn location
-	string	filename(classname);
-	filename += "Class.cpp";
-	
-	// Create a string with the class ID to
-	// get the string into the binary
-	string	class_id(ClassId);
-	
-	// check for cvs information
-	string	src_path(CvsPath);
-	start = src_path.find("/");
-	if (start!=string::npos)
-	{
-		end   = src_path.find(filename);
-		if (end>start)
-		{
-			string	strloc = src_path.substr(start, end-start);
-			//	Check if specific repository
-			start = strloc.find("/cvsroot/");
-			if (start!=string::npos && start>0)
-			{
-				string	repository = strloc.substr(0, start);
-				if (repository.find("/segfs/")!=string::npos)
-					strloc = "ESRF:" + strloc.substr(start, strloc.length()-start);
-			}
-			Tango::DbDatum	cvs_loc("cvs_location");
-			cvs_loc << strloc;
-			data.push_back(cvs_loc);
-		}
-	}
-	// check for svn information
-	else
-	{
-		string	src_path(SvnPath);
-		start = src_path.find("://");
-		if (start!=string::npos)
-		{
-			end = src_path.find(filename);
-			if (end>start)
-			{
-				header = "$HeadURL: ";
-				start = header.length();
-				string	strloc = src_path.substr(start, (end-start));
-				
-				Tango::DbDatum	svn_loc("svn_location");
-				svn_loc << strloc;
-				data.push_back(svn_loc);
-			}
-		}
-	}
-
-	//	Get CVS or SVN revision tag
-	
-	// CVS tag
-	string	tagname(TagName);
-	header = "$Name: ";
-	start = header.length();
-	string	endstr(" $");
-	
-	end   = tagname.find(endstr);
-	if (end!=string::npos && end>start)
-	{
-		string	strtag = tagname.substr(start, end-start);
-		Tango::DbDatum	cvs_tag("cvs_tag");
-		cvs_tag << strtag;
-		data.push_back(cvs_tag);
-	}
-	
-	// SVN tag
-	string	svnpath(SvnPath);
-	header = "$HeadURL: ";
-	start = header.length();
-	
-	end   = svnpath.find(endstr);
-	if (end!=string::npos && end>start)
-	{
-		string	strloc = svnpath.substr(start, end-start);
-		
-		string tagstr ("/tags/");
-		start = strloc.find(tagstr);
-		if ( start!=string::npos )
-		{
-			start = start + tagstr.length();
-			end   = strloc.find(filename);
-			string	strtag = strloc.substr(start, end-start-1);
-			
-			Tango::DbDatum	svn_tag("svn_tag");
-			svn_tag << strtag;
-			data.push_back(svn_tag);
-		}
-	}
-
-	//	Get URL location
-	string	httpServ(HttpServer);
-	if (httpServ.length()>0)
-	{
-		Tango::DbDatum	db_doc_url("doc_url");
-		db_doc_url << httpServ;
-		data.push_back(db_doc_url);
-	}
-
-	//  Put inheritance
-	Tango::DbDatum	inher_datum("InheritedFrom");
-	vector<string> inheritance;
-	inheritance.push_back("Device_4Impl");
-	inher_datum << inheritance;
-	data.push_back(inher_datum);
-
-	//	Call database and and values
-	//--------------------------------------------
-	get_db_class()->put_property(data);
-}
-
-}	// namespace
+/*----- PROTECTED REGION ID(Keithley428Class.cpp) ENABLED START -----*/
+static const char *RcsId      = "$Id:  $";
+static const char *TagName    = "$Name:  $";
+static const char *CvsPath    = "$Source:  $";
+static const char *SvnPath    = "$HeadURL:  $";
+static const char *HttpServer = "http://www.esrf.eu/computing/cs/tango/tango_doc/ds_doc/";
+//=============================================================================
+//
+// file :        Keithley428Class.cpp
+//
+// description : C++ source for the Keithley428Class. A singleton
+//               class derived from DeviceClass. It implements the
+//               command list and all properties and methods required
+//               by the �name� once per process.
+//
+// project :     Keithley428 Current Amplifier.
+//
+// $Author:  $
+//
+// $Revision:  $
+// $Date:  $
+//
+// SVN only:
+// $HeadURL:  $
+//
+// CVS only:
+// $Source:  $
+// $Log:  $
+//
+//=============================================================================
+//                This file is generated by POGO
+//        (Program Obviously used to Generate tango Object)
+//=============================================================================
+
+
+#include <tango.h>
+#include <Keithley428.h>
+#include <Keithley428Class.h>
+
+/*----- PROTECTED REGION END -----*/
+
+//-------------------------------------------------------------------
+/**
+ *	Create Keithley428Class singleton and
+ *	return it in a C function for Python usage
+ */
+//-------------------------------------------------------------------
+extern "C" {
+#ifdef _TG_WINDOWS_
+
+__declspec(dllexport)
+
+#endif
+
+	Tango::DeviceClass *_create_Keithley428_class(const char *name) {
+		return Keithley428_ns::Keithley428Class::init(name);
+	}
+}
+
+
+namespace Keithley428_ns
+{
+
+
+//===================================================================
+//	Initialize pointer for singleton pattern
+//===================================================================
+Keithley428Class *Keithley428Class::_instance = NULL;
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::Keithley428Class(string &s)
+ * description : 	constructor for the Keithley428Class
+ *
+ * @param s	The class name
+ */
+//--------------------------------------------------------
+Keithley428Class::Keithley428Class(string &s):DeviceClass(s)
+{
+	cout2 << "Entering Keithley428Class constructor" << endl;
+	set_default_property();
+	get_class_property();
+	write_class_property();
+
+	/*----- PROTECTED REGION ID(Keithley428::Class::constructor) ENABLED START -----*/
+	
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::constructor
+
+	cout2 << "Leaving Keithley428Class constructor" << endl;
+}
+
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::~Keithley428Class()
+ * description : 	destructor for the Keithley428Class
+ */
+//--------------------------------------------------------
+Keithley428Class::~Keithley428Class()
+{
+	/*----- PROTECTED REGION ID(Keithley428::Class::destructor) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::destructor
+
+	_instance = NULL;
+}
+
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::init
+ * description : 	Create the object if not already done.
+ *                  Otherwise, just return a pointer to the object
+ *
+ * @param	name	The class name
+ */
+//--------------------------------------------------------
+Keithley428Class *Keithley428Class::init(const char *name)
+{
+	if (_instance == NULL)
+	{
+		try
+		{
+			string s(name);
+			_instance = new Keithley428Class(s);
+		}
+		catch (bad_alloc)
+		{
+			throw;
+		}		
+	}		
+	return _instance;
+}
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::instance
+ * description : 	Check if object already created,
+ *                  and return a pointer to the object
+ */
+//--------------------------------------------------------
+Keithley428Class *Keithley428Class::instance()
+{
+	if (_instance == NULL)
+	{
+		cerr << "Class is not initialised !!" << endl;
+		exit(-1);
+	}
+	return _instance;
+}
+
+
+
+
+//===================================================================
+//	Command execution method calls
+//===================================================================
+//--------------------------------------------------------
+/**
+ * method : 		PerformZeroCorrectClass::execute()
+ * description : 	method to trigger the execution of the command.
+ *
+ * @param	device	The device on which the command must be executed
+ * @param	in_any	The command input data
+ *
+ *	returns The command output data (packed in the Any object)
+ */
+//--------------------------------------------------------
+CORBA::Any *PerformZeroCorrectClass::execute(Tango::DeviceImpl *device, const CORBA::Any &in_any)
+{
+	cout2 << "PerformZeroCorrectClass::execute(): arrived" << endl;
+
+	
+	((static_cast<Keithley428 *>(device))->perform_zero_correct());
+	return new CORBA::Any();
+}
+//--------------------------------------------------------
+/**
+ * method : 		FilterOnClass::execute()
+ * description : 	method to trigger the execution of the command.
+ *
+ * @param	device	The device on which the command must be executed
+ * @param	in_any	The command input data
+ *
+ *	returns The command output data (packed in the Any object)
+ */
+//--------------------------------------------------------
+CORBA::Any *FilterOnClass::execute(Tango::DeviceImpl *device, const CORBA::Any &in_any)
+{
+	cout2 << "FilterOnClass::execute(): arrived" << endl;
+
+	
+	((static_cast<Keithley428 *>(device))->filter_on());
+	return new CORBA::Any();
+}
+//--------------------------------------------------------
+/**
+ * method : 		FilterOffClass::execute()
+ * description : 	method to trigger the execution of the command.
+ *
+ * @param	device	The device on which the command must be executed
+ * @param	in_any	The command input data
+ *
+ *	returns The command output data (packed in the Any object)
+ */
+//--------------------------------------------------------
+CORBA::Any *FilterOffClass::execute(Tango::DeviceImpl *device, const CORBA::Any &in_any)
+{
+	cout2 << "FilterOffClass::execute(): arrived" << endl;
+
+	
+	((static_cast<Keithley428 *>(device))->filter_off());
+	return new CORBA::Any();
+}
+//--------------------------------------------------------
+/**
+ * method : 		AutoFilterOnClass::execute()
+ * description : 	method to trigger the execution of the command.
+ *
+ * @param	device	The device on which the command must be executed
+ * @param	in_any	The command input data
+ *
+ *	returns The command output data (packed in the Any object)
+ */
+//--------------------------------------------------------
+CORBA::Any *AutoFilterOnClass::execute(Tango::DeviceImpl *device, const CORBA::Any &in_any)
+{
+	cout2 << "AutoFilterOnClass::execute(): arrived" << endl;
+
+	
+	((static_cast<Keithley428 *>(device))->auto_filter_on());
+	return new CORBA::Any();
+}
+//--------------------------------------------------------
+/**
+ * method : 		AutoFilterOffClass::execute()
+ * description : 	method to trigger the execution of the command.
+ *
+ * @param	device	The device on which the command must be executed
+ * @param	in_any	The command input data
+ *
+ *	returns The command output data (packed in the Any object)
+ */
+//--------------------------------------------------------
+CORBA::Any *AutoFilterOffClass::execute(Tango::DeviceImpl *device, const CORBA::Any &in_any)
+{
+	cout2 << "AutoFilterOffClass::execute(): arrived" << endl;
+
+	
+	((static_cast<Keithley428 *>(device))->auto_filter_off());
+	return new CORBA::Any();
+}
+
+
+
+
+//===================================================================
+//	Properties management
+//===================================================================
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::get_class_property
+ * description : 	Get the class property for specified name.
+ *
+ * @param	name  The property name
+ */
+//--------------------------------------------------------
+Tango::DbDatum Keithley428Class::get_class_property(string &prop_name)
+{
+	for (unsigned int i=0 ; i<cl_prop.size() ; i++)
+		if (cl_prop[i].name == prop_name)
+			return cl_prop[i];
+	//	if not found, returns  an empty DbDatum
+	return Tango::DbDatum(prop_name);
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::get_default_device_property()()
+ *	Description : Return the default value for device property.
+ */
+//--------------------------------------------------------
+Tango::DbDatum Keithley428Class::get_default_device_property(string &prop_name)
+{
+	for (unsigned int i=0 ; i<dev_def_prop.size() ; i++)
+		if (dev_def_prop[i].name == prop_name)
+			return dev_def_prop[i];
+	//	if not found, return  an empty DbDatum
+	return Tango::DbDatum(prop_name);
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::get_default_class_property()()
+ *	Description : Return the default value for class property.
+ */
+//--------------------------------------------------------
+Tango::DbDatum Keithley428Class::get_default_class_property(string &prop_name)
+{
+	for (unsigned int i=0 ; i<cl_def_prop.size() ; i++)
+		if (cl_def_prop[i].name == prop_name)
+			return cl_def_prop[i];
+	//	if not found, return  an empty DbDatum
+	return Tango::DbDatum(prop_name);
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::get_class_property()
+ *	Description : //	Add your own code to initialize
+ */
+//--------------------------------------------------------
+void Keithley428Class::get_class_property()
+{
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::set_default_property()
+ *	Description : Set default property (class and device) for wizard.
+ *	              For each property, add to wizard property name and description.
+ *	              If default value has been set, add it to wizard property and.
+ *	              store it in a DbDatum.
+ */
+//--------------------------------------------------------
+void Keithley428Class::set_default_property()
+{
+	string	prop_name;
+	string	prop_desc;
+	string	prop_def;
+	vector<string>	vect_data;
+	
+	//	Set Default Class Properties
+
+	//	Set Default Device Properties
+
+	prop_name = "GpibDevice";
+	prop_desc = "Name of the gpib device connected to the hardware.";
+	prop_def  = "";
+	vect_data.clear();
+	if (prop_def.length()>0)
+	{
+		Tango::DbDatum	data(prop_name);
+		data << vect_data ;
+		dev_def_prop.push_back(data);
+		add_wiz_dev_prop(prop_name, prop_desc,  prop_def);
+	}
+	else
+		add_wiz_dev_prop(prop_name, prop_desc);
+
+	prop_name = "GpibDeviceType";
+	prop_desc = "Type of the Gpib device used to communicate with the Keithley.  this can be:  1 -> Desy GpibDevice (default value)  2 -> Soleil GpibDeviceServer";
+	prop_def  = "1\n";
+	vect_data.clear();
+	vect_data.push_back("1");
+	if (prop_def.length()>0)
+	{
+		Tango::DbDatum	data(prop_name);
+		data << vect_data ;
+		dev_def_prop.push_back(data);
+		add_wiz_dev_prop(prop_name, prop_desc,  prop_def);
+	}
+	else
+		add_wiz_dev_prop(prop_name, prop_desc);
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::write_class_property()
+ *	Description : Set class description fields as property in database
+ */
+//--------------------------------------------------------
+void Keithley428Class::write_class_property()
+{
+	//	First time, check if database used
+	if (Tango::Util::_UseDb == false)
+		return;
+
+	Tango::DbData	data;
+	string	classname = get_name();
+	string	header;
+	string::size_type	start, end;
+
+	//	Put title
+	Tango::DbDatum	title("ProjectTitle");
+	string	str_title("Keithley428 Current Amplifier");
+	title << str_title;
+	data.push_back(title);
+
+	//	Put Description
+	Tango::DbDatum	description("Description");
+	vector<string>	str_desc;
+	str_desc.push_back("Class for controlling the Keithley428 current amplifier.");
+	description << str_desc;
+	data.push_back(description);
+		
+	//	put cvs or svn location
+	string	filename("Keithley428");
+	filename += "Class.cpp";
+	
+	// check for cvs information
+	string	src_path(CvsPath);
+	start = src_path.find("/");
+	if (start!=string::npos)
+	{
+		end   = src_path.find(filename);
+		if (end>start)
+		{
+			string	strloc = src_path.substr(start, end-start);
+			//	Check if specific repository
+			start = strloc.find("/cvsroot/");
+			if (start!=string::npos && start>0)
+			{
+				string	repository = strloc.substr(0, start);
+				if (repository.find("/segfs/")!=string::npos)
+					strloc = "ESRF:" + strloc.substr(start, strloc.length()-start);
+			}
+			Tango::DbDatum	cvs_loc("cvs_location");
+			cvs_loc << strloc;
+			data.push_back(cvs_loc);
+		}
+	}
+	// check for svn information
+	else
+	{
+		string	src_path(SvnPath);
+		start = src_path.find("://");
+		if (start!=string::npos)
+		{
+			end = src_path.find(filename);
+			if (end>start)
+			{
+				header = "$HeadURL: ";
+				start = header.length();
+				string	strloc = src_path.substr(start, (end-start));
+				
+				Tango::DbDatum	svn_loc("svn_location");
+				svn_loc << strloc;
+				data.push_back(svn_loc);
+			}
+		}
+	}
+
+	//	Get CVS or SVN revision tag
+	
+	// CVS tag
+	string	tagname(TagName);
+	header = "$Name: ";
+	start = header.length();
+	string	endstr(" $");
+	
+	end   = tagname.find(endstr);
+	if (end!=string::npos && end>start)
+	{
+		string	strtag = tagname.substr(start, end-start);
+		Tango::DbDatum	cvs_tag("cvs_tag");
+		cvs_tag << strtag;
+		data.push_back(cvs_tag);
+	}
+	
+	// SVN tag
+	string	svnpath(SvnPath);
+	header = "$HeadURL: ";
+	start = header.length();
+	
+	end   = svnpath.find(endstr);
+	if (end!=string::npos && end>start)
+	{
+		string	strloc = svnpath.substr(start, end-start);
+		
+		string tagstr ("/tags/");
+		start = strloc.find(tagstr);
+		if ( start!=string::npos )
+		{
+			start = start + tagstr.length();
+			end   = strloc.find(filename);
+			string	strtag = strloc.substr(start, end-start-1);
+			
+			Tango::DbDatum	svn_tag("svn_tag");
+			svn_tag << strtag;
+			data.push_back(svn_tag);
+		}
+	}
+
+	//	Get URL location
+	string	httpServ(HttpServer);
+	if (httpServ.length()>0)
+	{
+		Tango::DbDatum	db_doc_url("doc_url");
+		db_doc_url << httpServ;
+		data.push_back(db_doc_url);
+	}
+
+	//  Put inheritance
+	Tango::DbDatum	inher_datum("InheritedFrom");
+	vector<string> inheritance;
+	inheritance.push_back("Device_4Impl");
+	inher_datum << inheritance;
+	data.push_back(inher_datum);
+
+	//	Call database and and values
+	get_db_class()->put_property(data);
+}
+
+
+
+
+//===================================================================
+//	Factory methods
+//===================================================================
+
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::device_factory
+ * description : 	Create the device object(s)
+ *                  and store them in the device list
+ *
+ * @param	*devlist_ptr	The device name list
+ */
+//--------------------------------------------------------
+void Keithley428Class::device_factory(const Tango::DevVarStringArray *devlist_ptr)
+{
+
+	/*----- PROTECTED REGION ID(Keithley428::Class::device_factory_before) ENABLED START -----*/
+
+	//	Add your own code
+	
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::device_factory_before
+
+	//	Create devices and add it into the device list
+	for (unsigned long i=0 ; i<devlist_ptr->length() ; i++)
+	{
+		cout4 << "Device name : " << (*devlist_ptr)[i].in() << endl;
+		device_list.push_back(new Keithley428(this, (*devlist_ptr)[i]));							 
+	}
+
+	//	Manage dynamic attributes if any
+	erase_dynamic_attributes(devlist_ptr, get_class_attr()->get_attr_list());
+
+	//	Export devices to the outside world
+	for (unsigned long i=1 ; i<=devlist_ptr->length() ; i++)
+	{
+		//	Add dynamic attributes if any
+		Keithley428 *dev = static_cast<Keithley428 *>(device_list[device_list.size()-i]);
+		dev->add_dynamic_attributes();
+
+		//	Check before if database used.
+		if ((Tango::Util::_UseDb == true) && (Tango::Util::_FileDb == false))
+			export_device(dev);
+		else
+			export_device(dev, dev->get_name().c_str());
+	}
+
+	/*----- PROTECTED REGION ID(Keithley428::Class::device_factory_after) ENABLED START -----*/
+
+	//	Add your own code
+	
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::device_factory_after
+
+	
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::attribute_factory()
+ *	Description : Create the attribute object(s)
+ *	              and store them in the attribute list
+ */
+//--------------------------------------------------------
+void Keithley428Class::attribute_factory(vector<Tango::Attr *> &att_list)
+{
+	/*----- PROTECTED REGION ID(Keithley428::Class::attribute_factory_before) ENABLED START -----*/
+
+	//	Add your own code
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::attribute_factory_before
+
+
+	//	Attribute : Gain
+	GainAttrib	*gain = new GainAttrib();
+	Tango::UserDefaultAttrProp	gain_prop;
+	gain_prop.set_description("0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A");
+	//	label	not set for	Gain
+	gain_prop.set_unit(" ");
+	//	standard_unit	not set for	Gain
+	//	display_unit	not set for	Gain
+	gain_prop.set_format("%d");
+	gain_prop.set_max_value("11");
+	gain_prop.set_min_value("0");
+	//	max_alarm	not set for	Gain
+	//	min_alarm	not set for	Gain
+	//	max_warning	not set for	Gain
+	//	min_warning	not set for	Gain
+	//	delta_t	not set for	Gain
+	//	delta_val	not set for	Gain
+	gain->set_default_properties(gain_prop);
+	//	Not Polled
+	gain->set_disp_level(Tango::OPERATOR);
+	gain->set_memorized();
+	gain->set_memorized_init(true);
+	//	Gain does not fire change event
+	//	Gain does not fire archive event
+	//	Gain does not fire data_ready event
+	att_list.push_back(gain);
+
+	//	Attribute : GainStr
+	GainStrAttrib	*gainstr = new GainStrAttrib();
+	Tango::UserDefaultAttrProp	gainstr_prop;
+	//	description	not set for	GainStr
+	//	label	not set for	GainStr
+	//	unit	not set for	GainStr
+	//	standard_unit	not set for	GainStr
+	//	display_unit	not set for	GainStr
+	//	format	not set for	GainStr
+	//	max_value	not set for	GainStr
+	//	min_value	not set for	GainStr
+	//	max_alarm	not set for	GainStr
+	//	min_alarm	not set for	GainStr
+	//	max_warning	not set for	GainStr
+	//	min_warning	not set for	GainStr
+	//	delta_t	not set for	GainStr
+	//	delta_val	not set for	GainStr
+	gainstr->set_default_properties(gainstr_prop);
+	//	Not Polled
+	gainstr->set_disp_level(Tango::OPERATOR);
+	//	Not memorized
+
+	//	GainStr does not fire change event
+	//	GainStr does not fire archive event
+	//	GainStr does not fire data_ready event
+	att_list.push_back(gainstr);
+
+	//	Attribute : Overloaded
+	OverloadedAttrib	*overloaded = new OverloadedAttrib();
+	Tango::UserDefaultAttrProp	overloaded_prop;
+	overloaded_prop.set_description("1 if device is overloaded");
+	//	label	not set for	Overloaded
+	overloaded_prop.set_unit(" ");
+	//	standard_unit	not set for	Overloaded
+	//	display_unit	not set for	Overloaded
+	overloaded_prop.set_format("%d");
+	//	max_value	not set for	Overloaded
+	//	min_value	not set for	Overloaded
+	//	max_alarm	not set for	Overloaded
+	//	min_alarm	not set for	Overloaded
+	//	max_warning	not set for	Overloaded
+	//	min_warning	not set for	Overloaded
+	//	delta_t	not set for	Overloaded
+	//	delta_val	not set for	Overloaded
+	overloaded->set_default_properties(overloaded_prop);
+	//	Not Polled
+	overloaded->set_disp_level(Tango::OPERATOR);
+	//	Not memorized
+
+	//	Overloaded does not fire change event
+	//	Overloaded does not fire archive event
+	//	Overloaded does not fire data_ready event
+	att_list.push_back(overloaded);
+
+	//	Attribute : Bypass
+	BypassAttrib	*bypass = new BypassAttrib();
+	Tango::UserDefaultAttrProp	bypass_prop;
+	bypass_prop.set_description("0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.");
+	//	label	not set for	Bypass
+	bypass_prop.set_unit(" ");
+	//	standard_unit	not set for	Bypass
+	//	display_unit	not set for	Bypass
+	bypass_prop.set_format("%d");
+	bypass_prop.set_max_value("2");
+	bypass_prop.set_min_value("0");
+	//	max_alarm	not set for	Bypass
+	//	min_alarm	not set for	Bypass
+	//	max_warning	not set for	Bypass
+	//	min_warning	not set for	Bypass
+	//	delta_t	not set for	Bypass
+	//	delta_val	not set for	Bypass
+	bypass->set_default_properties(bypass_prop);
+	//	Not Polled
+	bypass->set_disp_level(Tango::OPERATOR);
+	//	Not memorized
+
+	//	Bypass does not fire change event
+	//	Bypass does not fire archive event
+	//	Bypass does not fire data_ready event
+	att_list.push_back(bypass);
+
+	//	Attribute : filterState
+	filterStateAttrib	*filterstate = new filterStateAttrib();
+	Tango::UserDefaultAttrProp	filterstate_prop;
+	filterstate_prop.set_description("State of the manual filter");
+	//	label	not set for	filterState
+	//	unit	not set for	filterState
+	//	standard_unit	not set for	filterState
+	//	display_unit	not set for	filterState
+	//	format	not set for	filterState
+	//	max_value	not set for	filterState
+	//	min_value	not set for	filterState
+	//	max_alarm	not set for	filterState
+	//	min_alarm	not set for	filterState
+	//	max_warning	not set for	filterState
+	//	min_warning	not set for	filterState
+	//	delta_t	not set for	filterState
+	//	delta_val	not set for	filterState
+	filterstate->set_default_properties(filterstate_prop);
+	//	Not Polled
+	filterstate->set_disp_level(Tango::OPERATOR);
+	//	Not memorized
+
+	//	filterState does not fire change event
+	//	filterState does not fire archive event
+	//	filterState does not fire data_ready event
+	att_list.push_back(filterstate);
+
+	//	Attribute : autoFilterState
+	autoFilterStateAttrib	*autofilterstate = new autoFilterStateAttrib();
+	Tango::UserDefaultAttrProp	autofilterstate_prop;
+	autofilterstate_prop.set_description("State of the auto Filter");
+	//	label	not set for	autoFilterState
+	//	unit	not set for	autoFilterState
+	//	standard_unit	not set for	autoFilterState
+	//	display_unit	not set for	autoFilterState
+	//	format	not set for	autoFilterState
+	//	max_value	not set for	autoFilterState
+	//	min_value	not set for	autoFilterState
+	//	max_alarm	not set for	autoFilterState
+	//	min_alarm	not set for	autoFilterState
+	//	max_warning	not set for	autoFilterState
+	//	min_warning	not set for	autoFilterState
+	//	delta_t	not set for	autoFilterState
+	//	delta_val	not set for	autoFilterState
+	autofilterstate->set_default_properties(autofilterstate_prop);
+	//	Not Polled
+	autofilterstate->set_disp_level(Tango::OPERATOR);
+	//	Not memorized
+
+	//	autoFilterState does not fire change event
+	//	autoFilterState does not fire archive event
+	//	autoFilterState does not fire data_ready event
+	att_list.push_back(autofilterstate);
+
+	//	Attribute : RiseTime
+	RiseTimeAttrib	*risetime = new RiseTimeAttrib();
+	Tango::UserDefaultAttrProp	risetime_prop;
+	risetime_prop.set_description("0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n");
+	//	label	not set for	RiseTime
+	risetime_prop.set_unit(" ");
+	//	standard_unit	not set for	RiseTime
+	//	display_unit	not set for	RiseTime
+	risetime_prop.set_format("%d");
+	risetime_prop.set_max_value("9");
+	risetime_prop.set_min_value("0");
+	//	max_alarm	not set for	RiseTime
+	//	min_alarm	not set for	RiseTime
+	//	max_warning	not set for	RiseTime
+	//	min_warning	not set for	RiseTime
+	//	delta_t	not set for	RiseTime
+	//	delta_val	not set for	RiseTime
+	risetime->set_default_properties(risetime_prop);
+	//	Not Polled
+	risetime->set_disp_level(Tango::OPERATOR);
+	risetime->set_memorized();
+	risetime->set_memorized_init(true);
+	//	RiseTime does not fire change event
+	//	RiseTime does not fire archive event
+	//	RiseTime does not fire data_ready event
+	att_list.push_back(risetime);
+
+	//	Attribute : RiseTimeStr
+	RiseTimeStrAttrib	*risetimestr = new RiseTimeStrAttrib();
+	Tango::UserDefaultAttrProp	risetimestr_prop;
+	risetimestr_prop.set_description("0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n");
+	//	label	not set for	RiseTimeStr
+	risetimestr_prop.set_unit(" ");
+	//	standard_unit	not set for	RiseTimeStr
+	//	display_unit	not set for	RiseTimeStr
+	//	format	not set for	RiseTimeStr
+	//	max_value	not set for	RiseTimeStr
+	//	min_value	not set for	RiseTimeStr
+	//	max_alarm	not set for	RiseTimeStr
+	//	min_alarm	not set for	RiseTimeStr
+	//	max_warning	not set for	RiseTimeStr
+	//	min_warning	not set for	RiseTimeStr
+	//	delta_t	not set for	RiseTimeStr
+	//	delta_val	not set for	RiseTimeStr
+	risetimestr->set_default_properties(risetimestr_prop);
+	//	Not Polled
+	risetimestr->set_disp_level(Tango::OPERATOR);
+	//	Not memorized
+
+	//	RiseTimeStr does not fire change event
+	//	RiseTimeStr does not fire archive event
+	//	RiseTimeStr does not fire data_ready event
+	att_list.push_back(risetimestr);
+
+
+	//	Create a list of static attributes
+	create_static_attribute_list(get_class_attr()->get_attr_list());
+
+	/*----- PROTECTED REGION ID(Keithley428::Class::attribute_factory_after) ENABLED START -----*/
+
+	//	Add your own code
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::attribute_factory_after
+
+}
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::Keithley428Class::command_factory()
+ *	Description : Create the command object(s)
+ *	              and store them in the command list
+ */
+//--------------------------------------------------------
+void Keithley428Class::command_factory()
+{
+	/*----- PROTECTED REGION ID(Keithley428::Class::command_factory_before) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::command_factory_before
+
+	PerformZeroCorrectClass	*pPerformZeroCorrectCmd =
+		new PerformZeroCorrectClass("PerformZeroCorrect",
+			Tango::DEV_VOID, Tango::DEV_VOID,
+			"",
+			"",
+			Tango::OPERATOR);
+	command_list.push_back(pPerformZeroCorrectCmd);
+	FilterOnClass	*pFilterOnCmd =
+		new FilterOnClass("FilterOn",
+			Tango::DEV_VOID, Tango::DEV_VOID,
+			"",
+			"",
+			Tango::OPERATOR);
+	command_list.push_back(pFilterOnCmd);
+	FilterOffClass	*pFilterOffCmd =
+		new FilterOffClass("FilterOff",
+			Tango::DEV_VOID, Tango::DEV_VOID,
+			"",
+			"",
+			Tango::OPERATOR);
+	command_list.push_back(pFilterOffCmd);
+	AutoFilterOnClass	*pAutoFilterOnCmd =
+		new AutoFilterOnClass("AutoFilterOn",
+			Tango::DEV_VOID, Tango::DEV_VOID,
+			"",
+			"",
+			Tango::OPERATOR);
+	command_list.push_back(pAutoFilterOnCmd);
+	AutoFilterOffClass	*pAutoFilterOffCmd =
+		new AutoFilterOffClass("AutoFilterOff",
+			Tango::DEV_VOID, Tango::DEV_VOID,
+			"",
+			"",
+			Tango::OPERATOR);
+	command_list.push_back(pAutoFilterOffCmd);
+
+	/*----- PROTECTED REGION ID(Keithley428::Class::command_factory_after) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::command_factory_after
+
+}
+
+
+
+
+//===================================================================
+//	Dynamic attributes related methods
+//===================================================================
+
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::create_static_attribute_list
+ * description : 	Create the a list of static attributes
+ *
+ * @param	att_list	the ceated attribute list 
+ */
+//--------------------------------------------------------
+void Keithley428Class::create_static_attribute_list(vector<Tango::Attr *> &att_list)
+{
+	for (unsigned long i=0 ; i<att_list.size() ; i++)
+	{
+		string att_name(att_list[i]->get_name());
+		transform(att_name.begin(), att_name.end(), att_name.begin(), ::tolower);
+		defaultAttList.push_back(att_name);
+	}
+
+	cout2 << defaultAttList.size() << " attributes in default list" << endl;
+
+
+	/*----- PROTECTED REGION ID(Keithley428::Class::create_static_att_list) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::create_static_att_list
+
+}
+
+
+//--------------------------------------------------------
+/**
+ * method : 		Keithley428Class::erase_dynamic_attributes
+ * description : 	delete the dynamic attributes if any.
+ *
+ * @param	devlist_ptr	the device list pointer
+ * @param	list of all attributes
+ */
+//--------------------------------------------------------
+void Keithley428Class::erase_dynamic_attributes(const Tango::DevVarStringArray *devlist_ptr, vector<Tango::Attr *> &att_list)
+{
+	Tango::Util *tg = Tango::Util::instance();
+
+	for (unsigned long i=0 ; i<devlist_ptr->length() ; i++)
+	{	
+		Tango::DeviceImpl *dev_impl = tg->get_device_by_name(((string)(*devlist_ptr)[i]).c_str());
+		Keithley428 *dev = static_cast<Keithley428 *> (dev_impl);
+		
+		vector<Tango::Attribute *> &dev_att_list = dev->get_device_attr()->get_attribute_list();
+		vector<Tango::Attribute *>::iterator ite_att;
+		for (ite_att=dev_att_list.begin() ; ite_att != dev_att_list.end() ; ++ite_att)
+		{
+			string att_name((*ite_att)->get_name_lower());
+			if ((att_name == "state") || (att_name == "status"))
+				continue;
+			vector<string>::iterator ite_str = find(defaultAttList.begin(), defaultAttList.end(), att_name);
+			if (ite_str == defaultAttList.end())
+			{
+				cout2 << att_name << " is a UNWANTED dynamic attribute for device " << (*devlist_ptr)[i] << endl;
+				Tango::Attribute &att = dev->get_device_attr()->get_attr_by_name(att_name.c_str());
+				dev->remove_attribute(att_list[att.get_attr_idx()],true);
+				--ite_att;
+			}
+		}
+	}
+	/*----- PROTECTED REGION ID(Keithley428::Class::erase_dynamic_attributes) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::erase_dynamic_attributes
+
+}
+
+
+
+	/*----- PROTECTED REGION ID(Keithley428::Class::Additional Methods) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Class::Additional Methods
+
+} //	namespace
diff --git a/Keithley428Class.h b/Keithley428Class.h
index e5a99ac13d00f6bcc0a4ed2d405915fba3abc671..7eaae18b2a8753f283e86bc782df140d3eab026f 100644
--- a/Keithley428Class.h
+++ b/Keithley428Class.h
@@ -1,320 +1,350 @@
-//=============================================================================
-//
-// file :         Keithley428Class.h
-//
-// description :  Include for the Keithley428Class root class.
-//                This class is the singleton class for
-//                the Keithley428 device class.
-//                It contains all properties and methods which the 
-//                Keithley428 requires only once e.g. the commands.
-//			
-// project :      TANGO Device Server
-//
-// $Author:  $
-//
-// $Revision:  $
-// $Date:  $
-//
-// SVN only:
-// $HeadURL: $
-//
-// CVS only:
-// $Source:  $
-// $Log:  $
-//
-// copyleft :     European Synchrotron Radiation Facility
-//                BP 220, Grenoble 38043
-//                FRANCE
-//
-//=============================================================================
-//
-//  		This file is generated by POGO
-//	(Program Obviously used to Generate tango Object)
-//
-//         (c) - Software Engineering Group - ESRF
-//=============================================================================
-
-#ifndef _KEITHLEY428CLASS_H
-#define _KEITHLEY428CLASS_H
-
-#include <tango.h>
-#include <Keithley428.h>
-
-
-namespace Keithley428_ns
-{//=====================================
-//	Define classes for attributes
-//=====================================
-class RiseTimeStrAttrib: public Tango::Attr
-{
-public:
-	RiseTimeStrAttrib():Attr("RiseTimeStr", Tango::DEV_STRING, Tango::READ) {};
-	~RiseTimeStrAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_RiseTimeStr(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_RiseTimeStr_allowed(ty);}
-};
-
-class RiseTimeAttrib: public Tango::Attr
-{
-public:
-	RiseTimeAttrib():Attr("RiseTime", Tango::DEV_LONG, Tango::READ_WRITE) {};
-	~RiseTimeAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_RiseTime(att);}
-	virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
-	{(static_cast<Keithley428 *>(dev))->write_RiseTime(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_RiseTime_allowed(ty);}
-};
-
-class autoFilterStateAttrib: public Tango::Attr
-{
-public:
-	autoFilterStateAttrib():Attr("autoFilterState", Tango::DEV_STRING, Tango::READ) {};
-	~autoFilterStateAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_autoFilterState(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_autoFilterState_allowed(ty);}
-};
-
-class filterStateAttrib: public Tango::Attr
-{
-public:
-	filterStateAttrib():Attr("filterState", Tango::DEV_STRING, Tango::READ) {};
-	~filterStateAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_filterState(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_filterState_allowed(ty);}
-};
-
-class BypassAttrib: public Tango::Attr
-{
-public:
-	BypassAttrib():Attr("Bypass", Tango::DEV_LONG, Tango::READ_WRITE) {};
-	~BypassAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_Bypass(att);}
-	virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
-	{(static_cast<Keithley428 *>(dev))->write_Bypass(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_Bypass_allowed(ty);}
-};
-
-class OverloadedAttrib: public Tango::Attr
-{
-public:
-	OverloadedAttrib():Attr("Overloaded", Tango::DEV_LONG, Tango::READ) {};
-	~OverloadedAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_Overloaded(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_Overloaded_allowed(ty);}
-};
-
-class GainStrAttrib: public Tango::Attr
-{
-public:
-	GainStrAttrib():Attr("GainStr", Tango::DEV_STRING, Tango::READ) {};
-	~GainStrAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_GainStr(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_GainStr_allowed(ty);}
-};
-
-class GainAttrib: public Tango::Attr
-{
-public:
-	GainAttrib():Attr("Gain", Tango::DEV_LONG, Tango::READ_WRITE) {};
-	~GainAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<Keithley428 *>(dev))->read_Gain(att);}
-	virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
-	{(static_cast<Keithley428 *>(dev))->write_Gain(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<Keithley428 *>(dev))->is_Gain_allowed(ty);}
-};
-
-//=========================================
-//	Define classes for commands
-//=========================================
-class AutoFilterOffClass : public Tango::Command
-{
-public:
-	AutoFilterOffClass(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out,
-				   const char        *in_desc,
-				   const char        *out_desc,
-				   Tango::DispLevel  level)
-	:Command(name,in,out,in_desc,out_desc, level)	{};
-
-	AutoFilterOffClass(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out)
-	:Command(name,in,out)	{};
-	~AutoFilterOffClass() {};
-	
-	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
-	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
-	{return (static_cast<Keithley428 *>(dev))->is_AutoFilterOff_allowed(any);}
-};
-
-
-
-class AutoFilterOnClass : public Tango::Command
-{
-public:
-	AutoFilterOnClass(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out,
-				   const char        *in_desc,
-				   const char        *out_desc,
-				   Tango::DispLevel  level)
-	:Command(name,in,out,in_desc,out_desc, level)	{};
-
-	AutoFilterOnClass(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out)
-	:Command(name,in,out)	{};
-	~AutoFilterOnClass() {};
-	
-	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
-	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
-	{return (static_cast<Keithley428 *>(dev))->is_AutoFilterOn_allowed(any);}
-};
-
-
-
-class FilterOffCmd : public Tango::Command
-{
-public:
-	FilterOffCmd(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out,
-				   const char        *in_desc,
-				   const char        *out_desc,
-				   Tango::DispLevel  level)
-	:Command(name,in,out,in_desc,out_desc, level)	{};
-
-	FilterOffCmd(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out)
-	:Command(name,in,out)	{};
-	~FilterOffCmd() {};
-	
-	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
-	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
-	{return (static_cast<Keithley428 *>(dev))->is_FilterOff_allowed(any);}
-};
-
-
-
-class FilterOnCmd : public Tango::Command
-{
-public:
-	FilterOnCmd(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out,
-				   const char        *in_desc,
-				   const char        *out_desc,
-				   Tango::DispLevel  level)
-	:Command(name,in,out,in_desc,out_desc, level)	{};
-
-	FilterOnCmd(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out)
-	:Command(name,in,out)	{};
-	~FilterOnCmd() {};
-	
-	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
-	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
-	{return (static_cast<Keithley428 *>(dev))->is_FilterOn_allowed(any);}
-};
-
-
-
-class PerformZeroCorrectClass : public Tango::Command
-{
-public:
-	PerformZeroCorrectClass(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out,
-				   const char        *in_desc,
-				   const char        *out_desc,
-				   Tango::DispLevel  level)
-	:Command(name,in,out,in_desc,out_desc, level)	{};
-
-	PerformZeroCorrectClass(const char   *name,
-	               Tango::CmdArgType in,
-				   Tango::CmdArgType out)
-	:Command(name,in,out)	{};
-	~PerformZeroCorrectClass() {};
-	
-	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
-	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
-	{return (static_cast<Keithley428 *>(dev))->is_PerformZeroCorrect_allowed(any);}
-};
-
-
-
-//
-// The Keithley428Class singleton definition
-//
-
-class
-#ifdef WIN32
-	__declspec(dllexport)
-#endif
-	Keithley428Class : public Tango::DeviceClass
-{
-public:
-//	properties member data
-
-//	add your own data members here
-//------------------------------------
-
-public:
-	Tango::DbData	cl_prop;
-	Tango::DbData	cl_def_prop;
-	Tango::DbData	dev_def_prop;
-
-//	Method prototypes
-	static Keithley428Class *init(const char *);
-	static Keithley428Class *instance();
-	~Keithley428Class();
-	Tango::DbDatum	get_class_property(string &);
-	Tango::DbDatum	get_default_device_property(string &);
-	Tango::DbDatum	get_default_class_property(string &);
-	
-protected:
-	Keithley428Class(string &);
-	static Keithley428Class *_instance;
-	void command_factory();
-	void get_class_property();
-	void attribute_factory(vector<Tango::Attr *> &);
-	void write_class_property();
-	void set_default_property();
-	string get_cvstag();
-	string get_cvsroot();
-
-private:
-	void device_factory(const Tango::DevVarStringArray *);
-};
-
-
-}	//	namespace Keithley428_ns
-
-#endif // _KEITHLEY428CLASS_H
+/*----- PROTECTED REGION ID(Keithley428Class.h) ENABLED START -----*/
+//=============================================================================
+//
+// file :        Keithley428Class.h
+//
+// description : Include for the Keithley428Class root class.
+//               This class is the singleton class for.
+//               the Keithley428 device class..
+//               It contains all properties and methods which the .
+//               Keithley428 requires only once e.g. the commands.
+//
+// project :     Keithley428 Current Amplifier.
+//
+// $Author:  $
+//
+// $Revision:  $
+// $Date:  $
+//
+// SVN only:
+// $HeadURL:  $
+//
+// CVS only:
+// $Source:  $
+// $Log:  $
+//
+//=============================================================================
+//                This file is generated by POGO
+//        (Program Obviously used to Generate tango Object)
+//=============================================================================
+
+
+#ifndef KEITHLEY428CLASS_H
+#define KEITHLEY428CLASS_H
+
+#include <tango.h>
+#include <Keithley428.h>
+
+/*----- PROTECTED REGION END -----*/
+
+namespace Keithley428_ns
+{
+	/*----- PROTECTED REGION ID(Keithley428::classes for dynamic creation) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::classes for dynamic creation
+
+
+
+//=========================================
+//	Define classes for attributes
+//=========================================
+//	Attribute Gain class definition
+class GainAttrib: public Tango::Attr
+{
+public:
+	GainAttrib():Attr("Gain",
+	                   Tango::DEV_LONG, Tango::READ_WRITE) {};
+	~GainAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_Gain(att);}
+	virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
+		{(static_cast<Keithley428 *>(dev))->write_Gain(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_Gain_allowed(ty);}
+};
+
+//	Attribute GainStr class definition
+class GainStrAttrib: public Tango::Attr
+{
+public:
+	GainStrAttrib():Attr("GainStr",
+	                   Tango::DEV_STRING, Tango::READ) {};
+	~GainStrAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_GainStr(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_GainStr_allowed(ty);}
+};
+
+//	Attribute Overloaded class definition
+class OverloadedAttrib: public Tango::Attr
+{
+public:
+	OverloadedAttrib():Attr("Overloaded",
+	                   Tango::DEV_LONG, Tango::READ) {};
+	~OverloadedAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_Overloaded(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_Overloaded_allowed(ty);}
+};
+
+//	Attribute Bypass class definition
+class BypassAttrib: public Tango::Attr
+{
+public:
+	BypassAttrib():Attr("Bypass",
+	                   Tango::DEV_LONG, Tango::READ_WRITE) {};
+	~BypassAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_Bypass(att);}
+	virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
+		{(static_cast<Keithley428 *>(dev))->write_Bypass(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_Bypass_allowed(ty);}
+};
+
+//	Attribute filterState class definition
+class filterStateAttrib: public Tango::Attr
+{
+public:
+	filterStateAttrib():Attr("filterState",
+	                   Tango::DEV_STRING, Tango::READ) {};
+	~filterStateAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_filterState(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_filterState_allowed(ty);}
+};
+
+//	Attribute autoFilterState class definition
+class autoFilterStateAttrib: public Tango::Attr
+{
+public:
+	autoFilterStateAttrib():Attr("autoFilterState",
+	                   Tango::DEV_STRING, Tango::READ) {};
+	~autoFilterStateAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_autoFilterState(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_autoFilterState_allowed(ty);}
+};
+
+//	Attribute RiseTime class definition
+class RiseTimeAttrib: public Tango::Attr
+{
+public:
+	RiseTimeAttrib():Attr("RiseTime",
+	                   Tango::DEV_LONG, Tango::READ_WRITE) {};
+	~RiseTimeAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_RiseTime(att);}
+	virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
+		{(static_cast<Keithley428 *>(dev))->write_RiseTime(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_RiseTime_allowed(ty);}
+};
+
+//	Attribute RiseTimeStr class definition
+class RiseTimeStrAttrib: public Tango::Attr
+{
+public:
+	RiseTimeStrAttrib():Attr("RiseTimeStr",
+	                   Tango::DEV_STRING, Tango::READ) {};
+	~RiseTimeStrAttrib() {};
+	
+	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
+		{(static_cast<Keithley428 *>(dev))->read_RiseTimeStr(att);}
+	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
+		{return (static_cast<Keithley428 *>(dev))->is_RiseTimeStr_allowed(ty);}
+};
+
+
+
+
+
+//=========================================
+//	Define classes for commands
+//=========================================
+//	Command PerformZeroCorrect class definition
+class PerformZeroCorrectClass : public Tango::Command
+{
+public:
+	PerformZeroCorrectClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out,
+				   const char        *in_desc,
+				   const char        *out_desc,
+				   Tango::DispLevel  level)
+	:Command(name,in,out,in_desc,out_desc, level)	{};
+
+	PerformZeroCorrectClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out)
+	:Command(name,in,out)	{};
+	~PerformZeroCorrectClass() {};
+	
+	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
+	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
+	{return (static_cast<Keithley428 *>(dev))->is_PerformZeroCorrect_allowed(any);}
+};
+
+//	Command FilterOn class definition
+class FilterOnClass : public Tango::Command
+{
+public:
+	FilterOnClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out,
+				   const char        *in_desc,
+				   const char        *out_desc,
+				   Tango::DispLevel  level)
+	:Command(name,in,out,in_desc,out_desc, level)	{};
+
+	FilterOnClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out)
+	:Command(name,in,out)	{};
+	~FilterOnClass() {};
+	
+	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
+	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
+	{return (static_cast<Keithley428 *>(dev))->is_FilterOn_allowed(any);}
+};
+
+//	Command FilterOff class definition
+class FilterOffClass : public Tango::Command
+{
+public:
+	FilterOffClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out,
+				   const char        *in_desc,
+				   const char        *out_desc,
+				   Tango::DispLevel  level)
+	:Command(name,in,out,in_desc,out_desc, level)	{};
+
+	FilterOffClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out)
+	:Command(name,in,out)	{};
+	~FilterOffClass() {};
+	
+	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
+	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
+	{return (static_cast<Keithley428 *>(dev))->is_FilterOff_allowed(any);}
+};
+
+//	Command AutoFilterOn class definition
+class AutoFilterOnClass : public Tango::Command
+{
+public:
+	AutoFilterOnClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out,
+				   const char        *in_desc,
+				   const char        *out_desc,
+				   Tango::DispLevel  level)
+	:Command(name,in,out,in_desc,out_desc, level)	{};
+
+	AutoFilterOnClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out)
+	:Command(name,in,out)	{};
+	~AutoFilterOnClass() {};
+	
+	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
+	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
+	{return (static_cast<Keithley428 *>(dev))->is_AutoFilterOn_allowed(any);}
+};
+
+//	Command AutoFilterOff class definition
+class AutoFilterOffClass : public Tango::Command
+{
+public:
+	AutoFilterOffClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out,
+				   const char        *in_desc,
+				   const char        *out_desc,
+				   Tango::DispLevel  level)
+	:Command(name,in,out,in_desc,out_desc, level)	{};
+
+	AutoFilterOffClass(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out)
+	:Command(name,in,out)	{};
+	~AutoFilterOffClass() {};
+	
+	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
+	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
+	{return (static_cast<Keithley428 *>(dev))->is_AutoFilterOff_allowed(any);}
+};
+
+
+
+
+
+/**
+ *	The TemplateDevServClass singleton definition
+ */
+
+class
+#ifdef _TG_WINDOWS_
+	__declspec(dllexport)
+#endif
+	Keithley428Class : public Tango::DeviceClass
+{
+	/*----- PROTECTED REGION ID(Keithley428::Additionnal DServer data members) ENABLED START -----*/
+public:
+	
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::Additionnal DServer data members
+
+
+
+public:
+//	write class properties data members
+	Tango::DbData	cl_prop;
+	Tango::DbData	cl_def_prop;
+	Tango::DbData	dev_def_prop;
+
+//	Method prototypes
+	static Keithley428Class *init(const char *);
+	static Keithley428Class *instance();
+	~Keithley428Class();
+	Tango::DbDatum	get_class_property(string &);
+	Tango::DbDatum	get_default_device_property(string &);
+	Tango::DbDatum	get_default_class_property(string &);
+	
+protected:
+	Keithley428Class(string &);
+	static Keithley428Class *_instance;
+	void command_factory();
+	void attribute_factory(vector<Tango::Attr *> &);
+	void write_class_property();
+	void set_default_property();
+	void get_class_property();
+	string get_cvstag();
+	string get_cvsroot();
+
+private:
+	void device_factory(const Tango::DevVarStringArray *);
+	void create_static_attribute_list(vector<Tango::Attr *> &);
+	void erase_dynamic_attributes(const Tango::DevVarStringArray *,vector<Tango::Attr *> &);
+	vector<string>	defaultAttList;
+
+
+};
+
+}	//	namespace
+
+#endif	//	KEITHLEY428CLASS_H
+
diff --git a/Keithley428StateMachine.cpp b/Keithley428StateMachine.cpp
index 0b63358a4fbf02c23c48545a9f424bc0d32a999c..6ba665e0a96cde708d0fa36b652e24467001abe5 100644
--- a/Keithley428StateMachine.cpp
+++ b/Keithley428StateMachine.cpp
@@ -1,289 +1,385 @@
-static const char *RcsId = "$Id $";
-//+=============================================================================
-//
-// file :         Keithley428StateMachine.cpp
-//
-// description :  C++ source for the Keithley428 and its alowed 
-//                methods for commands and attributes
-//
-// project :      TANGO Device Server
-//
-// $Author:  $
-//
-// $Revision:  $
-// $Date:  $
-//
-// SVN only:
-// $HeadURL: $
-//
-// CVS only:
-// $Source:  $
-// $Log:  $
-//
-// copyleft :     European Synchrotron Radiation Facility
-//                BP 220, Grenoble 38043
-//                FRANCE
-//
-//-=============================================================================
-//
-//  		This file is generated by POGO
-//	(Program Obviously used to Generate tango Object)
-//
-//         (c) - Software Engineering Group - ESRF
-//=============================================================================
-
-#include <tango.h>
-#include <Keithley428.h>
-#include <Keithley428Class.h>
-
-/*====================================================================
- *	This file contains the methods to allow commands and attributes
- * read or write execution.
- *
- * If you wand to add your own code, add it between 
- * the "End/Re-Start of Generated Code" comments.
- *
- * If you want, you can also add your own methods.
- *====================================================================
- */
-
-namespace Keithley428_ns
-{
-
-//=================================================
-//		Attributes Allowed Methods
-//=================================================
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_Gain_allowed
-// 
-// description : 	Read/Write allowed for Gain attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_Gain_allowed(Tango::AttReqType type)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_GainStr_allowed
-// 
-// description : 	Read/Write allowed for GainStr attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_GainStr_allowed(Tango::AttReqType type)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_Overloaded_allowed
-// 
-// description : 	Read/Write allowed for Overloaded attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_Overloaded_allowed(Tango::AttReqType type)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_RiseTime_allowed
-// 
-// description : 	Read/Write allowed for RiseTime attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_RiseTime_allowed(Tango::AttReqType type)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_Bypass_allowed
-// 
-// description : 	Read/Write allowed for Bypass attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_Bypass_allowed(Tango::AttReqType type)
-{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_filterState_allowed
-// 
-// description : 	Read/Write allowed for filterState attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_filterState_allowed(Tango::AttReqType type)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_autoFilterState_allowed
-// 
-// description : 	Read/Write allowed for autoFilterState attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_autoFilterState_allowed(Tango::AttReqType type)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_RiseTimeStr_allowed
-// 
-// description : 	Read/Write allowed for RiseTimeStr attribute.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_RiseTimeStr_allowed(Tango::AttReqType type)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-
-//=================================================
-//		Commands Allowed Methods
-//=================================================
-
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_PerformZeroCorrect_allowed
-// 
-// description : 	Execution allowed for PerformZeroCorrect command.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_PerformZeroCorrect_allowed(const CORBA::Any &any)
-{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_FilterOn_allowed
-// 
-// description : 	Execution allowed for FilterOn command.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_FilterOn_allowed(const CORBA::Any &any)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_FilterOff_allowed
-// 
-// description : 	Execution allowed for FilterOff command.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_FilterOff_allowed(const CORBA::Any &any)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_AutoFilterOn_allowed
-// 
-// description : 	Execution allowed for AutoFilterOn command.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_AutoFilterOn_allowed(const CORBA::Any &any)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-//+----------------------------------------------------------------------------
-//
-// method : 		Keithley428::is_AutoFilterOff_allowed
-// 
-// description : 	Execution allowed for AutoFilterOff command.
-//
-//-----------------------------------------------------------------------------
-bool Keithley428::is_AutoFilterOff_allowed(const CORBA::Any &any)
-{
-	if (get_state() == Tango::FAULT)
-	{
-		//	End of Generated Code
-
-		//	Re-Start of Generated Code
-		return false;
-	}
-	return true;
-}
-
-}	// namespace Keithley428_ns
+/*----- PROTECTED REGION ID(Keithley428StateMachine.cpp) ENABLED START -----*/
+static const char *RcsId = "$Id:  $";
+//=============================================================================
+//
+// file :        Keithley428StateMachine.cpp
+//
+// description : C++ source for the �name� and its alowed
+//               methods for commands and attributes
+//
+// project :     Keithley428 Current Amplifier.
+//
+// $Author:  $
+//
+// $Revision:  $
+// $Date:  $
+//
+// SVN only:
+// $HeadURL:  $
+//
+// CVS only:
+// $Source:  $
+// $Log:  $
+//
+//=============================================================================
+//                This file is generated by POGO
+//        (Program Obviously used to Generate tango Object)
+//=============================================================================
+
+
+
+#include <Keithley428.h>
+#include <Keithley428Class.h>
+
+/*----- PROTECTED REGION END -----*/
+
+
+/*
+ * Keithley428 states description:
+ *
+ * ON :	 
+ * FAULT :	 
+ */
+
+namespace Keithley428_ns
+{
+
+//=================================================
+//		Attributes Allowed Methods
+//=================================================
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_GainState_allowed()
+ *	Description : Execution allowed for Gain attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_Gain_allowed(Tango::AttReqType type)
+{
+	//	Check if access type.
+	if ( type!=Tango::READ_REQ )
+	{
+			//	Not any excluded states for Gain attribute in WRITE access.
+		
+	/*----- PROTECTED REGION ID(Keithley428::GainStateAllowed_WRITE) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::GainStateAllowed_WRITE
+
+		return true;
+	}
+	else
+	if (	//	Compare device state with not allowed states for READ 
+		get_state() == Tango::FAULT)
+	{
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_GainStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_GainStateAllowed_READ
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_GainStrState_allowed()
+ *	Description : Execution allowed for GainStr attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_GainStr_allowed(Tango::AttReqType type)
+{
+	if (	//	Compare device state with not allowed states for READ 
+		get_state() == Tango::FAULT)
+	{
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_GainStrStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_GainStrStateAllowed_READ
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_OverloadedState_allowed()
+ *	Description : Execution allowed for Overloaded attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_Overloaded_allowed(Tango::AttReqType type)
+{
+	if (	//	Compare device state with not allowed states for READ 
+		get_state() == Tango::FAULT)
+	{
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_OverloadedStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_OverloadedStateAllowed_READ
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_BypassState_allowed()
+ *	Description : Execution allowed for Bypass attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_Bypass_allowed(Tango::AttReqType type)
+{
+	//	Check if access type.
+	if ( type!=Tango::READ_REQ )
+	{
+			//	Not any excluded states for Bypass attribute in WRITE access.
+		
+	/*----- PROTECTED REGION ID(Keithley428::BypassStateAllowed_WRITE) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::BypassStateAllowed_WRITE
+
+		return true;
+	}
+	else
+		//	Not any excluded states for Bypass attribute in READ access.
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_BypassStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_BypassStateAllowed_READ
+
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_filterStateState_allowed()
+ *	Description : Execution allowed for filterState attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_filterState_allowed(Tango::AttReqType type)
+{
+	if (	//	Compare device state with not allowed states for READ 
+		get_state() == Tango::FAULT)
+	{
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_filterStateStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_filterStateStateAllowed_READ
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_autoFilterStateState_allowed()
+ *	Description : Execution allowed for autoFilterState attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_autoFilterState_allowed(Tango::AttReqType type)
+{
+	if (	//	Compare device state with not allowed states for READ 
+		get_state() == Tango::FAULT)
+	{
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_autoFilterStateStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_autoFilterStateStateAllowed_READ
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_RiseTimeState_allowed()
+ *	Description : Execution allowed for RiseTime attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_RiseTime_allowed(Tango::AttReqType type)
+{
+	//	Check if access type.
+	if ( type!=Tango::READ_REQ )
+	{
+			//	Not any excluded states for RiseTime attribute in WRITE access.
+		
+	/*----- PROTECTED REGION ID(Keithley428::RiseTimeStateAllowed_WRITE) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::RiseTimeStateAllowed_WRITE
+
+		return true;
+	}
+	else
+	if (	//	Compare device state with not allowed states for READ 
+		get_state() == Tango::FAULT)
+	{
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_RiseTimeStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_RiseTimeStateAllowed_READ
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_RiseTimeStrState_allowed()
+ *	Description : Execution allowed for RiseTimeStr attribute.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_RiseTimeStr_allowed(Tango::AttReqType type)
+{
+	if (	//	Compare device state with not allowed states for READ 
+		get_state() == Tango::FAULT)
+	{
+	
+	/*----- PROTECTED REGION ID(Keithley428::read_RiseTimeStrStateAllowed_READ) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::read_RiseTimeStrStateAllowed_READ
+
+		return false;
+	}
+	return true;
+}
+
+
+	/*----- PROTECTED REGION ID(Keithley428::are_dynamic_attributes_allowed) ENABLED START -----*/
+
+	//	Add your code to check if dynamic attributes are alowed
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::are_dynamic_attributes_allowed
+
+
+//=================================================
+//		Commands Allowed Methods
+//=================================================
+
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_PerformZeroCorrectState_allowed()
+ *	Description : Execution allowed for PerformZeroCorrect command.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_PerformZeroCorrect_allowed(const CORBA::Any &any)
+{
+	//	Not any excluded states for PerformZeroCorrect command.
+
+	/*----- PROTECTED REGION ID(Keithley428::PerformZeroCorrectStateAllowed) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::PerformZeroCorrectStateAllowed
+
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_FilterOnState_allowed()
+ *	Description : Execution allowed for FilterOn command.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_FilterOn_allowed(const CORBA::Any &any)
+{
+	if (	//	Compare device state with not allowed states for command 
+		get_state() == Tango::FAULT)
+	{
+
+	/*----- PROTECTED REGION ID(Keithley428::FilterOnStateAllowed) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::FilterOnStateAllowed
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_FilterOffState_allowed()
+ *	Description : Execution allowed for FilterOff command.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_FilterOff_allowed(const CORBA::Any &any)
+{
+	if (	//	Compare device state with not allowed states for command 
+		get_state() == Tango::FAULT)
+	{
+
+	/*----- PROTECTED REGION ID(Keithley428::FilterOffStateAllowed) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::FilterOffStateAllowed
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_AutoFilterOnState_allowed()
+ *	Description : Execution allowed for AutoFilterOn command.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_AutoFilterOn_allowed(const CORBA::Any &any)
+{
+	if (	//	Compare device state with not allowed states for command 
+		get_state() == Tango::FAULT)
+	{
+
+	/*----- PROTECTED REGION ID(Keithley428::AutoFilterOnStateAllowed) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::AutoFilterOnStateAllowed
+
+		return false;
+	}
+	return true;
+}
+
+//--------------------------------------------------------
+/**
+ *	Method      : Keithley428::is_AutoFilterOffState_allowed()
+ *	Description : Execution allowed for AutoFilterOff command.
+ */
+//--------------------------------------------------------
+
+bool Keithley428::is_AutoFilterOff_allowed(const CORBA::Any &any)
+{
+	if (	//	Compare device state with not allowed states for command 
+		get_state() == Tango::FAULT)
+	{
+
+	/*----- PROTECTED REGION ID(Keithley428::AutoFilterOffStateAllowed) ENABLED START -----*/
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::AutoFilterOffStateAllowed
+
+		return false;
+	}
+	return true;
+}
+
+
+	/*----- PROTECTED REGION ID(Keithley428::are_dynamic_commands_allowed) ENABLED START -----*/
+
+	//	Add your code to check if dynamic commands are alowed
+
+	/*----- PROTECTED REGION END -----*/	//	Keithley428::are_dynamic_commands_allowed
+
+}	// namespace Keithley428_ns
diff --git a/Makefile b/Makefile
index 6d8b6281ca03e27e1c860f0ef4c10203462fab60..dfd299ec990181d5622f3004ecfc6f01e7a060ad 100644
--- a/Makefile
+++ b/Makefile
@@ -1,158 +1,162 @@
+#PROTECTED REGION ID(Keithley428::Makefile) ENABLED START#
 #=============================================================================
 #
 # file :        Makefile
 #
-# description : Include for the Keithley428 class.
+# description : Makefile to generate a TANGO device server.
 #
-# project :     Makefile to generate a Tango server
+# project :     Keithley428 Current Amplifier
 #
 # $Author:  $
 #
-# $Revision: $
+# $Revision:  $
 #
+# $Log:  $
 #
-# copyleft :    European Synchrotron Radiation Facility
-#               BP 220, Grenoble 38043
-#               FRANCE
-#
 #=============================================================================
-#  		This file is generated by POGO
-#	(Program Obviously used to Generate tango Object)
+#                This file is generated by POGO
+#        (Program Obviously used to Generate tango Object)
+#=============================================================================
+#
 #
-#         (c) - Software Engineering Group - ESRF
 #=============================================================================
+# MAKE_ENV is the path to find common environment to buil project
 #
+MAKE_ENV = $(TANGO_DIR)/Libraries/cppserver/common
 
-CLASS      = Keithley428
-MAJOR_VERS = 1
-MINOR_VERS = 1
-RELEASE    = Release_$(MAJOR_VERS)_$(MINOR_VERS)
-
-ifndef _ARCH
-	_ARCH = $(shell uname -m)
-endif
-ifeq ($(_ARCH), x86_64)
-	libdir=lib64
-else
-	libdir=lib
-endif
-#-----------------------------------------
-#	Set default home directories
-#-----------------------------------------
+#=============================================================================
+# PACKAGE_NAME is the name of the library/device/exe you want to build
+#
+PACKAGE_NAME = Keithley428
+MAJOR_VERS   = 1
+MINOR_VERS   = 3
+RELEASE      = Release_$(MAJOR_VERS)_$(MINOR_VERS)
+
+# #=============================================================================
+# # RELEASE_TYPE
+# # - DEBUG     : debug symbols - no optimization
+# # - OPTIMIZED : no debug symbols - optimization level set to O2
+# #-----------------------------------------------------------------------------
+RELEASE_TYPE = DEBUG
 
+#=============================================================================
+# OUTPUT_TYPE can be one of the following :
+#   - 'STATIC_LIB' for a static library (.a)
+#   - 'SHARED_LIB' for a dynamic library (.so)
+#   - 'DEVICE' for a device server (will automatically include and link
+#            with Tango dependencies)
+#   - 'SIMPLE_EXE' for an executable with no dependency (for exemple the test tool
+#                of a library with no Tango dependencies)
+#
+OUTPUT_TYPE = DEVICE
 
-TANGO_HOME   =  /usr/local
-ABS_CLASS    =
-CPP_SERVERS  =  $(TANGO_DIR)/Libraries/cppserver
-UTIL_DIR=$(TANGO_DIR)/Libraries/util/trunk
+#=============================================================================
+# OUTPUT_DIR  is the directory which contains the build result.
+# if not set, the standard location is :
+#	- $HOME/DeviceServers if OUTPUT_TYPE is DEVICE
+#	- ../bin for others
+#
+OUTPUT_DIR = ./bin/$(BIN_DIR)
 
-ifdef no_debug
-	DEBUG = -O
-else
-	DEBUG = -g
-endif
 
 #
 # if 'make using_trunk=1' use the trunk directories
 #
 ifdef using_trunk
-  CTRL_DIR = $(TANGO_DIR)/DeviceClasses/Communication/GpibDeviceServer/trunk
+  GPIB_DIR = $(TANGO_DIR)/DeviceClasses/Communication/GpibDeviceServer/trunk
 else
-  CTRL_DIR = $(shell find $(TANGO_DIR)/DeviceClasses/Communication/GpibDeviceServer/tags -type d -regex '.*Release_[0-9]*_[0-9]*' | sort -t '_' -k2 -k3 -nr | head -1)
+  GPIB_DIR = $(shell find $(TANGO_DIR)/DeviceClasses/Communication/GpibDeviceServer/tags -type d -regex '.*Release_[0-9]*_[0-9]*' | sort -t '_' -k2 -k3 -nr | head -1)
 endif
 
-INCLUDE_DIRS =  -I$(TANGO_HOME)/include/tango \
-		-I/usr/local/include \
-		-I.	\
-		-I$(CTRL_DIR) \
-                -I$(CPP_SERVERS)/include
-
-OBJS_DIR    = obj
-LIB_DIRS    = 	-L $(TANGO_HOME)/$(libdir) \
-		-L /usr/local/$(libdir) \
-		-L $(CPP_SERVERS)/$(libdir)
-
+#=============================================================================
+# INC_DIR_USER is the list of all include path needed by your sources
+#   - for a device server, tango dependencies are automatically appended
+#   - '-I ../include' and '-I .' are automatically appended in all cases
+#
+#
+INC_DIR_USER= -I . -I$(GPIB_DIR)
 
 
-#-----------------------------------------
-#	Set  CXXFLAGS and LFLAGS
-#-----------------------------------------
-CXXFLAGS =  $(DEBUG) -D_REENTRANT $(INCLUDE_DIRS)
-LFLAGS =  $(DEBUG) $(LIB_DIRS)  		\
-				-ltango			\
-				-llog4tango		\
-				-lomniORB4 		\
-				-lomniDynamic4	\
-				-lomnithread	\
-				-lCOS4			\
-				-lGpibDeviceServer \
-				/usr/local/$(libdir)/libgpib.a \
-				-ldl -lpthread 
+#=============================================================================
+# LIB_DIR_USER is the list of user library directories
+#   - for a device server, tango libraries directories are automatically appended
+#   - '-L ../lib' is automatically appended in all cases
+#
+LIB_DIR_USER=
 
+#=============================================================================
+# LFLAGS_USR is the list of user link flags
+#   - for a device server, tango libraries directories are automatically appended
+#   - '-ldl -lpthread' is automatically appended in all cases
+#
+# !!! ATTENTION !!!
+# Be aware that the order matters. 
+# For example if you must link with libA, and if libA depends itself on libB
+# you must use '-lA -lB' in this order as link flags, otherwise you will get
+# 'undefined reference' errors
+#
+LFLAGS_USR+=  $(GPIB_DIR)/bin/libGpibDeviceServer.a  $(TANGO_HOME)/$(_libdir)/libgpib.a
 
 
+#=============================================================================
+# CXXFLAGS_USR lists the compilation flags specific for your library/device/exe
+# This is the place where to put your compile-time macros using '-Dmy_macro'
+#
+# -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ for ACE
+#
+#CXXFLAGS_USR+= -Wall
 
-#-----------------------------------------
-#	Set  dependences
-#-----------------------------------------
 
-SVC_OBJS = $(OBJS_DIR)/main.o	\
-		$(OBJS_DIR)/ClassFactory.o	\
-		$(OBJS_DIR)/$(CLASS)Class.o	\
-		$(OBJS_DIR)/$(CLASS)StateMachine.o	\
-		$(OBJS_DIR)/$(CLASS).o
+#=============================================================================
+# TANGO_REQUIRED 
+# - TRUE  : your project depends on TANGO
+# - FALSE : your project does not depend on TANGO
+#-----------------------------------------------------------------------------
+# - NOTE : if PROJECT_TYPE is set to DEVICE, TANGO will be auto. added
+#-----------------------------------------------------------------------------  
+TANGO_REQUIRED = TRUE
 
-SVC_INC = $(CLASS)Class.h \
-		$(CLASS).h
 
 
-$(OBJS_DIR)/%.o: %.cpp $(SVC_INC)
-	$(CXX) $(CXXFLAGS) -c $< -o $(OBJS_DIR)/$*.o
+#=============================================================================
+#	include Standard TANGO compilation options
+#
+include $(MAKE_ENV)/tango.opt
 
-#-----------------------------------------
-#	 Make Entry
-#-----------------------------------------
-all: other_classes $(CLASS)
+#=============================================================================
+#	POST_PROCESSING: action to be done after normal make.
+#	e.g.:  change executable file name, .....
+#POST_PROCESSING = \
+#	mv bin/$(BIN_DIR)/$(PACKAGE_NAME) bin/$(BIN_DIR)/$(PACKAGE_NAME)_DS
 
-other_classes: 
-	@echo -e "\n >>> Making $(CPP_SERVERS)/$(libdir)/libGpibDeviceServer.a \n"
-	cd $(CTRL_DIR) && make linux=1 lib
+#=============================================================================
+# SVC_OBJS is the list of all objects needed to make the output
+#
+SVC_INCL =  $(PACKAGE_NAME).h $(PACKAGE_NAME)Class.h
 
-$(CLASS):	make_obj_dir make_bin_dir $(SVC_OBJS)
-	$(CXX) $(SVC_OBJS) -o $(CLASS) $(LFLAGS)
-	@mv $(CLASS) bin/$(CLASS)
 
-clean:
-	rm -f $(OBJS_DIR)/*.o  \
-	$(OBJS_DIR)/*.so.o \
-	bin/$(CLASS) \
-	core
+SVC_OBJS =      \
+            $(OBJDIR)/$(PACKAGE_NAME).o \
+            $(OBJDIR)/$(PACKAGE_NAME)Class.o \
+            $(OBJDIR)/$(PACKAGE_NAME)StateMachine.o \
+            $(OBJDIR)/ClassFactory.o  \
+            $(OBJDIR)/main.o \
+            $(ADDITIONAL_OBJS) 
 
-make_obj_dir:
-	@mkdir -p obj
 
-make_bin_dir:
-	@mkdir -p bin
+#------------  Object files for additional files  ------------
+SPECIFIC_ALL_TARGET= libGpibDeviceServer.a
 
-#-----------------------------------------
-#	 Install binary file
-#-----------------------------------------
-install:
-	cp bin/$(CLASS)  $(DESTDIR)
+ADDITIONAL_OBJS = 
 
+#=============================================================================
+#	include common targets
+#
+include $(MAKE_ENV)/common_target.opt
 
-#----------------------------------------------------
-#	Tag the SVN module corresponding to this class
-#----------------------------------------------------
-tag:
-ifeq ($(shell ls -d ../tags/$(RELEASE) 2>/dev/null ), ../tags/$(RELEASE))
-	@echo $(RELEASE) exists, specify new version numbers
-else
-	svn copy ../trunk ../tags/$(RELEASE)
-	svn commit ../tags/$(RELEASE) \
-	-m "Tagging the $(RELEASE) of the $(CLASS) project."
-endif
 
-show_tag:
-	@cvstag -d
 
+libGpibDeviceServer.a:
+	@echo -e "\n >>> Making $(GPIB_DIR)/bin/libGpibDeviceServer.a \n"
+	cd $(GPIB_DIR) && make  OUTPUT_TYPE=STATIC_LIB
+#PROTECTED REGION END#
diff --git a/TangoClassID.txt b/TangoClassID.txt
deleted file mode 100644
index d716b70f5f7d0477547863ee5a6eba7353ed2f07..0000000000000000000000000000000000000000
--- a/TangoClassID.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Device Class Identification:
- * 
- * Class Name   :	Keithley428
- * Contact      :	tnunez@mail.desy.de
- * Class Family :	Instrumentation
- * Platform     :	Unix Like
- * Bus          :	GPIB
- * Manufacturer :	Keithley
- * Reference    :	428
- */
diff --git a/doc_html/AttrBypass.html b/doc_html/AttrBypass.html
new file mode 100644
index 0000000000000000000000000000000000000000..23f9b5a446ee3764e3871afe49c8b90c11ca1a29
--- /dev/null
+++ b/doc_html/AttrBypass.html
@@ -0,0 +1,267 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            Bypass Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ_WRITE </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_LONG </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read allowed for   </b></Font></Td>
+			<Td> All states </Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b> Write allowed for   </b></Font></Td>
+			<Td> All states </Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td>  </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> %d</Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> 2</Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> 0</Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> 0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.</Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrBypass.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/AttrGain.html b/doc_html/AttrGain.html
new file mode 100644
index 0000000000000000000000000000000000000000..df20d8ef08083de9cb03b871062ee0545f9cdaad
--- /dev/null
+++ b/doc_html/AttrGain.html
@@ -0,0 +1,273 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            Gain Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ_WRITE </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_LONG </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read NOT allowed for   </b></Font></Td>
+			<Td> 
+					- FAULT <Br>
+			</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b> Write allowed for   </b></Font></Td>
+			<Td> All states </Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+			<Tr>
+				<Td> <Font=+1><b> Memorized  </b></Font></Td>
+				<Td> Hardware  written at init</Td>
+			</Tr>
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td>  </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> %d</Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> 11</Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> 0</Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> 0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A</Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrGain.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/AttrGainStr.html b/doc_html/AttrGainStr.html
new file mode 100644
index 0000000000000000000000000000000000000000..f98d3365e79656431b70c4e0ca5fa2ab81df077a
--- /dev/null
+++ b/doc_html/AttrGainStr.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            GainStr Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_STRING </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read NOT allowed for   </b></Font></Td>
+			<Td> 
+					- FAULT <Br>
+			</Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> </Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrGainStr.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/AttrOverloaded.html b/doc_html/AttrOverloaded.html
new file mode 100644
index 0000000000000000000000000000000000000000..83b2f11821b14cc34ddff17ffba890a4f8c9749f
--- /dev/null
+++ b/doc_html/AttrOverloaded.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            Overloaded Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		1 if device is overloaded
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_LONG </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read NOT allowed for   </b></Font></Td>
+			<Td> 
+					- FAULT <Br>
+			</Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td>  </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> %d</Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> 1 if device is overloaded</Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrOverloaded.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/AttrRiseTime.html b/doc_html/AttrRiseTime.html
new file mode 100644
index 0000000000000000000000000000000000000000..c471b7cfa8a5e25c7148dd9b8f9d2f3f9b0e1fc5
--- /dev/null
+++ b/doc_html/AttrRiseTime.html
@@ -0,0 +1,273 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            RiseTime Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ_WRITE </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_LONG </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read NOT allowed for   </b></Font></Td>
+			<Td> 
+					- FAULT <Br>
+			</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b> Write allowed for   </b></Font></Td>
+			<Td> All states </Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+			<Tr>
+				<Td> <Font=+1><b> Memorized  </b></Font></Td>
+				<Td> Hardware  written at init</Td>
+			</Tr>
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td>  </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> %d</Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> 9</Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> 0</Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n</Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrRiseTime.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/AttrRiseTimeStr.html b/doc_html/AttrRiseTimeStr.html
new file mode 100644
index 0000000000000000000000000000000000000000..2341bb53b9dccd58e23dc9b66c6d4d9b736a0394
--- /dev/null
+++ b/doc_html/AttrRiseTimeStr.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            RiseTimeStr Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_STRING </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read NOT allowed for   </b></Font></Td>
+			<Td> 
+					- FAULT <Br>
+			</Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td>  </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n</Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrRiseTimeStr.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/AttrautoFilterState.html b/doc_html/AttrautoFilterState.html
new file mode 100644
index 0000000000000000000000000000000000000000..5c88542b9ccb237a7ca0311c23d8d3aa0473bfdf
--- /dev/null
+++ b/doc_html/AttrautoFilterState.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            autoFilterState Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		State of the auto Filter
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_STRING </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read NOT allowed for   </b></Font></Td>
+			<Td> 
+					- FAULT <Br>
+			</Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> State of the auto Filter</Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrautoFilterState.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/AttrfilterState.html b/doc_html/AttrfilterState.html
new file mode 100644
index 0000000000000000000000000000000000000000..e4923f520e104444bcf6f3dce3515d38989b48fd
--- /dev/null
+++ b/doc_html/AttrfilterState.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            filterState Attribute 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		State of the manual filter
+	</ul>
+	<Br>
+	<Br>
+	
+	
+	
+	<Table Border=0 Cellpadding=0 CELLSPACING=10>
+	<TR>
+	<TD ALIGN="left" VALIGN=top>
+	
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Attribute Definition 
+	</b></Font></Center></td>
+	</Tr>
+			<!---------- Attribute type ----------->
+			<Tr>
+				<Td> <Font=+1><b> Attribute Type  </b></Font></Td>
+				<Td> Scalar  </Td>
+			</Tr>
+		
+			<!---------- R/W type ----------->
+			<Tr>
+				<Td> <Font=+1><b> R/W Type  </b></Font></Td>
+				<Td> READ </Td>
+			</Tr>
+			
+			<!---------- Data type ----------->
+			<Tr>
+				<Td> <Font=+1><b>   Data Type  </b></Font></Td>
+				<Td> Tango::DEV_STRING </Td>
+			</Tr>
+			
+			<!---------- Allowed State ----------->
+			
+		<!--- Read access --->
+		<Tr>
+			<Td> <Font=+1><b> Read NOT allowed for   </b></Font></Td>
+			<Td> 
+					- FAULT <Br>
+			</Td>
+		</Tr>
+
+		
+			<!---------- Display Level ----------->
+			<Tr>
+				<Td> <Font=+1><b> Display Level  </b></Font></Td>
+				<Td> OPERATOR	</Td>
+			</Tr>
+		
+			<!---------- Inheritance ----------->
+			<Tr>
+				<Td> <Font=+1><b>  Inherited </b></Font></Td>
+				<Td> false	</Td>
+			</Tr>
+			<Tr>
+				<Td> <Font=+1><b>  Abstract </b></Font></Td>
+				<Td>  false </Td>
+			</Tr>
+	
+			<!---------- Polling ----------->
+			<Tr>
+				<Td> <Font=+1><b> Polling Period  </b></Font></Td>
+				<Td> 0 ms </Td>
+			</Tr>
+		
+			<!---------- Memorized ----------->
+		
+			<!---------- Change Event ----------->
+	
+			<!---------- Archive Event ----------->
+		
+		</Table>
+	</Td>
+	<Td ALIGN="left" VALIGN=top>
+		
+		
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		   Attrribute Properties 
+	</b></Font></Center></td>
+	</Tr>
+			<Tr><Td> <Font=+1><b>  label         </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  unit          </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  standard unit </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  display unit  </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  format        </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_value     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_alarm     </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  max_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  min_warning   </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_time    </b></Font></Td>    <Td> </Td></Tr>
+			<Tr><Td> <Font=+1><b>  delta_val     </b></Font></Td>    <Td> </Td></Tr>
+			<!--- Tr><Td> <Font=+1><b>  description   </b></Font></Td>    <Td> State of the manual filter</Td></Tr--->
+		</Table>
+	</Td>
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/AttrfilterState.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/Attributes.html b/doc_html/Attributes.html
index f0a66746bf96ce52a3023875780ea1136295678b..9964cf300e55f9e8b8815968a2d4eeeb6c7b1491 100644
--- a/doc_html/Attributes.html
+++ b/doc_html/Attributes.html
@@ -1,91 +1,233 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
 <HTML>
 <HEAD>
-<Title> Tango Device Server User's Guide </Title>
+<Title> Tango Device Server User s Guide </Title>
 </HEAD>
 <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
 
 <P><!-------TITLE------></P>
-
 <TABLE BORDER="0" WIDTH="100%">
     <TR>
         <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
         <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
         <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
     </TR>
 </TABLE>
 
 <HR WIDTH="100%"></H5>
-<Br>
-<center>
-<h1>
-Keithley428 Current Amplifier		<Br>
-Device Attributes Description 		<Br> <Br>
-Keithley428 Class	<Br>
-</h1>
-<b>
-Revision:  - Author: 
-</b>
-</center>
 
 
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
 <Br>
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=4> <Font Size=+2><Center><b>Scalar Attributes</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Attribute name</b></td></Center>
-<Td><Center><b>Data Type</b></td></Center>
-<Td><Center><b>R/W Type</b></td></Center>
-<Td><Center><b>Expert</b></td></Center>
-<Tr><Td><b>Gain</b>: <Font Size=-1>0, 1, 2, 3 -> 10e3 V/A 4 -> 10e4 V/A 5 -> 10e5 V/A 6 -> 10e6 V/A 7 -> 10e7 V/A 8 -> 10e8 V/A 9 -> 10e9 V/A 10 -> 10e10 V/A 11 -> 10e11 V/A</Font></Td>
-<Td><Center><Font Size=-1>DEV_LONG</Font></Center></Td><Td><Center><Font Size=-1>READ_WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
+<Br>
+<FONT SIZE="+2"><u>
+            Attributes
+</u></Font>
+</Center>
 
-<Tr><Td><b>GainStr</b></Td>
-<Td><Center><Font Size=-1>DEV_STRING</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
 
-<Tr><Td><b>Overloaded</b>: <Font Size=-1>1 if device is overloaded</Font></Td>
-<Td><Center><Font Size=-1>DEV_LONG</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
 
-<Tr><Td><b>Bypass</b>: <Font Size=-1>0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.</Font></Td>
-<Td><Center><Font Size=-1>DEV_LONG</Font></Center></Td><Td><Center><Font Size=-1>READ_WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=8> <Font Size=+1> <Center><b>
+		  8 Device Attributes
+	</b></Font></Center></td>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+		<Td><Center><b>
+			Name
+		</b></Center></td>
+		<Td><Center><b>
+			Inherited
+		</b></Center></td>
+		<Td><Center><b>
+			Abstract
+		</b></Center></td>
+		<Td><Center><b>
+			Attr. type
+		</b></Center></td>
+		<Td><Center><b>
+			R/W type
+		</b></Center></td>
+		<Td><Center><b>
+			Data type
+		</b></Center></td>
+		<Td><Center><b>
+			Level
+		</b></Center></td>
+		<Td><Center><b>
+			Description
+		</b></Center></td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrGain.html> Gain </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ_WRITE                             </Td>
+		<Td> Tango::DEV_LONG          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td> 0, 1, 2, 3 -> 10e3 V/A\n4 -> 10e4 V/A\n5 -> 10e5 V/A\n6 -> 10e6 V/A\n7 -> 10e7 V/A\n8 -> 10e8 V/A\n9 -> 10e9 V/A\n10 -> 10e10 V/A\n11 -> 10e11 V/A             </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrGainStr.html> GainStr </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ                             </Td>
+		<Td> Tango::DEV_STRING          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td>              </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrOverloaded.html> Overloaded </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ                             </Td>
+		<Td> Tango::DEV_LONG          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td> 1 if device is overloaded             </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrBypass.html> Bypass </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ_WRITE                             </Td>
+		<Td> Tango::DEV_LONG          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td> 0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.             </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrfilterState.html> filterState </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ                             </Td>
+		<Td> Tango::DEV_STRING          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td> State of the manual filter             </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrautoFilterState.html> autoFilterState </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ                             </Td>
+		<Td> Tango::DEV_STRING          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td> State of the auto Filter             </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrRiseTime.html> RiseTime </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ_WRITE                             </Td>
+		<Td> Tango::DEV_LONG          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td> 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n             </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=AttrRiseTimeStr.html> RiseTimeStr </a></Td>
+		<Td> false                   </Td>
+		<Td>  false </Td>
+		<Td> Scalar    </Td>
+		<Td> READ                             </Td>
+		<Td> Tango::DEV_STRING          </Td>
+		<Td> OPERATOR                       </Td>
+		<Td> 0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n             </Td>
+	</Tr>
+	</table>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/Attributes.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
 
-<Tr><Td><b>filterState</b>: <Font Size=-1>State of the manual filter</Font></Td>
-<Td><Center><Font Size=-1>DEV_STRING</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
 
-<Tr><Td><b>autoFilterState</b>: <Font Size=-1>State of the auto Filter</Font></Td>
-<Td><Center><Font Size=-1>DEV_STRING</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
+	<Br>
+	<Br>
+</ul>
+</FONT>
 
-</Table>
-</Center>
-<Br><Br><Br><Br><Br>
 
 <!--- html Footer --->
-
 <Center>
 <Font size=-1>
 <br>
@@ -107,16 +249,14 @@ Revision:  - Author:
 		<Td Align="Center">
 			<Font size=-1>
 			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
 			CVS repository</a> on
 			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
 			tango-cs project</a>
-
 			<br>
-
 			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
 			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
 					tango-ds project</a>
 			</Font>
@@ -127,3 +267,4 @@ Revision:  - Author:
 </Center>
 </body>
 </html>
+
diff --git a/doc_html/CmdAutoFilterOff.html b/doc_html/CmdAutoFilterOff.html
new file mode 100644
index 0000000000000000000000000000000000000000..d45904d965f71c1328fc8224563d32e35fb44b27
--- /dev/null
+++ b/doc_html/CmdAutoFilterOff.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            AutoFilterOff Command 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		Disable Auto Filter
+	</ul>
+	<Br>
+	<Br>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  AutoFilterOff Command 
+	</b></Font></Center></td>
+	</Tr>
+		<!---------- Input Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Input Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+	
+		<!---------- Output Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Output Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+		
+		<!---------- Allowed State ----------->
+		
+		<Tr>
+			<Td> <Font=+1><b> Command NOT allowed for   </Font></Td>
+			<Td> 
+				
+					- FAULT <Br>
+				
+			</Td>
+		</Tr>
+		
+	
+		<!---------- Display Level ----------->
+		<Tr>
+			<Td> <Font=+1><b> Display Level  </Font></Td>
+			<Td> OPERATOR	</Td>
+		</Tr>
+	
+		<!---------- Inheritance ----------->
+		<Tr>
+			<Td> <Font=+1><b>  Inherited </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b>  Abstract </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+
+
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/CmdAutoFilterOff.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/CmdAutoFilterOn.html b/doc_html/CmdAutoFilterOn.html
new file mode 100644
index 0000000000000000000000000000000000000000..5b1425d3a1a33151a13cfb8d464dc738792b71b4
--- /dev/null
+++ b/doc_html/CmdAutoFilterOn.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            AutoFilterOn Command 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		Enable Auto Filter
+	</ul>
+	<Br>
+	<Br>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  AutoFilterOn Command 
+	</b></Font></Center></td>
+	</Tr>
+		<!---------- Input Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Input Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+	
+		<!---------- Output Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Output Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+		
+		<!---------- Allowed State ----------->
+		
+		<Tr>
+			<Td> <Font=+1><b> Command NOT allowed for   </Font></Td>
+			<Td> 
+				
+					- FAULT <Br>
+				
+			</Td>
+		</Tr>
+		
+	
+		<!---------- Display Level ----------->
+		<Tr>
+			<Td> <Font=+1><b> Display Level  </Font></Td>
+			<Td> OPERATOR	</Td>
+		</Tr>
+	
+		<!---------- Inheritance ----------->
+		<Tr>
+			<Td> <Font=+1><b>  Inherited </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b>  Abstract </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+
+
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/CmdAutoFilterOn.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/CmdFilterOff.html b/doc_html/CmdFilterOff.html
new file mode 100644
index 0000000000000000000000000000000000000000..633588ae081a4241e9259d8514154645b40e3648
--- /dev/null
+++ b/doc_html/CmdFilterOff.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            FilterOff Command 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		Turn the filter OFF
+	</ul>
+	<Br>
+	<Br>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  FilterOff Command 
+	</b></Font></Center></td>
+	</Tr>
+		<!---------- Input Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Input Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+	
+		<!---------- Output Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Output Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+		
+		<!---------- Allowed State ----------->
+		
+		<Tr>
+			<Td> <Font=+1><b> Command NOT allowed for   </Font></Td>
+			<Td> 
+				
+					- FAULT <Br>
+				
+			</Td>
+		</Tr>
+		
+	
+		<!---------- Display Level ----------->
+		<Tr>
+			<Td> <Font=+1><b> Display Level  </Font></Td>
+			<Td> OPERATOR	</Td>
+		</Tr>
+	
+		<!---------- Inheritance ----------->
+		<Tr>
+			<Td> <Font=+1><b>  Inherited </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b>  Abstract </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+
+
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/CmdFilterOff.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/CmdFilterOn.html b/doc_html/CmdFilterOn.html
new file mode 100644
index 0000000000000000000000000000000000000000..f7e7b1c0661f4eeb82f957c60f26cc5e2a9b7d83
--- /dev/null
+++ b/doc_html/CmdFilterOn.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            FilterOn Command 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		Turn the filter ON
+	</ul>
+	<Br>
+	<Br>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  FilterOn Command 
+	</b></Font></Center></td>
+	</Tr>
+		<!---------- Input Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Input Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+	
+		<!---------- Output Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Output Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+		
+		<!---------- Allowed State ----------->
+		
+		<Tr>
+			<Td> <Font=+1><b> Command NOT allowed for   </Font></Td>
+			<Td> 
+				
+					- FAULT <Br>
+				
+			</Td>
+		</Tr>
+		
+	
+		<!---------- Display Level ----------->
+		<Tr>
+			<Td> <Font=+1><b> Display Level  </Font></Td>
+			<Td> OPERATOR	</Td>
+		</Tr>
+	
+		<!---------- Inheritance ----------->
+		<Tr>
+			<Td> <Font=+1><b>  Inherited </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b>  Abstract </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+
+
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/CmdFilterOn.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/CmdPerformZeroCorrect.html b/doc_html/CmdPerformZeroCorrect.html
new file mode 100644
index 0000000000000000000000000000000000000000..8c4c3fb4716416e48b5683ad487ee10c23f38909
--- /dev/null
+++ b/doc_html/CmdPerformZeroCorrect.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            PerformZeroCorrect Command 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		Perform Zero correction.
+	</ul>
+	<Br>
+	<Br>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  PerformZeroCorrect Command 
+	</b></Font></Center></td>
+	</Tr>
+		<!---------- Input Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Input Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+	
+		<!---------- Output Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Output Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+					(...)
+				 
+			</Td>
+		</Tr>
+		
+		<!---------- Allowed State ----------->
+		
+	
+		<!---------- Display Level ----------->
+		<Tr>
+			<Td> <Font=+1><b> Display Level  </Font></Td>
+			<Td> OPERATOR	</Td>
+		</Tr>
+	
+		<!---------- Inheritance ----------->
+		<Tr>
+			<Td> <Font=+1><b>  Inherited </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b>  Abstract </Font></Td>
+			<Td> false	</Td>
+		</Tr>
+
+
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/CmdPerformZeroCorrect.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/CmdState.html b/doc_html/CmdState.html
new file mode 100644
index 0000000000000000000000000000000000000000..69b464f0efda68b69c97a56a64f21aaf17cc2226
--- /dev/null
+++ b/doc_html/CmdState.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            State Command 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller.
+	</ul>
+	<Br>
+	<Br>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  State Command 
+	</b></Font></Center></td>
+	</Tr>
+		<!---------- Input Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Input Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+				 	(none.)
+				 
+			</Td>
+		</Tr>
+	
+		<!---------- Output Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Output Argument  </Font></Td>
+			<Td> Tango::DEV_STATE
+				 	(State Code)
+				 
+			</Td>
+		</Tr>
+		
+		<!---------- Allowed State ----------->
+		
+	
+		<!---------- Display Level ----------->
+		<Tr>
+			<Td> <Font=+1><b> Display Level  </Font></Td>
+			<Td> OPERATOR	</Td>
+		</Tr>
+	
+		<!---------- Inheritance ----------->
+		<Tr>
+			<Td> <Font=+1><b>  Inherited </Font></Td>
+			<Td> true	</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b>  Abstract </Font></Td>
+			<Td> true	</Td>
+		</Tr>
+
+
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/CmdState.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/CmdStatus.html b/doc_html/CmdStatus.html
new file mode 100644
index 0000000000000000000000000000000000000000..b9192978a94c9ffc980b9d2a5813e5e3e754ff9e
--- /dev/null
+++ b/doc_html/CmdStatus.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            Status Command 
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	<Font SIZE="+0"> <b><u> Description :</u></b> </Font>
+	<ul>
+		This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller.
+	</ul>
+	<Br>
+	<Br>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=0> <Font Size=+1> <Center><b>
+		  Status Command 
+	</b></Font></Center></td>
+	</Tr>
+		<!---------- Input Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Input Argument  </Font></Td>
+			<Td> Tango::DEV_VOID
+				 	(none.)
+				 
+			</Td>
+		</Tr>
+	
+		<!---------- Output Argument ----------->
+		<Tr>
+			<Td> <Font=+1><b> Output Argument  </Font></Td>
+			<Td> Tango::CONST_DEV_STRING
+				 	(Status description)
+				 
+			</Td>
+		</Tr>
+		
+		<!---------- Allowed State ----------->
+		
+	
+		<!---------- Display Level ----------->
+		<Tr>
+			<Td> <Font=+1><b> Display Level  </Font></Td>
+			<Td> OPERATOR	</Td>
+		</Tr>
+	
+		<!---------- Inheritance ----------->
+		<Tr>
+			<Td> <Font=+1><b>  Inherited </Font></Td>
+			<Td> true	</Td>
+		</Tr>
+		<Tr>
+			<Td> <Font=+1><b>  Abstract </Font></Td>
+			<Td> true	</Td>
+		</Tr>
+
+
+	</Table>
+	<Br>
+	<Br>
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/CmdStatus.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+<Br>
+<Br>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/Commands.html b/doc_html/Commands.html
new file mode 100644
index 0000000000000000000000000000000000000000..0ad5c4855adb2d8ad6bfa5a18dfc958a70a4a11e
--- /dev/null
+++ b/doc_html/Commands.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            Commands
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=7> <Font Size=+1> <Center><b>
+		  7 Device Commands
+	</b></Font></Center></td>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+		<Td><Center><b>
+			Name
+		</b></Center></td>
+		<Td><Center><b>
+			Inherited
+		</b></Center></td>
+		<Td><Center><b>
+			Concrete
+		</b></Center></td>
+		<Td><Center><b>
+			Input type
+		</b></Center></td>
+		<Td><Center><b>
+			Output type
+		</b></Center></td>
+		<Td><Center><b>
+			Level
+		</b></Center></td>
+		<Td><Center><b>
+			Description
+		</b></Center></td>
+	</Tr>
+	<Tr>
+		<Td> <a href=CmdState.html> State </a></Td>
+		<Td> true                 </Td>
+		<Td> true                  </Td>
+		<Td> Tango::DEV_VOID      </Td>
+		<Td> Tango::DEV_STATE     </Td>
+		<Td> OPERATOR                     </Td>
+		<Td> This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller.                      </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=CmdStatus.html> Status </a></Td>
+		<Td> true                 </Td>
+		<Td> true                  </Td>
+		<Td> Tango::DEV_VOID      </Td>
+		<Td> Tango::CONST_DEV_STRING     </Td>
+		<Td> OPERATOR                     </Td>
+		<Td> This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller.                      </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=CmdPerformZeroCorrect.html> PerformZeroCorrect </a></Td>
+		<Td> false                 </Td>
+		<Td> true                  </Td>
+		<Td> Tango::DEV_VOID      </Td>
+		<Td> Tango::DEV_VOID     </Td>
+		<Td> OPERATOR                     </Td>
+		<Td> Perform Zero correction.                      </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=CmdFilterOn.html> FilterOn </a></Td>
+		<Td> false                 </Td>
+		<Td> true                  </Td>
+		<Td> Tango::DEV_VOID      </Td>
+		<Td> Tango::DEV_VOID     </Td>
+		<Td> OPERATOR                     </Td>
+		<Td> Turn the filter ON                      </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=CmdFilterOff.html> FilterOff </a></Td>
+		<Td> false                 </Td>
+		<Td> true                  </Td>
+		<Td> Tango::DEV_VOID      </Td>
+		<Td> Tango::DEV_VOID     </Td>
+		<Td> OPERATOR                     </Td>
+		<Td> Turn the filter OFF                      </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=CmdAutoFilterOn.html> AutoFilterOn </a></Td>
+		<Td> false                 </Td>
+		<Td> true                  </Td>
+		<Td> Tango::DEV_VOID      </Td>
+		<Td> Tango::DEV_VOID     </Td>
+		<Td> OPERATOR                     </Td>
+		<Td> Enable Auto Filter                      </Td>
+	</Tr>
+	<Tr>
+		<Td> <a href=CmdAutoFilterOff.html> AutoFilterOff </a></Td>
+		<Td> false                 </Td>
+		<Td> true                  </Td>
+		<Td> Tango::DEV_VOID      </Td>
+		<Td> Tango::DEV_VOID     </Td>
+		<Td> OPERATOR                     </Td>
+		<Td> Disable Auto Filter                      </Td>
+	</Tr>
+	</table>
+<Br>
+<Br>
+
+<!---  /*PROTECTED REGION ID(./doc_html/Commands.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/Description.html b/doc_html/Description.html
deleted file mode 100644
index 43671a6307abf18043a3fb4d3dbd6978d6607ff8..0000000000000000000000000000000000000000
--- a/doc_html/Description.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-<Title> Tango Device Server User's Guide </Title>
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
-
-<P><!-------TITLE------></P>
-<TABLE BORDER="0" WIDTH="100%">
-    <TR>
-        <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
-    </TR>
-</TABLE>
-<Br>
-
-
-<HR WIDTH="100%"></H5>
-<Br>
-<center>
-<h1>
-Keithley428 Current Amplifier		<Br>
-Device Description 		<Br> <Br>
-Keithley428 Class	<Br>
-</h1>
-<b>
-Revision:  - Author: 
-</b>
-</center>
-
-
-<Center>
-Class for controlling the Keithley428 current amplifier.
-<Br>
-<Br>
-</Center>
-
-<!--- html Footer --->
-
-<Center>
-<Font size=-1>
-<br>
-<br>
-<TABLE BORDER="1" WIDTH="100%">
-    <Tr>
-		<!--- Hosted by Sourceforge --->
-        <Td Align="Center">
-			<Font size=-1>
-			<b>TANGO</b> is an open source project hosted by :<br>
-			<A href="http://sourceforge.net" Target="new">
-					<IMG title="Sourceforge logo"
-						alt="Sourceforge logo small"
-						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
-						border=0> </a>
-			</Font>
-		</Td>
-		<!--- 2 Sourceforge Repositories --->
-		<Td Align="Center">
-			<Font size=-1>
-			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
-			CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
-			tango-cs project</a>
-
-			<br>
-
-			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
-					tango-ds project</a>
-			</Font>
-		</Td>
-    </Tr>
-</Table>
-</Font>
-</Center>
-</body>
-</html>
diff --git a/doc_html/DevCommands.html b/doc_html/DevCommands.html
deleted file mode 100644
index b24574da84f3d4173c70517cbbbe97566e8f4c2d..0000000000000000000000000000000000000000
--- a/doc_html/DevCommands.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-<Title> Tango Device Server User's Guide </Title>
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
-
-<P><!-------TITLE------></P>
-
-<TABLE BORDER="0" WIDTH="100%">
-    <TR>
-        <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
-    </TR>
-</TABLE>
-
-<HR WIDTH="100%"></H5>
-<Br>
-<center>
-<h1>
-Keithley428 Current Amplifier		<Br>
-Device Commands Description 		<Br> <Br>
-Keithley428 Class	<Br>
-</h1>
-<b>
-Revision:  - Author: 
-</b>
-</center>
-
-
-<Br>
-<Br>
-<Br>
-<A NAME="Init"><!-- --></A>
-<A NAME="Init"><!-- --></A>
-<h2>1 - Init</h2>
-<ul>
-<Li><Strong>Description: </Strong> This commands re-initialise a device keeping the same network connection.<Br>
-After an Init command executed on a device, it is not necessary for client to re-connect to the device.<Br>
-This command first calls the device <i> delete_device() </i>method and then execute its <i> init_device()</i> method.<Br>
-For C++ device server, all the memory allocated in the <i> nit_device() </i> method must be freed in the <i> delete_device() </i> method.<Br>
-The language device desctructor automatically calls the <i> delete_device() </i> method.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="State"><!-- --></A>
-<A NAME="State"><!-- --></A>
-<h2>2 - State</h2>
-<ul>
-<Li><Strong>Description: </Strong> This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_STATE</Strong>
- : State Code<Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="Status"><!-- --></A>
-<A NAME="Status"><!-- --></A>
-<h2>3 - Status</h2>
-<ul>
-<Li><Strong>Description: </Strong> This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Argout:<Br>CONST_DEV_STRING</Strong>
- : Status description<Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="PerformZeroCorrect"><!-- --></A>
-<A NAME="PerformZeroCorrect"><!-- --></A>
-<h2>4 - PerformZeroCorrect</h2>
-<ul>
-<Li><Strong>Description: </Strong> Perform Zero correction.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="FilterOn"><!-- --></A>
-<A NAME="FilterOn"><!-- --></A>
-<h2>5 - FilterOn</h2>
-<ul>
-<Li><Strong>Description: </Strong> Turn the filter ON<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="FilterOff"><!-- --></A>
-<A NAME="FilterOff"><!-- --></A>
-<h2>6 - FilterOff</h2>
-<ul>
-<Li><Strong>Description: </Strong> Turn the filter OFF<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="AutoFilterOn"><!-- --></A>
-<A NAME="AutoFilterOn"><!-- --></A>
-<h2>7 - AutoFilterOn</h2>
-<ul>
-<Li><Strong>Description: </Strong> Enable Auto Filter<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="AutoFilterOff"><!-- --></A>
-<A NAME="AutoFilterOff"><!-- --></A>
-<h2>8 - AutoFilterOff</h2>
-<ul>
-<Li><Strong>Description: </Strong> Disable Auto Filter<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-
-<!--- html Footer --->
-
-<Center>
-<Font size=-1>
-<br>
-<br>
-<TABLE BORDER="1" WIDTH="100%">
-    <Tr>
-		<!--- Hosted by Sourceforge --->
-        <Td Align="Center">
-			<Font size=-1>
-			<b>TANGO</b> is an open source project hosted by :<br>
-			<A href="http://sourceforge.net" Target="new">
-					<IMG title="Sourceforge logo"
-						alt="Sourceforge logo small"
-						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
-						border=0> </a>
-			</Font>
-		</Td>
-		<!--- 2 Sourceforge Repositories --->
-		<Td Align="Center">
-			<Font size=-1>
-			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
-			CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
-			tango-cs project</a>
-
-			<br>
-
-			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
-					tango-ds project</a>
-			</Font>
-		</Td>
-    </Tr>
-</Table>
-</Font>
-</Center>
-</body>
-</html>
diff --git a/doc_html/DevCommandsFrame.html b/doc_html/DevCommandsFrame.html
deleted file mode 100644
index f56da4036180e731a7abd94d44e495da48d4d64e..0000000000000000000000000000000000000000
--- a/doc_html/DevCommandsFrame.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-<Title> Tango Device Server User's Guide </Title>
-</HEAD>
-
-<FRAMESET cols="20%,80%">
-<FRAME src="DevCommandsList.html" name="DevCommandsList">
-<FRAME src="DevCommands.html" name="DevCommands">
-</FRAMESET>
-<NOFRAMES>
-<H2>
-Frame Alert</H2>
-
-<P>
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-<BR>
-Link to <A HREF="DevCommands.html">Non-frame version.</A></NOFRAMES>
-</HTML>
diff --git a/doc_html/DevCommandsList.html b/doc_html/DevCommandsList.html
deleted file mode 100644
index a2fef2688351d017f5c117b71977e86a92b70de9..0000000000000000000000000000000000000000
--- a/doc_html/DevCommandsList.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML><HEAD>
-<TITLE>Commands
-</TITLE></HEAD>
-<BODY BGCOLOR="white">
-<FONT size="+1" ID="FrameHeadingFont">
-<B>Commands:</B></FONT>
-<Br>
-<Br>
-<Br>
-<A Href="DevCommands.html#Init" TARGET="DevCommands"> Init</a><Br>
-<A Href="DevCommands.html#State" TARGET="DevCommands"> State</a><Br>
-<A Href="DevCommands.html#Status" TARGET="DevCommands"> Status</a><Br>
-<A Href="DevCommands.html#PerformZeroCorrect" TARGET="DevCommands"> PerformZeroCorrect</a><Br>
-<A Href="DevCommands.html#FilterOn" TARGET="DevCommands"> FilterOn</a><Br>
-<A Href="DevCommands.html#FilterOff" TARGET="DevCommands"> FilterOff</a><Br>
-<A Href="DevCommands.html#AutoFilterOn" TARGET="DevCommands"> AutoFilterOn</a><Br>
-<A Href="DevCommands.html#AutoFilterOff" TARGET="DevCommands"> AutoFilterOff</a><Br>
-
-
-</BODY>
-</HTML>
diff --git a/doc_html/DevCommandsTable.html b/doc_html/DevCommandsTable.html
deleted file mode 100644
index 9c3bd06c3ec997e319bc8e1e66274db9ba1c29de..0000000000000000000000000000000000000000
--- a/doc_html/DevCommandsTable.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-<Title> Tango Device Server User's Guide </Title>
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
-
-<P><!-------TITLE------></P>
-
-<TABLE BORDER="0" WIDTH="100%">
-    <TR>
-        <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
-    </TR>
-</TABLE>
-
-<HR WIDTH="100%"></H5>
-<Br>
-<center>
-<h1>
-Keithley428 Current Amplifier		<Br>
-Device Commands Description 		<Br> <Br>
-Keithley428 Class	<Br>
-</h1>
-<b>
-Revision:  - Author: 
-</b>
-</center>
-
-
-<Center>
-<Br><Br>
-<A Href="DevCommandsFrame.html"> More Details on commands.... </a><Br>
-<Br> <Br>
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=3> <Font Size=+2><Center><b>Device Commands for Operator Level</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Command name</b></td></Center>
-<Td><Center><b>Argument In</b></td></Center>
-<Td><Center><b>Argument Out</b></td></Center>
-<Tr><Td><b>Init</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Tr><Td><b>State</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_STATE</Font></Td>
-<Tr><Td><b>Status</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>CONST_DEV_STRING</Font></Td>
-<Tr><Td><b>PerformZeroCorrect</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Tr><Td><b>FilterOn</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Tr><Td><b>FilterOff</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Tr><Td><b>AutoFilterOn</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Tr><Td><b>AutoFilterOff</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-
-
-
-</Table></Center>
-
-<!--- html Footer --->
-
-<Center>
-<Font size=-1>
-<br>
-<br>
-<TABLE BORDER="1" WIDTH="100%">
-    <Tr>
-		<!--- Hosted by Sourceforge --->
-        <Td Align="Center">
-			<Font size=-1>
-			<b>TANGO</b> is an open source project hosted by :<br>
-			<A href="http://sourceforge.net" Target="new">
-					<IMG title="Sourceforge logo"
-						alt="Sourceforge logo small"
-						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
-						border=0> </a>
-			</Font>
-		</Td>
-		<!--- 2 Sourceforge Repositories --->
-		<Td Align="Center">
-			<Font size=-1>
-			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
-			CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
-			tango-cs project</a>
-
-			<br>
-
-			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
-					tango-ds project</a>
-			</Font>
-		</Td>
-    </Tr>
-</Table>
-</Font>
-</Center>
-</body>
-</html>
diff --git a/doc_html/Properties.html b/doc_html/Properties.html
index 2419dff3713ca99688dffdeaad60ba015979ae59..cb3cfacb7e30c86dc8ff4027aff1b1904f307d61 100644
--- a/doc_html/Properties.html
+++ b/doc_html/Properties.html
@@ -1,109 +1,170 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
 <HTML>
 <HEAD>
-<Title> Tango Device Server User's Guide </Title>
+<Title> Tango Device Server User s Guide </Title>
 </HEAD>
 <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
 
 <P><!-------TITLE------></P>
-
 <TABLE BORDER="0" WIDTH="100%">
     <TR>
         <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
         <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
         <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
     </TR>
 </TABLE>
 
 <HR WIDTH="100%"></H5>
-<Br>
+
+
+
+<FONT SIZE="+3">
 <center>
-<h1>
-Keithley428 Current Amplifier		<Br>
-Properties Description 		<Br> <Br>
-Keithley428 Class	<Br>
-</h1>
-<b>
-Revision:  - Author: 
-</b>
-</center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            Properties
+</u></Font>
+</Center>
 
 
-<Center>
-<Br> <Br> <Br> 
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=3> <Font Size=+2><Center><b>Device Properties</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Property name</b></td></Center>
-<Td><Center><b>Property type</b></td></Center>
-<Td><Center><b>Description</b></td></Center>
-<Tr><Td><b><a href=#Dev_DefaultValues>GpibDevice </a></b></Td>
-<Td><Font Size=-1>string</Font></Td>
-<Td><Font Size=-1>Name of the gpib device connected to the hardware.</Font></Td></Tr>
-
-<Tr><Td><b><a href=#Dev_DefaultValues>GpibDeviceType </a></b></Td>
-<Td><Font Size=-1>Tango::DEV_USHORT</Font></Td>
-<Td><Font Size=-1>Type of the Gpib device used to communicate with the Keithley.
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+
+	<b> There is no class property defined.</b>
+
+<Br>
+<Br>
+
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=4> <Font Size=+1> <Center><b>
+		  2 Device Properties
+	</b></Font></Center></td>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+		<Td><Center><b>
+			Property Name
+		</b></Center></td>
+		<Td><Center><b>
+			Description
+		</b></Center></td>
+		<Td><Center><b>
+			Property type
+		</b></Center></td>
+		<Td><Center><b>
+			Default Value
+		</b></Center></td>
+	</Tr>
+	<Tr>
+		<Td> GpibDevice                   </Td>
+		<Td> Name of the gpib device connected to the hardware.            </Td>
+		<Td> string  </Td>
+		<Td> 
+		.....
+	</Td>
+   </td>
+	</Tr>
+	<Tr>
+		<Td> GpibDeviceType                   </Td>
+		<Td> Type of the Gpib device used to communicate with the Keithley.
 this can be:
 1 -> Desy GpibDevice (default value)
-2 -> Soleil GpibDeviceServer</Font></Td></Tr>
+2 -> Soleil GpibDeviceServer            </Td>
+		<Td> unsigned short  </Td>
+		<Td> 
+				1
+	</Td>
+   </td>
+	</Tr>
+	</table>
 
-</Table>
+	<Br>
+	<Br>
 
-</Center>
-<Br><Br><Br>
-<Br><Br><Br>
-
-<A name=Dev_DefaultValues><!---  ---></a>
-<Font Size=+1>Device Properties Default Values:</Font><Br>
-<Table Border=2 Cellpadding=2 CELLSPACING=2>
-    <tr BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-        <Td><b>Property Name</b></td>
-        <td><b>Default Values</b></td>
-    </Tr>
-    <Tr>
-        <Td>GpibDevice</Td>
-        <td>No default value</td>
-    </Tr>
-    <Tr>
-        <Td>GpibDeviceType</Td>
-        <td>1</td>
-    </Tr>
-</Table>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/Properties.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
 
-<Br><Br><Br>
-<Center><b>
-There is no Class properties.<Br><Br>
-</Center></b>
-<Br> <Br> <Br> 
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
 
-<!--- html Footer --->
 
+<!--- html Footer --->
 <Center>
 <Font size=-1>
 <br>
@@ -125,16 +186,14 @@ There is no Class properties.<Br><Br>
 		<Td Align="Center">
 			<Font size=-1>
 			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
 			CVS repository</a> on
 			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
 			tango-cs project</a>
-
 			<br>
-
 			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
 			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
 					tango-ds project</a>
 			</Font>
@@ -145,3 +204,4 @@ There is no Class properties.<Br><Br>
 </Center>
 </body>
 </html>
+
diff --git a/doc_html/States.html b/doc_html/States.html
new file mode 100644
index 0000000000000000000000000000000000000000..05dcc53f21087d62e2274db7cb805e54a5b6ee73
--- /dev/null
+++ b/doc_html/States.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+<Title> Tango Device Server User s Guide </Title>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
+
+<P><!-------TITLE------></P>
+<TABLE BORDER="0" WIDTH="100%">
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
+    </TR>
+</TABLE>
+
+<HR WIDTH="100%"></H5>
+
+
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
+<Br>
+<Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
+<Br>
+<Br>
+<Br>
+<FONT SIZE="+2"><u>
+            </center><ul>Keithley428 States</ul>
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
+<Br>
+<Br>
+<ul>
+	
+	<Table Border=2 Cellpadding=3 CELLSPACING=0>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+	<Td COLSPAN=2> <Font Size=+1> <Center><b>
+		  2 Device States
+	</b></Font></Center></td>
+	<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+		<Td><Center><b>
+			State Name
+		</b></Center></td>
+		<Td><Center><b>
+			Description
+		</b></Center></td>
+	</Tr>
+
+	<Tr>
+		<Td> ON         </Td>
+		<Td>   </Td>
+	</Tr>
+	<Tr>
+		<Td> FAULT         </Td>
+		<Td>   </Td>
+	</Tr>
+	</table>
+
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/States.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	<Br>
+	<Br>
+</ul>
+</FONT>
+
+
+<!--- html Footer --->
+<Center>
+<Font size=-1>
+<br>
+<br>
+<TABLE BORDER="1" WIDTH="100%">
+    <Tr>
+		<!--- Hosted by Sourceforge --->
+        <Td Align="Center">
+			<Font size=-1>
+			<b>TANGO</b> is an open source project hosted by :<br>
+			<A href="http://sourceforge.net" Target="new">
+					<IMG title="Sourceforge logo"
+						alt="Sourceforge logo small"
+						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
+						border=0> </a>
+			</Font>
+		</Td>
+		<!--- 2 Sourceforge Repositories --->
+		<Td Align="Center">
+			<Font size=-1>
+			Core and Tools :
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
+			CVS repository</a> on
+			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
+			tango-cs project</a>
+			<br>
+			Device Servers :
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
+			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
+					tango-ds project</a>
+			</Font>
+		</Td>
+    </Tr>
+</Table>
+</Font>
+</Center>
+</body>
+</html>
+
diff --git a/doc_html/TangoDevStates.html b/doc_html/TangoDevStates.html
deleted file mode 100644
index ef9e0c886c8ea20ef049e1ef94354f65d2f6cfcd..0000000000000000000000000000000000000000
--- a/doc_html/TangoDevStates.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-<Title> Tango Device Server User's Guide </Title>
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
-
-<P><!-------TITLE------></P>
-
-<TABLE BORDER="0" WIDTH="100%">
-    <TR>
-        <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
-    </TR>
-</TABLE>
-
-<HR WIDTH="100%"></H5>
-<Br>
-<center>
-<h1>
-Keithley428 Current Amplifier		<Br>
-Device States Description 		<Br> <Br>
-Keithley428 Class	<Br>
-</h1>
-<b>
-Revision:  - Author: 
-</b>
-</center>
-
-
-<Center>
-<Br> <Br> <Br> 
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=2> <Font Size=+2><Center><b>States</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Names</b></td></Center>
-<Td><Center><b>Descriptions</b></td></Center>
-<Tr><Td><b>ON</b></Td>
-<Td><Font Size=-1></Font></Td></Tr>
-
-<Tr><Td><b>FAULT</b></Td>
-<Td><Font Size=-1></Font></Td></Tr>
-
-
-
-
-</Table>
-</Center>
-
-<!--- html Footer --->
-
-<Center>
-<Font size=-1>
-<br>
-<br>
-<TABLE BORDER="1" WIDTH="100%">
-    <Tr>
-		<!--- Hosted by Sourceforge --->
-        <Td Align="Center">
-			<Font size=-1>
-			<b>TANGO</b> is an open source project hosted by :<br>
-			<A href="http://sourceforge.net" Target="new">
-					<IMG title="Sourceforge logo"
-						alt="Sourceforge logo small"
-						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
-						border=0> </a>
-			</Font>
-		</Td>
-		<!--- 2 Sourceforge Repositories --->
-		<Td Align="Center">
-			<Font size=-1>
-			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
-			CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
-			tango-cs project</a>
-
-			<br>
-
-			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
-					tango-ds project</a>
-			</Font>
-		</Td>
-    </Tr>
-</Table>
-</Font>
-</Center>
-</body>
-</html>
diff --git a/doc_html/index.html b/doc_html/index.html
index a7f9535b2ed8dd8bcbc428f208e6115841b4914c..14da3b1b04232aadf8526b06696f200d907ec30f 100644
--- a/doc_html/index.html
+++ b/doc_html/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
 <HTML>
 <HEAD>
-<Title> Tango Device Server User's Guide </Title>
+<Title> Tango Device Server User s Guide </Title>
 </HEAD>
 <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
 
@@ -9,106 +9,152 @@
 <TABLE BORDER="0" WIDTH="100%">
     <TR>
         <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
+            <A HREF="http://www.esrf.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
+        </TD>
         <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
+            <A HREF="http://www.elettra.trieste.it/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
         <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
+            <A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.cells.es/" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="45"></A>
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Br><Center><A HREF="http://www.tango-controls.org/" TARGET="_top"> TANGO </a> 
+            </Center></FONT>
+       </TD>
+    </TR>
+    <TR>
+        <TD ALIGN="left">
+            <A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="44"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.maxlab.lu.se/maxlab/max4/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/maxlab.gif" BORDER=0 Height="40"></A>
+        </TD>
+        <TD ALIGN="center">
+            <A HREF="http://www.frm2.tum.de/en/index.html" TARGET=new>
+            <IMG SRC="http://www.esrf.fr/computing/cs/tango/frm-2.jpg" BORDER=0 Height="45"></A>
+        </TD>
+            <TD>
+            <!-- Empty -->
+        </TD>
+        <TD ALIGN="Right">
+            <H2><FONT COLOR="#7F00FF">
+            <Center> Device Servers
+            </Center></FONT>
+        </TD>
     </TR>
 </TABLE>
 
 <HR WIDTH="100%"></H5>
 
-<center>
-<h1>
-Keithley428 Current Amplifier <Br>
-User's Guide <Br><Br>
-Keithley428 Class<Br>
 
-</h1>
-<b>
-Revision:  - Author:  <Br>
- Implemented in C++
-</b>
-</center>
-<Br>
+
+<FONT SIZE="+3">
+<center>
+<u>
+         Keithley428 Tango Class <Br>
+</u> 
+<FONT SIZE="+1">
+      ( Keithley428 Current Amplifier )
 <Br>
 <Br>
+<TABLE BORDER="1" WIDTH="100%" CELLSPACING=0>
+       <TD ALIGN="center">
+               <a href="index.html">         Description</a>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Properties.html">    Properties</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Commands.html">      Commands</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="Attributes.html">    Attributes</a></li>
+       </Td>
+       <TD ALIGN="center">
+               <a href="States.html">        States</a></li>
+       </Td>
+</TABLE>
 <Br>
-<h2>Introduction:</h2>
-<ul>
-	Class for controlling the Keithley428 current amplifier.<Br>
-</ul>
-<Br><h2>Class Identification:</h2>
-<ul>
-	<li><b>Contact      :</b>	 at mail.desy.de - tnunez
-	<li><b>Class Family :</b>	Instrumentation
-	<li><b>Platform     :</b>	Unix Like
-	<li><b>Bus          :</b>	GPIB
-	<li><b>Manufacturer :</b>	Keithley
-	<li><b>Reference    :</b>	428
-</ul><Br>
-<h2>Class Inheritance:</h2>
-	<ul>
-		<li> <a href="http://www.esrf.fr/computing/cs/tango/tango_doc/kernel_doc/cpp_doc/"> Tango::Device_4Impl</a></li>
-		<ul>
-			<li> Keithley428</li>
-			</ul>
-		</ul>
-	</ul>
-</ul>
 <Br>
 <Br>
-<h2>Description:</h2>
-<ul>
-	<li> <a href=Description.html>      Device description.</a>
-	<li> <a href=Properties.html>       Properties description</a>
-	<li> <a href=TangoDevStates.html>   States description</a>
-	<li> <a href=DevCommandsTable.html> Commands description</a>
-	<li> <a href=Attributes.html>       Attributes description</a>
-</ul>
-<Br>
+<FONT SIZE="+2"><u>
+            TANGO Cpp Class Decription
+</u></Font>
+</Center>
+
+
+
+<FONT SIZE="-1">
 <Br>
 <Br>
-<!--------------h2>Programmer's guide:</h2>
-<ul>
-	<li> <a href="html/index.html">		Software description.</a>
-</ul>
-<Br------>
 <Br>
 <Br>
-<h2>Conclusion:</h2>
 <ul>
-	The device server is ready for distribution application programmers.<Br>
-	The author will be interested in any feedback which arise from their
-	usage of this device server.
+	<Font SIZE="+0"> <b><u> Class Identification :</u></b> </Font>
+	<ul>
+	<TABLE BORDER="0">
+    	<Tr>
+			<td> Contact </td><td> : at mail.desy.de - tnunez</td>
+		</tr>
+		<tr>
+			<td> Class Family </td><td> : Instrumentation
+			
+		</tr>
+		<tr>
+			<td> Platform </td><td> : Unix Like </td>
+		</tr>
+		<tr>
+			<td> Bus </td><td> : GPIB </td>
+		</tr>
+		<tr>
+			<td> Manufacturer </td><td> : Keithley </td>
+		</tr>
+		<tr>
+			<td> Manufacturer ref.</td><td> : 428 </td>
+		</tr>
+	</Table>
+	</ul>
+	<Br>
+	<Br>
+	<Font SIZE="+0"> <b><u> Class Inheritance :</u></b> </Font>
+	<ul>
+		<li> <a href="http://www.esrf.fr/computing/cs/tango/tango_doc/kernel_doc/cpp_doc/"> Tango::DeviceImpl</a></li>
+					<ul><li><b> Keithley428 </b></ul>
+
+	</ul>
+	<Br>
+	<Br>
+	<Font SIZE="+0"> <b><u> Class Description :</u></b> </Font>
+	<ul>
+	Class for controlling the Keithley428 current amplifier.
+	<Br>
+	<Br>
+	
+<!---  /*PROTECTED REGION ID(./doc_html/index.html) ENABLED START*/  --->
+	<!--- Add your own documentation, pictures, links,.... --->
+	<ul>
+
+	</ul>
+<!---  /*PROTECTED REGION END*/  --->
+
+	</ul>
+	<Br>
+	<Br>
 </ul>
-<Br>
+</FONT>
 
 
 <!--- html Footer --->
-
 <Center>
 <Font size=-1>
 <br>
@@ -130,16 +176,14 @@ Revision:  - Author:  <Br>
 		<Td Align="Center">
 			<Font size=-1>
 			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
+			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target=new>
 			CVS repository</a> on
 			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
 			tango-cs project</a>
-
 			<br>
-
 			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
+			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target=new>
+					CVS repository</cmda> on
 			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
 					tango-ds project</a>
 			</Font>
@@ -150,3 +194,4 @@ Revision:  - Author:  <Br>
 </Center>
 </body>
 </html>
+
diff --git a/doc_html/user_guide.html b/doc_html/user_guide.html
deleted file mode 100644
index 2d7a2fbee9fb649a7a001230b6831e4bdb4d5a2c..0000000000000000000000000000000000000000
--- a/doc_html/user_guide.html
+++ /dev/null
@@ -1,331 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-<Title> Tango Device Server User's Guide </Title>
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#7F00FF" ALINK="#FF0000">
-
-<P><!-------TITLE------></P>
-<TABLE BORDER="0" WIDTH="100%">
-    <TR>
-        <TD ALIGN="left">
-			<A HREF="http://www.esrf.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.elettra.trieste.it/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0 Height="60"></A>
-
-		</Td>
-        <TD ALIGN="center">
-			<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0 Height="60"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.cells.es/" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0 Height="54"></A>
-		</Td>
-        <TD ALIGN="right">
-			<A HREF="http://www.desy.de/html/home/index_eng.html" TARGET=new>
-			<IMG SRC="http://www.esrf.fr/computing/cs/tango/desy.gif" BORDER=0 Height="60"></A>
-		</Td>
-    	 <Td>
-			<H2><FONT COLOR="#7F00FF">
-			<Center><A HREF="http://www.tango-controls.org/" TARGET="_top">
-					 TANGO </a> <Br> Device Server
-			</Center></FONT>
-		</Td>
-    </TR>
-</TABLE>
-
-<HR WIDTH="100%"></H5>
-
-<Br>&nbsp;<Br><Br>&nbsp;<Br><Br>&nbsp;<Br><center><Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<Tr><Td><Br>&nbsp;<Br>
-<center>
-<h1>
-Keithley428 Current Amplifier <Br>
-User's Guide<Br>&nbsp;<Br> <Br><Br>
-Keithley428 Class<Br>&nbsp;<Br></Td></Tr>
-</h1>
-<Tr><Td>
-<b><Center>Revision:  - Author: tere29 <Br>
- Implemented in C++
-</Center></b>
-</Td></Tr>
-</center>
-</Table>
-</center>
-<Br>
-<Br>
-<Br>
-<Br>
-<Br>&nbsp;<Br><Br>&nbsp;<Br>
-<h2>Introduction:</h2>
-<ul>
-	Class for controlling the Keithley428 current amplifier.<Br>
-</ul>
-<Br>
-<Br>
-<Br><h2>Class Identification:</h2>
-<ul>
-	<li><b>Contact      :</b>	 at mail.desy.de - tnunez
-	<li><b>Class Family :</b>	Instrumentation
-	<li><b>Platform     :</b>	Unix Like
-	<li><b>Bus          :</b>	GPIB
-	<li><b>Manufacturer :</b>	Keithley
-	<li><b>Reference    :</b>	428
-</ul><Br>&nbsp;<Br><Br>
-<h2>Class Inheritance:</h2>
-	<ul>
-		<li> <a href="http://www.esrf.fr/computing/cs/tango/tango_doc/kernel_doc/cpp_doc/"> Tango::Device_4Impl</a></li>
-		<ul>
-			<li> Keithley428</li>
-			</ul>
-		</ul>
-	</ul>
-</ul>
-<Br>&nbsp;<Br>
-
-<Br>&nbsp;<Br><Br>&nbsp;<Br><h2>Properties:</h2>
-
-
-<Center>
-<Br> <Br> <Br> 
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=3> <Font Size=+2><Center><b>Device Properties</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Property name</b></td></Center>
-<Td><Center><b>Property type</b></td></Center>
-<Td><Center><b>Description</b></td></Center>
-<Tr><Td><b><a href=#Dev_DefaultValues>GpibDevice </a></b></Td>
-<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
-<Td><Font Size=-1>Name of the gpib device connected to the hardware.</Font></Td></Tr>
-
-</Table>
-
-</Center>
-<Br><Br><Br>
-<Br><Br><Br>
-
-<A name=Dev_DefaultValues><!---  ---></a>
-<Font Size=+1>Device Properties Default Values:</Font><Br>
-<Table Border=2 Cellpadding=2 CELLSPACING=2>
-    <tr BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-        <Td><b>Property Name</b></td>
-        <td><b>Default Values</b></td>
-    </Tr>
-    <Tr>
-        <Td>GpibDevice</Td>
-        <td>No default value</td>
-    </Tr>
-</Table>
-
-<Br><Br><Br>
-<Center><b>
-There is no Class properties.<Br><Br>
-</Center></b>
-<Br> <Br> <Br> 
-
-
-</center>
-<Br>&nbsp;<Br><Br>&nbsp;<Br><h2>States:</h2>
-
-
-<Center>
-<Br> <Br> <Br> 
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=2> <Font Size=+2><Center><b>States</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Names</b></td></Center>
-<Td><Center><b>Descriptions</b></td></Center>
-<Tr><Td><b>ON</b></Td>
-<Td><Font Size=-1></Font></Td></Tr>
-
-<Tr><Td><b>FAULT</b></Td>
-<Td><Font Size=-1></Font></Td></Tr>
-
-
-
-
-</Table>
-</Center>
-
-
-</center>
-<Br>&nbsp;<Br><Br>&nbsp;<Br><h2>Attributes:</h2>
-
-
-<Br>
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=4> <Font Size=+2><Center><b>Scalar Attributes</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Attribute name</b></td></Center>
-<Td><Center><b>Data Type</b></td></Center>
-<Td><Center><b>R/W Type</b></td></Center>
-<Td><Center><b>Expert</b></td></Center>
-<Tr><Td><b>Gain</b>: <Font Size=-1>0, 1, 2, 3 -> 10e3 V/A 4 -> 10e4 V/A 5 -> 10e5 V/A 6 -> 10e6 V/A 7 -> 10e7 V/A 8 -> 10e8 V/A 9 -> 10e9 V/A 10 -> 10e10 V/A 11 -> 10e11 V/A</Font></Td>
-<Td><Center><Font Size=-1>DEV_LONG</Font></Center></Td><Td><Center><Font Size=-1>READ_WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
-
-<Tr><Td><b>GainStr</b></Td>
-<Td><Center><Font Size=-1>DEV_STRING</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
-
-<Tr><Td><b>Overloaded</b>: <Font Size=-1>1 if device is overloaded</Font></Td>
-<Td><Center><Font Size=-1>DEV_LONG</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
-
-<Tr><Td><b>Bypass</b>: <Font Size=-1>0 -> zero check off, 1 -> zero check on, 2 (only read) zero correction last selected.</Font></Td>
-<Td><Center><Font Size=-1>DEV_LONG</Font></Center></Td><Td><Center><Font Size=-1>READ_WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
-
-</Table>
-</Center>
-<Br><Br><Br><Br><Br>
-
-
-</center>
-<Br>&nbsp;<Br><Br>&nbsp;<Br><h2>Commands:</h2>
-
-
-<Center>
-<Br><Br>
-<A Href="DevCommandsFrame.html"> More Details on commands.... </a><Br>
-<Br> <Br>
-<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td COLSPAN=3> <Font Size=+2><Center><b>Device Commands for Operator Level</b></td></Font></Center>
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<Td><Center><b>Command name</b></td></Center>
-<Td><Center><b>Argument In</b></td></Center>
-<Td><Center><b>Argument Out</b></td></Center>
-<Tr><Td><b>Init</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Tr><Td><b>State</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_STATE</Font></Td>
-<Tr><Td><b>Status</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>CONST_DEV_STRING</Font></Td>
-<Tr><Td><b>PerformZeroCorrect</b></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-<Td><Font Size=-1>DEV_VOID</Font></Td>
-
-
-
-</Table></Center>
-
-</center>
-<Br>&nbsp;<Br>
-
-<Br>
-<Br>
-<Br>
-<A NAME="Init"><!-- --></A>
-<A NAME="Init"><!-- --></A>
-<h2>1 - Init</h2>
-<ul>
-<Li><Strong>Description: </Strong> This commands re-initialise a device keeping the same network connection.<Br>
-After an Init command executed on a device, it is not necessary for client to re-connect to the device.<Br>
-This command first calls the device <i> delete_device() </i>method and then execute its <i> init_device()</i> method.<Br>
-For C++ device server, all the memory allocated in the <i> nit_device() </i> method must be freed in the <i> delete_device() </i> method.<Br>
-The language device desctructor automatically calls the <i> delete_device() </i> method.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="State"><!-- --></A>
-<A NAME="State"><!-- --></A>
-<h2>2 - State</h2>
-<ul>
-<Li><Strong>Description: </Strong> This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_STATE</Strong>
- : State Code<Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="Status"><!-- --></A>
-<A NAME="Status"><!-- --></A>
-<h2>3 - Status</h2>
-<ul>
-<Li><Strong>Description: </Strong> This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : none.<Br>&nbsp
-<Li><Strong>Argout:<Br>CONST_DEV_STRING</Strong>
- : Status description<Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-<A NAME="PerformZeroCorrect"><!-- --></A>
-<A NAME="PerformZeroCorrect"><!-- --></A>
-<h2>4 - PerformZeroCorrect</h2>
-<ul>
-<Li><Strong>Description: </Strong> Perform Zero correction.<Br>&nbsp
-<Li><Strong>Argin:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Argout:<Br>DEV_VOID</Strong>
- : <Br>&nbsp
-<Li><Strong>Command allowed for: </Strong><Ul>
-<Li>Tango::ON<Li>Tango::FAULT</Ul>
-<Br>&nbsp
-</ul><Br>
-<Br>
-
-</center>
-<Br>&nbsp;<Br><Br>&nbsp;<Br>
-
-<!--- html Footer --->
-
-<Center>
-<Font size=-1>
-<br>
-<br>
-<TABLE BORDER="1" WIDTH="100%">
-    <Tr>
-		<!--- Hosted by Sourceforge --->
-        <Td Align="Center">
-			<Font size=-1>
-			<b>TANGO</b> is an open source project hosted by :<br>
-			<A href="http://sourceforge.net" Target="new">
-					<IMG title="Sourceforge logo"
-						alt="Sourceforge logo small"
-						src="http://www.esrf.fr/computing/cs/tango/sourceforge.gif"
-						border=0> </a>
-			</Font>
-		</Td>
-		<!--- 2 Sourceforge Repositories --->
-		<Td Align="Center">
-			<Font size=-1>
-			Core and Tools :
-			<a href="http://tango-cs.cvs.sourceforge.net/tango-cs/" Target="new">
-			CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-cs" Target=new>
-			tango-cs project</a>
-
-			<br>
-
-			Device Servers :
-			<a href="http://tango-ds.cvs.sourceforge.net/tango-ds/" Target="new">
-					CVS repository</a> on
-			<a href="https://sourceforge.net/projects/tango-ds" Target=new>
-					tango-ds project</a>
-			</Font>
-		</Td>
-    </Tr>
-</Table>
-</Font>
-</Center>
-</body>
-</html>
diff --git a/main.cpp b/main.cpp
index 654644f403ad9bab62fe55d68dcf644637c1b669..46b507a78ee9301cd2872ac28099fe6c6dc44f62 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,39 +1,35 @@
-static const char *RcsId = "$Id $";
-//+=============================================================================
+/*PROTECTED REGION ID(Keithley428::main.cpp) ENABLED START*/
+static const char *RcsId = "$Id: $";
+//=============================================================================
 //
-// file :        main.cpp
+// file :        Keithley428.cpp
 //
-// description : C++ source for a TANGO device server main.
+// description : C++ source for the Keithley428 device server main.
 //               The main rule is to initialise (and create) the Tango
 //               system and to create the DServerClass singleton.
-//               The main should be the same for every Tango device server.
+//                The main should be the same for every Tango device server.
 //
-// project :     TANGO Device Server
+// project :     Keithley428 Current Amplifier.
 //
 // $Author:  $
 //
-// $Revision:  $ $
+// $Revision:  $
 // $Date:  $
 //
 // SVN only:
-// $HeadURL: $
+// $HeadURL:  $
 //
 // CVS only:
 // $Source:  $
 // $Log:  $
 //
-// copyleft :    European Synchrotron Radiation Facility
-//               BP 220, Grenoble 38043
-//               FRANCE
-//
-//-=============================================================================
-//
-//  		This file is generated by POGO
-//	(Program Obviously used to Generate tango Object)
-//
-//         (c) - Software Engineering Group - ESRF
+//=============================================================================
+//                This file is generated by POGO
+//        (Program Obviously used to Generate tango Object)
 //=============================================================================
 
+
+
 #include <tango.h>
 
 
@@ -72,3 +68,7 @@ int main(int argc,char *argv[])
 	tg->server_cleanup();
 	return(0);
 }
+
+
+/*PROTECTED REGION END*/
+//========================================================
diff --git a/pom.xml b/pom.xml
index 87efdddf333e375422b0065e0c2516ca8c792cda..1ebe35285554932d23e172452d67099c4200ef78 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,58 +1,58 @@
-<?xml version="1.0" encoding="utf-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-   <modelVersion>4.0.0</modelVersion>
-   <parent>
-       <groupId>fr.soleil</groupId>
-       <artifactId>super-pom-C-CPP-device</artifactId>
-       <version>RELEASE</version>
-   </parent>
-   <groupId>fr.soleil.device</groupId>
-   <artifactId>Keithley428-${aol}-${mode}</artifactId>
-   <version>1.2.3-SNAPSHOT</version>
-   <packaging>nar</packaging>
-   <name>Keithley428</name>
-   <description>Keithley428 device</description>
-   <build>
-       <plugins>
-           <plugin>
-               <groupId>org.freehep</groupId>
-               <artifactId>freehep-nar-plugin</artifactId>
-               <configuration>
-                   <cpp>
-						<!-- FL : Out of maven convention: for sharing source with Desy -->
-						<sourceDirectory>${project.basedir}</sourceDirectory>
-                        <includes>
-                            <include>*.cpp</include>
-                        </includes>
-                        <includePaths>
-                            <includePath>${project.basedir}</includePath>
-                        </includePaths>
-                       <defines>
-                           <define>LOG4TANGO_HAVE_INT64_T</define>
-						   <define>GPIB_DEVICE_OUTSIDE</define>
-						   <define>USE_HELPERS_DIR</define>
-                       </defines>
-                   </cpp>
-               </configuration>
-           </plugin>
-       </plugins>
-   </build>
-   <scm>
-        <connection>${scm.connection.svn.tango-ds}:/DeviceClasses/MeasureInstruments/Keithley/Keithley428/trunk</connection>
-		<developerConnection>${scm.developerConnection.svn.tango-ds}:/DeviceClasses/MeasureInstruments/Keithley/Keithley428/trunk</developerConnection>
-		<url>${scm.url.svn.tango-ds}/DeviceClasses/MeasureInstruments/Keithley/Keithley428/trunk</url> 
-   </scm>
-   <developers>
-       <developer>
-           <id>langlois</id>
-           <name>langlois</name>
-           <url>http://controle/</url>
-           <organization>Synchrotron Soleil</organization>
-           <organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
-           <roles>
-               <role>manager</role>
-           </roles>
-           <timezone>1</timezone>
-       </developer>
-   </developers>
-</project>
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+       <groupId>fr.soleil</groupId>
+       <artifactId>super-pom-C-CPP-device</artifactId>
+       <version>RELEASE</version>
+   </parent>
+   <groupId>fr.soleil.device</groupId>
+   <artifactId>Keithley428-${aol}-${mode}</artifactId>
+   <version>1.2.3-SNAPSHOT</version>
+   <packaging>nar</packaging>
+   <name>Keithley428</name>
+   <description>Keithley428 device</description>
+   <build>
+       <plugins>
+           <plugin>
+               <groupId>org.freehep</groupId>
+               <artifactId>freehep-nar-plugin</artifactId>
+               <configuration>
+                   <cpp>
+						<!-- FL : Out of maven convention: for sharing source with Desy -->
+						<sourceDirectory>${project.basedir}</sourceDirectory>
+                        <includes>
+                            <include>*.cpp</include>
+                        </includes>
+                        <includePaths>
+                            <includePath>${project.basedir}</includePath>
+                        </includePaths>
+                       <defines>
+                           <define>LOG4TANGO_HAVE_INT64_T</define>
+						   <define>GPIB_DEVICE_OUTSIDE</define>
+						   <define>USE_HELPERS_DIR</define>
+                       </defines>
+                   </cpp>
+               </configuration>
+           </plugin>
+       </plugins>
+   </build>
+   <scm>
+        <connection>${scm.connection.svn.tango-ds}:/DeviceClasses/MeasureInstruments/Keithley/Keithley428/trunk</connection>
+		<developerConnection>${scm.developerConnection.svn.tango-ds}:/DeviceClasses/MeasureInstruments/Keithley/Keithley428/trunk</developerConnection>
+		<url>${scm.url.svn.tango-ds}/DeviceClasses/MeasureInstruments/Keithley/Keithley428/trunk</url> 
+   </scm>
+   <developers>
+       <developer>
+           <id>langlois</id>
+           <name>langlois</name>
+           <url>http://controle/</url>
+           <organization>Synchrotron Soleil</organization>
+           <organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
+           <roles>
+               <role>manager</role>
+           </roles>
+           <timezone>1</timezone>
+       </developer>
+   </developers>
+</project>