diff --git a/doc/DeviceServerUsersGuide_en.doc b/doc/DeviceServerUsersGuide_en.doc
index 478eb7775ecdc7047c7d51cb1129088cc00ecdb6..38891b3a184d65c2e7ecbdad3afd590037278379 100644
Binary files a/doc/DeviceServerUsersGuide_en.doc and b/doc/DeviceServerUsersGuide_en.doc differ
diff --git a/doc/doc_html/Attributes.html b/doc/doc_html/Attributes.html
index 6a55345733fe154a331c4a44684a23fba2730391..bfd1523471cf9185f9a5d611e10a6f1f485d2f8a 100644
--- a/doc/doc_html/Attributes.html
+++ b/doc/doc_html/Attributes.html
@@ -28,7 +28,7 @@ Device Attributes Description
 </h1>
 <Br>
 <b>
-Revision: 1.1.1.1 - Author: syldup
+Revision: 1.2 - Author: abeilleg
 </b>
 </center>
 
@@ -48,6 +48,30 @@ Revision: 1.1.1.1 - Author: syldup
 <Tr><Td><b><Center>useBoardFifo</b><Br>( Set to 1 if data have been loaded in FIFO. Set to 0 if data is continuously tranfered through DMA (possible underrun) )</Center></Td>
 <Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
 
