diff --git a/include/AbstractElectrometerClass.h b/include/AbstractElectrometerClass.h
index 5d88ecaeb749c425e1983e12df001f92f1f6e887..085db961c6a7f1524e843b84d1e9382adfa35187 100644
--- a/include/AbstractElectrometerClass.h
+++ b/include/AbstractElectrometerClass.h
@@ -7,11 +7,14 @@
 //    AbstractElectrometerClass.h
 //
 //
-// $Author: stephle $
+// $Author: xavela $
 //
-// $Revision: 1.1 $
+// $Revision: 1.2 $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.1  2007/07/09 13:20:35  stephle
+// initial import
+//
 //
 
 // ============================================================================
@@ -114,6 +117,7 @@ public:
 	virtual void set_Measure_function		(void);
 	virtual void mcce_on	(void);
 	virtual void mcce_off	(void);
+	virtual void mcce_init	(void);
 	/**
 	*  \brief Novelec getters and setters
 	*/
diff --git a/include/ElectrometerProtocol.h b/include/ElectrometerProtocol.h
index 358b3d1c24c2b77aa7c466b4aa823f51cdb19dc7..36d659c945e1bb2696fdfe90f27de6aacde9dc6d 100644
--- a/include/ElectrometerProtocol.h
+++ b/include/ElectrometerProtocol.h
@@ -10,11 +10,14 @@
 //    X. Elattaoui
 //
 //
-// $Author: stephle $
+// $Author: xavela $
 //
-// $Revision: 1.1 $
+// $Revision: 1.2 $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.1  2007/07/09 13:20:35  stephle
+// initial import
+//
 //
 // ============================================================================
 
@@ -123,6 +126,7 @@ public:
 	*/
 	virtual void switch_MCCE2_ON		    (void);
 	virtual void switch_MCCE2_OFF		    (void);
+	virtual void init_MCCE2_for_communication		    (void);
 	virtual void unable_zeroVF_func		    (void);
 	virtual void unable_offset_zeroV1_func	(void);
 	virtual void unable_leakage_zeroV2_func	(void);
diff --git a/include/NovelecProtocol.h b/include/NovelecProtocol.h
index 24359ad153b94e2c467f7e1576b346b5a3d419c3..26a2f09c89a3c63e856c2f037607a971ac9772a0 100644
--- a/include/NovelecProtocol.h
+++ b/include/NovelecProtocol.h
@@ -87,6 +87,14 @@ public:
 	void set_frequency	(std::string freq);
 	void set_gain		(std::string gain);
 
+	/**
+	*   \brief init the MCCE-2 device :
+	*        - response explicit
+	*        - mode MEASURE OFF
+	*        - clear error(s)
+	*/
+	void init_MCCE2_for_communication(void);
+
 protected :
 	short _devAdd;								//- novelec active channel address
 	short _novType;								//- novelec type number (1 to 5)
diff --git a/src/AbstractElectrometerClass.cpp b/src/AbstractElectrometerClass.cpp
index 5ae09773868b4d56d0a4e8ddca5ba8be052acb0b..f78455e0087b0cd75239365d4ceb0a98c0ea2f69 100644
--- a/src/AbstractElectrometerClass.cpp
+++ b/src/AbstractElectrometerClass.cpp
@@ -9,11 +9,14 @@
 // = AUTHOR
 //    X. Elattaoui
 //
-// $Author: stephle $
+// $Author: xavela $
 //
-// $Revision: 1.1 $
+// $Revision: 1.2 $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.1  2007/07/09 13:20:37  stephle
+// initial import
+//
 //
 // ============================================================================
 
@@ -567,3 +570,11 @@ void AbstractElectrometerClass::mcce_off (void)
 	_electrometerProtocol->switch_MCCE2_OFF( );
 }
 
+// ============================================================================
+// AbstractElectrometerClass::mcce_init
+// ============================================================================
+void AbstractElectrometerClass::mcce_init (void) 
+{
+	_electrometerProtocol->init_MCCE2_for_communication( );
+}
+
diff --git a/src/ElectrometerProtocol.cpp b/src/ElectrometerProtocol.cpp
index f57aae0a9e02dbef6e76f00a4858eb589408febc..ab4431eaee33eb905b1038b4dab0c8311a4074a6 100644
--- a/src/ElectrometerProtocol.cpp
+++ b/src/ElectrometerProtocol.cpp
@@ -218,6 +218,16 @@ void ElectrometerProtocol::switch_MCCE2_OFF (void)
 											"ElectrometerProtocol::switch_MCCE2_OFF( ).");
 }
 
+// ============================================================================
+// ElectrometerProtocol::init_MCCE2_for_communication
+// ============================================================================
+void ElectrometerProtocol::init_MCCE2_for_communication (void) 
+{
+	throw electrometer::ElectrometerException("COMMAND_NOT_SUPPORTED", 
+											"This Electrometer does not support this command.",
+											"ElectrometerProtocol::init_MCCE2_for_communication( ).");
+}
+
 // ============================================================================
 // ElectrometerProtocol::autoRange_ON
 // ============================================================================
diff --git a/src/NovelecProtocol.cpp b/src/NovelecProtocol.cpp
index 72513f98c0ae1c079d867008dfe4444ec3c4f5d8..162eab532f74746668bf84fc89dcbad076253be1 100644
--- a/src/NovelecProtocol.cpp
+++ b/src/NovelecProtocol.cpp
@@ -55,8 +55,8 @@ NovelecProtocol::NovelecProtocol (std::string& serial_device_name, short devAddr
 	_novType(novelecType),
 	_is_measure_mode_on(false)
 {
-std::stringstream explicite_resp;
-std::string tmp("no data");
+//std::stringstream explicite_resp;
+//std::string tmp("no data");
 
 	std::cout << "NovelecProtocol::NovelecProtocol <-" << std::endl;
 
@@ -64,7 +64,32 @@ std::string tmp("no data");
 	_rangeParameterNum	= _novType + 2;
 
 	//- CMD to enable PROG cmds
-	this->switch_MCCE2_OFF();
+//-XE	this->switch_MCCE2_OFF();  //- this command is now called in the MCCE2 device !
+/*
+	//- Clear error registers
+	this->clear_registers();
+
+	//- send cmd to have an explicite response :
+	explicite_resp << _devAdd << " PROG " << RESPONSE_LGTH_CMD_NUM << " 1" << END_OF_LINE << std::endl;
+	tmp = _communication_link->write_read(explicite_resp.str());
+	//- check only the command response
+	check_command(tmp);
+	//- if no error
+	_is_explicite_resp_enabled = true;
+*/
+	std::cout << "NovelecProtocol::NovelecProtocol ->" << std::endl;
+}
+
+// ============================================================================
+// NovelecProtocol::NovelecProtocol
+// ============================================================================
+void NovelecProtocol::init_MCCE2_for_communication(void)
+{
+std::stringstream explicite_resp;
+std::string tmp("no data");
+
+	//- CMD to enable PROG cmds
+	this->switch_MCCE2_OFF();  //- this command is now called in the MCCE2 device !
 
 	//- Clear error registers
 	this->clear_registers();
@@ -77,7 +102,6 @@ std::string tmp("no data");
 	//- if no error
 	_is_explicite_resp_enabled = true;
 
-	std::cout << "NovelecProtocol::NovelecProtocol ->" << std::endl;
 }
 
 // ============================================================================