diff --git a/src/asterx1_gps.cpp b/src/asterx1_gps.cpp
index 5f623c31a9dcf91535dc6efafead8a2d3d5ea958..7533be0d94b28c7accb095655d4d240a7040fb94 100644
--- a/src/asterx1_gps.cpp
+++ b/src/asterx1_gps.cpp
@@ -1,10 +1,10 @@
 #include "asterx1_gps.h"
 
-CasteRx1::CasteRx1(const string & hwPortName, const int acqRateIndex)
+CasteRx1::CasteRx1(const string & hwPortName, const int acqRate)
 {
 	status = 0;
 	config.portName = hwPortName;
-	config.acqPeriod = acqPeriodValues[acqRateIndex];
+	config.acqPeriod = acqPeriodValues[acqRate];
 }
 
 CasteRx1::~CasteRx1()
@@ -12,14 +12,14 @@ CasteRx1::~CasteRx1()
 	blockList.clear();
 	if( (status & ACQUISITION_RUNNING) ) stopAcquisition();
 	if( (status & DEVICE_OPEN) ) closeDevice();
+      delete serialPort;
 	cout << "CasteRx1::~CasteRx1(). End of CasteRx1 destructor" << endl; //bye bye message
 }
 
-int CasteRx1::openDevice(int xx)
+int CasteRx1::openDevice()
 {
-	cout << xx << endl;
+      TRS232_config serialConfig;
 	int retValue = BASIC_SUCCESS;
-	TRS232_config serialConfig;
 	
 	try{
 		serialPort = new CRS232(config.portName); //creates a new object to manage serial connection
@@ -84,13 +84,11 @@ int CasteRx1::closeDevice()
 			retValue = PORT_CLOSE_ERROR;
 			//status |= DEVICE_OPEN; //close() has failed , so it is still opened
 		}
-	
 	}
 	if ( retValue == BASIC_SUCCESS ) //if close() is successful, we delete the object
 	{
 		status &= ~DEVICE_OPEN;
 		cout << "CasteRx1::closeDevice(). SUCCESS. Serial port " << config.portName << " closed successfully." << endl;		
-		delete serialPort;
 	}
 	
 	return retValue;
@@ -102,7 +100,7 @@ int CasteRx1::startAcquisition()
 	sbfBlockManager *blockMng;
 	string cmnd;
 	
-	//enables commands as input at USB1
+	//enables commands at USB1 device input
 	retValue += sendCommand("setDataInOut,USB1,CMD,none\n");
 
 	//stops data transmission if it was running
@@ -138,7 +136,6 @@ int CasteRx1::startAcquisition()
 	cmnd.append(config.acqPeriod);
 	cmnd.append("\n");
 	retValue += sendCommand(cmnd);