+<Tr><Td><b><Center>channel0Enable</b><Br>( If equals to 1, data is output on channel 0, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
+<Tr><Td><b><Center>channel1Enable</b><Br>( If equals to 1, data is output on channel 1, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
+<Tr><Td><b><Center>channel2Enable</b><Br>( If equals to 1, data is output on channel 2, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
+<Tr><Td><b><Center>channel3Enable</b><Br>( If equals to 1, data is output on channel 3, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
+<Tr><Td><b><Center>channel4Enable</b><Br>( If equals to 1, data is output on channel 4, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
+<Tr><Td><b><Center>channel5Enable</b><Br>( If equals to 1, data is output on channel 5, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
+<Tr><Td><b><Center>channel6Enable</b><Br>( If equals to 1, data is output on channel 6, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
+<Tr><Td><b><Center>channel7Enable</b><Br>( If equals to 1, data is output on channel 7, otherwise the channel is disable. )</Center></Td>
+<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
+
 </Table>
 </Center>
 <Br><Br><Br><Br><Br>
diff --git a/doc/doc_html/DevCommands.html b/doc/doc_html/DevCommands.html
index 5a04c92545ce47f44530d215ac452d169cc223f3..67db7bfee37c9b8b2a61eaf9ca7591c5141adfcc 100644
--- a/doc/doc_html/DevCommands.html
+++ b/doc/doc_html/DevCommands.html
@@ -28,7 +28,7 @@ Device Commands Description
 </h1>
 <Br>
 <b>
-Revision: 1.1.1.1 - Author: syldup
+Revision: 1.2 - Author: abeilleg
 </b>
 </center>
 
diff --git a/doc/doc_html/DevCommandsTable.html b/doc/doc_html/DevCommandsTable.html
index ed4864c53b8973af48852ed70afdf4be4e77692c..f8d99985666f3e7394c46aba89d1497f95a946a1 100644
--- a/doc/doc_html/DevCommandsTable.html
+++ b/doc/doc_html/DevCommandsTable.html
@@ -28,7 +28,7 @@ Device Commands Description
 </h1>
 <Br>
 <b>
-Revision: 1.1.1.1 - Author: syldup
+Revision: 1.2 - Author: abeilleg
 </b>
 </center>
 
diff --git a/doc/doc_html/Properties.html b/doc/doc_html/Properties.html
index 12276a246c13dc3ef9ecb9008348220bfe52e815..dd5aa31404c0a443156c8238f56ec430780c64cd 100644
--- a/doc/doc_html/Properties.html
+++ b/doc/doc_html/Properties.html
@@ -28,7 +28,7 @@ Properties Description
 </h1>
 <Br>
 <b>
-Revision: 1.1.1.1 - Author: syldup
+Revision: 1.2 - Author: abeilleg
 </b>
 </center>
 
diff --git a/doc/doc_html/TangoDevStates.html b/doc/doc_html/TangoDevStates.html
index 40e2a28cba3606f1705ea4057057b587763ecc6b..cb1d680e852c2f4ccf7a403a108706a7fc777167 100644
--- a/doc/doc_html/TangoDevStates.html
+++ b/doc/doc_html/TangoDevStates.html
@@ -28,7 +28,7 @@ Device States Description
 </h1>
 <Br>
 <b>
-Revision: 1.1.1.1 - Author: syldup
+Revision: 1.2 - Author: abeilleg
 </b>
 </center>
 
diff --git a/doc/doc_html/index.html b/doc/doc_html/index.html
index 79e9862df1c77b89482e27da0b58d363ce122bc9..35a6f3b278cfb03c4b8f628ea1b9afda6eed045c 100644
--- a/doc/doc_html/index.html
+++ b/doc/doc_html/index.html
@@ -28,7 +28,7 @@ Device Server User's Guide
 </h1>
 <Br>
 <b>
-Revision: 1.1.1.1 - Author: syldup
+Revision: 1.2 - Author: abeilleg
 </b>
 </center>
 <Br>
diff --git a/src/ContinuousAO.cpp b/src/ContinuousAO.cpp
index 5e402077763390c95a663a78e36e6cc77ad62a39..8cc2d5a54a6e0162cfb743cbd316449a7af1c255 100644
--- a/src/ContinuousAO.cpp
+++ b/src/ContinuousAO.cpp
@@ -1,4 +1,4 @@
-static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/ADLINK/ContinuousAO/src/ContinuousAO.cpp,v 1.7 2005-04-21 08:33:44 abeilleg Exp $";
+static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/ADLINK/ContinuousAO/src/ContinuousAO.cpp,v 1.8 2005-06-15 10:22:16 abeilleg Exp $";
 //+=============================================================================
 //
 // file :	  ContinuousAO.cpp
@@ -13,9 +13,12 @@ static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/AD
 //
 // $Author: abeilleg $
 //
-// $Revision: 1.7 $
+// $Revision: 1.8 $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.7  2005/04/21 08:33:44  abeilleg
+// update state in always_exe_hk
+//
 // Revision 1.6  2005/01/25 10:12:58  abeilleg
 // status changed.
 //
@@ -1162,6 +1165,46 @@ void ContinuousAO::read_attr(Tango::Attribute &attr)
     else
       attr.set_quality(Tango::ATTR_INVALID);
 	}
+	else
+	if (attr_name == "channel0Enable")
+	{
+		attr.set_value(&channel0Enable);
+	}
+	else
+	if (attr_name == "channel1Enable")
+	{
+		attr.set_value(&channel1Enable);
+	}
+	else
+	if (attr_name == "channel2Enable")
+	{
+		attr.set_value(&channel2Enable);
+	}
+	else
+	if (attr_name == "channel3Enable")
+	{
+		attr.set_value(&channel3Enable);
+	}
+	else
+	if (attr_name == "channel4Enable")
+	{
+		attr.set_value(&channel4Enable);
+	}
+	else
+	if (attr_name == "channel5Enable")
+	{
+		attr.set_value(&channel5Enable);
+	}
+	else
+	if (attr_name == "channel6Enable")
+	{
+		attr.set_value(&channel6Enable);
+	}
+	else
+	if (attr_name == "channel7Enable")
+	{
+		attr.set_value(&channel7Enable);
+	}
 }
 
 //+------------------------------------------------------------------
diff --git a/src/ContinuousAO.h b/src/ContinuousAO.h
index 38f19cda9e0f0b7dbaf4261411061fa51ac631cb..80cce636985e23e03d404958f0e9b685867d69a1 100644
--- a/src/ContinuousAO.h
+++ b/src/ContinuousAO.h
@@ -8,9 +8,12 @@
 //
 // $Author: abeilleg $
 //
-// $Revision: 1.2 $
+// $Revision: 1.3 $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.2  2005/01/20 13:21:51  abeilleg
+// following ASL modifications (states management).
+//
 // Revision 1.1.1.1  2004/12/06 10:20:44  syldup
 // initial import
 //
@@ -38,7 +41,7 @@
 
 /**
  * @author	$Author: abeilleg $
- * @version	$Revision: 1.2 $ $
+ * @version	$Revision: 1.3 $ $
  */
 
  //	Add your own constants definitions here.
@@ -86,6 +89,14 @@ public :
 		Tango::DevDouble	*attr_channel7_read;
 		Tango::DevDouble	*attr_errorCounter_read;
 		Tango::DevShort	*attr_useBoardFifo_read;
+		Tango::DevShort	*attr_channel0Enable_read;
+		Tango::DevShort	*attr_channel1Enable_read;
+		Tango::DevShort	*attr_channel2Enable_read;
+		Tango::DevShort	*attr_channel3Enable_read;
+		Tango::DevShort	*attr_channel4Enable_read;
+		Tango::DevShort	*attr_channel5Enable_read;
+		Tango::DevShort	*attr_channel6Enable_read;
+		Tango::DevShort	*attr_channel7Enable_read;
 //@}
 
 /**
diff --git a/src/ContinuousAOClass.cpp b/src/ContinuousAOClass.cpp
index d2b6371ee431cf542d4fff0938ebe30f1f245cf9..e3e5fb7ed9edc9d2cdc6f437bd8f212157051b40 100644
--- a/src/ContinuousAOClass.cpp
+++ b/src/ContinuousAOClass.cpp
@@ -1,4 +1,4 @@
-static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/ADLINK/ContinuousAO/src/ContinuousAOClass.cpp,v 1.2 2005-01-20 13:21:51 abeilleg Exp $";
+static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/ADLINK/ContinuousAO/src/ContinuousAOClass.cpp,v 1.3 2005-06-15 10:22:17 abeilleg Exp $";
 
 static const char *TagName = "$Name: not supported by cvs2svn $";
 
@@ -20,9 +20,12 @@ static const char *RCSfile = "$RCSfile: ContinuousAOClass.cpp,v $";
 //
 // $Author: abeilleg $
 //
-// $Revision: 1.2 $
+// $Revision: 1.3 $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.2  2005/01/20 13:21:51  abeilleg
+// following ASL modifications (states management).
+//
 // Revision 1.1.1.1  2004/12/06 10:20:44  syldup
 // initial import
 //
@@ -509,6 +512,78 @@ void ContinuousAOClass::attribute_factory(vector<Tango::Attr *> &att_list)
 	use_board_fifo->set_default_properties(use_board_fifo_prop);
 	att_list.push_back(use_board_fifo);
 
+	//	Attribute : channel0Enable
+	Tango::Attr	*channel0_enable = 
+		new Tango::Attr("channel0Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel0_enable_prop;
+	channel0_enable_prop.set_label("channel0Enable");
+	channel0_enable_prop.set_description("If equals to 1, data is output on channel 0, otherwise the channel is disable.");
+	channel0_enable->set_default_properties(channel0_enable_prop);
+	att_list.push_back(channel0_enable);
+
+	//	Attribute : channel1Enable
+	Tango::Attr	*channel1_enable = 
+		new Tango::Attr("channel1Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel1_enable_prop;
+	channel1_enable_prop.set_label("channel1Enable");
+	channel1_enable_prop.set_description("If equals to 1, data is output on channel 1, otherwise the channel is disable.");
+	channel1_enable->set_default_properties(channel1_enable_prop);
+	att_list.push_back(channel1_enable);
+
+	//	Attribute : channel2Enable
+	Tango::Attr	*channel2_enable = 
+		new Tango::Attr("channel2Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel2_enable_prop;
+	channel2_enable_prop.set_label("channel2Enable");
+	channel2_enable_prop.set_description("If equals to 1, data is output on channel 2, otherwise the channel is disable.");
+	channel2_enable->set_default_properties(channel2_enable_prop);
+	att_list.push_back(channel2_enable);
+
+	//	Attribute : channel3Enable
+	Tango::Attr	*channel3_enable = 
+		new Tango::Attr("channel3Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel3_enable_prop;
+	channel3_enable_prop.set_label("channel3Enable");
+	channel3_enable_prop.set_description("If equals to 1, data is output on channel 3, otherwise the channel is disable.");
+	channel3_enable->set_default_properties(channel3_enable_prop);
+	att_list.push_back(channel3_enable);
+
+	//	Attribute : channel4Enable
+	Tango::Attr	*channel4_enable = 
+		new Tango::Attr("channel4Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel4_enable_prop;
+	channel4_enable_prop.set_label("channel4Enable");
+	channel4_enable_prop.set_description("If equals to 1, data is output on channel 4, otherwise the channel is disable.");
+	channel4_enable->set_default_properties(channel4_enable_prop);
+	att_list.push_back(channel4_enable);
+
+	//	Attribute : channel5Enable
+	Tango::Attr	*channel5_enable = 
+		new Tango::Attr("channel5Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel5_enable_prop;
+	channel5_enable_prop.set_label("channel5Enable");
+	channel5_enable_prop.set_description("If equals to 1, data is output on channel 5, otherwise the channel is disable.");
+	channel5_enable->set_default_properties(channel5_enable_prop);
+	att_list.push_back(channel5_enable);
+
+	//	Attribute : channel6Enable
+	Tango::Attr	*channel6_enable = 
+		new Tango::Attr("channel6Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel6_enable_prop;
+	channel6_enable_prop.set_label("channel6Enable");
+	channel6_enable_prop.set_description("If equals to 1, data is output on channel 6, otherwise the channel is disable.");
+	channel6_enable->set_default_properties(channel6_enable_prop);
+	att_list.push_back(channel6_enable);
+
+	//	Attribute : channel7Enable
+	Tango::Attr	*channel7_enable = 
+		new Tango::Attr("channel7Enable", Tango::DEV_SHORT, Tango::READ);
+	Tango::UserDefaultAttrProp	channel7_enable_prop;
+	channel7_enable_prop.set_label("channel7Enable");
+	channel7_enable_prop.set_description("If equals to 1, data is output on channel 7, otherwise the channel is disable.");
+	channel7_enable->set_default_properties(channel7_enable_prop);
+	att_list.push_back(channel7_enable);
+
 }
 //+----------------------------------------------------------------------------
 //