diff --git a/src/RetrigAO.dsp b/src/RetrigAO.dsp
new file mode 100644
index 0000000000000000000000000000000000000000..0140e49e04eebff5e63c08a3e3bbd6dafb4730a6
--- /dev/null
+++ b/src/RetrigAO.dsp
@@ -0,0 +1,125 @@
+# Microsoft Developer Studio Project File - Name="RetrigAO" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=RetrigAO - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "RetrigAO.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "RetrigAO.mak" CFG="RetrigAO - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "RetrigAO - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "RetrigAO - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "RetrigAO - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF  "$(CFG)" == "RetrigAO - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "debug"
+# PROP Intermediate_Dir "debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "$(TANGO_HOME)\include\win32" /I "." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINSTATIC" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 tangod.lib log4tangod.lib COS4d.lib omniDynamic4d.lib omniORB4d.lib omnithreadd.lib mswsock.lib ws2_32.lib comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"$(TANGO_HOME)\lib\win32\debug"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "RetrigAO - Win32 Release"
+# Name "RetrigAO - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=ClassFactory.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=RetrigAO.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=RetrigAOClass.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=RetrigAOStateMachine.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=RetrigAO.h
+# End Source File
+# Begin Source File
+
+SOURCE=RetrigAOClass.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/src/RetrigAOStateMachine.cpp b/src/RetrigAOStateMachine.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..708a4acc1d109c8700b638e49aa6f38b2b192579
--- /dev/null
+++ b/src/RetrigAOStateMachine.cpp
@@ -0,0 +1,365 @@
+static const char *RcsId = "$Header:  $";
+//+=============================================================================
+//
+// file :         RetrigAOStateMachine.cpp
+//
+// description :  C++ source for the RetrigAO and its alowed. 
+//                method for commands and attributes
+//
+// 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 <RetrigAO.h>
+#include <RetrigAOClass.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 RetrigAO_ns
+{
+
+//=================================================
+//		Attributes Allowed Methods
+//=================================================
+
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_useBoardFifo_allowed
+// 
+// description : 	Read/Write allowed for useBoardFifo attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_useBoardFifo_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel1Enable_allowed
+// 
+// description : 	Read/Write allowed for channel1Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel1Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel3Enable_allowed
+// 
+// description : 	Read/Write allowed for channel3Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel3Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel5Enable_allowed
+// 
+// description : 	Read/Write allowed for channel5Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel5Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel7Enable_allowed
+// 
+// description : 	Read/Write allowed for channel7Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel7Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel1_allowed
+// 
+// description : 	Read/Write allowed for channel1 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel1_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel3_allowed
+// 
+// description : 	Read/Write allowed for channel3 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel3_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel5_allowed
+// 
+// description : 	Read/Write allowed for channel5 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel5_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel7_allowed
+// 
+// description : 	Read/Write allowed for channel7 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel7_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_errorCounter_allowed
+// 
+// description : 	Read/Write allowed for errorCounter attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_errorCounter_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel0Enable_allowed
+// 
+// description : 	Read/Write allowed for channel0Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel0Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel2Enable_allowed
+// 
+// description : 	Read/Write allowed for channel2Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel2Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel4Enable_allowed
+// 
+// description : 	Read/Write allowed for channel4Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel4Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel6Enable_allowed
+// 
+// description : 	Read/Write allowed for channel6Enable attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel6Enable_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel0_allowed
+// 
+// description : 	Read/Write allowed for channel0 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel0_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel2_allowed
+// 
+// description : 	Read/Write allowed for channel2 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel2_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel4_allowed
+// 
+// description : 	Read/Write allowed for channel4 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel4_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_channel6_allowed
+// 
+// description : 	Read/Write allowed for channel6 attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_channel6_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_bufferDepth_allowed
+// 
+// description : 	Read/Write allowed for bufferDepth attribute.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_bufferDepth_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+
+//=================================================
+//		Commands Allowed Methods
+//=================================================
+
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_Start_allowed
+// 
+// description : 	Execution allowed for Start command.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_Start_allowed(const CORBA::Any &any)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_Stop_allowed
+// 
+// description : 	Execution allowed for Stop command.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_Stop_allowed(const CORBA::Any &any)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		RetrigAO::is_SetAOScaledData_allowed
+// 
+// description : 	Execution allowed for SetAOScaledData command.
+//
+//-----------------------------------------------------------------------------
+bool RetrigAO::is_SetAOScaledData_allowed(const CORBA::Any &any)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+
+}	// namespace RetrigAO_ns