-	//retValue += sendCommand("setSBFOutput,Stream1,USB1,Group1,msec500\n");
 	
 	if ( retValue == BASIC_SUCCESS*11 ) //success on all commands
 	{
@@ -221,7 +218,7 @@ int CasteRx1::readDataFromDevice()
 		retValue += readNbytes(&buffer[0],2,DATA_TIMEOUT);//reads transmitted crc value
 		crcValue = getUI2(&buffer[0]); //decodes crc value
 		retValue += readNbytes(&buffer[0],2,DATA_TIMEOUT);//reads block id field
-		blockId = (buffer[0] & 0xff)|((buffer[1] & 0x1f)<<8);//decodes blockId (usies only the 13 LS bits)
+		blockId = (buffer[0] & 0xff)|((buffer[1] & 0x1f)<<8);//decodes blockId (uses only the 13 LS bits)
 		retValue += readNbytes(&buffer[2],2,DATA_TIMEOUT);//reads block length
 		blockLength = getUI2(&buffer[2]);//decodes block length (in bytes)
 
diff --git a/src/asterx1_gps.h b/src/asterx1_gps.h
index 0d0e38dfef140801623a0208cbbb8e50a544c435..8f4bb5db339225b119c79e9ab86287f3c35f3ccd 100644
--- a/src/asterx1_gps.h
+++ b/src/asterx1_gps.h
@@ -131,59 +131,69 @@ const bool inDEGREES = 1;
 class CasteRx1
 {
 	public:
-		/**
-		  Constructor: just catch the name of the serial port
+		/** \brief Default constructor
+             *
+             * Constructor. Requires port file name and, optionally, acquisition rate.
+             * 
 		*/
-		CasteRx1(const string & hwPortName = "/dev/ttyACM0", const int acqRateIndex = MSEC500); 
+		CasteRx1(const string & hwPortName = "/dev/ttyACM0", const int acqRate = MSEC500); 
 		
-		/**
-		  Destructor: Stops acquisition in case it was running and closes serial Port in case it was opened.
+		/** \brief Destructor
+             * 
+             * Destructor: Stops acquisition in case it was running and closes serial Port in case it was opened.
+             * 
 		*/
 		virtual ~CasteRx1(); 
 				
-		/**
-		  Opens serial communications and starts serial comm thread.
-		  If success , sets status bit DEVICE_OPEN.
-		  Return values are:
-			BASIC_SUCCESS
-			PORT_OPEN_ERROR if thread can't be created or port can't be opened
-			PORT_CONFIG_ERROR if port can't be configured
+		/** \brief Open and configure serial device. 
+             * 
+             * Open and configure serial device to 8N1 Byte transmission. 
+             * Launches a thread for serial in/out comms
+             * Return values are:
+             *    BASIC_SUCCESS
+             *    PORT_OPEN_ERROR if thread can't be created or port can't be opened
+             *    PORT_CONFIG_ERROR if port can't be configured
 		*/
-		int openDevice(int xx=3); 
+		int openDevice(); 
 		
-		/**
-		  Closes serial comm's , stops comm thread and deletes comm object.
-		  If success , resets status bit DEVICE_OPEN.
-		  Return values are:
-			BASIC_SUCCESS 
-			PORT_CLOSE_ERROR
+		/** \brief Closes serial comm
+             * 
+             * Closes serial comm's , stops comm thread and deletes comm object.
+             * If success , resets status bit DEVICE_OPEN.
+             * Return values are:
+             *    BASIC_SUCCESS 
+             *    PORT_CLOSE_ERROR
 		*/
 		int closeDevice();
 		
-		/**
-		  Configures the device to perform some signal processing basics for mobile robotics.
-		  Starts a mode of operation of continuos data flow from the device at a rate of 2Hz.
-		  Return values are:
-			BASIC_SUCCESS
-			ASTERX1_CONFIG_ERROR
+		/** \brief Starts basic data acquisition
+             * 
+             * Configures the device to perform some signal processing basics for mobile robotics.
+             * Starts a mode of operation of continuos data flow from the device at a rate of 2Hz.
+             * Return values are:
+             *    BASIC_SUCCESS
+             *    ASTERX1_CONFIG_ERROR
 		*/
 		int startAcquisition(); 
 		
-		/**
-		  Stops mode of operation of continuous data flow
-		  Return values are:
-			BASIC_SUCCESS when device stop is ok
-			ASTERX1_STOPPINTG_ERROR otherwise.
+		/** \brief Stops acquisition
+             * 
+             * Stops continuous acquisition mode
+             * Return values are:
+             *    BASIC_SUCCESS when device stop is ok
+             *    ASTERX1_STOPPINTG_ERROR otherwise.
 		*/ 
 		int stopAcquisition(); 
 		
-		/**
-		  Reads current data produced by the device. Ends when all data blocks requested have been received. 
-		  Sets status and all data fields. 
-		  Return values are:
-			BASIC_SUCCESS if all blocks are successfully decodes.
-			ACQUISITION_ERROR otherwise.
-		  Afterwards, call getStatus() to check for gps availability.
+		/** \brief Decodes the device SBF stream
+             * 
+             * Reads current data produced by the device. Ends when all data blocks requested have been received. 
+             * Sets status and all data fields. 
+             * Return values are:
+             *    BASIC_SUCCESS if all blocks are successfully decodes.
+             *    ACQUISITION_ERROR otherwise.
+             * 
+             * After calling this function, call getStatus() to check for gps availability.
 		*/
 		int readDataFromDevice();