changeset 184:12df3a2b18de

Do not reset dedrift DDS at program initialization
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Fri, 21 Feb 2014 18:42:30 +0100
parents 791ca26fee6a
children bc980095a24d
files DDS_Fox.c DDS_Fox.h FXAnalyse.c
diffstat 3 files changed, 17 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/DDS_Fox.c	Fri Feb 21 18:42:30 2014 +0100
+++ b/DDS_Fox.c	Fri Feb 21 18:42:30 2014 +0100
@@ -66,7 +66,7 @@
 	va_end(args);
 }
 
-void DDSFox_Initialize(DDSParameter *Param, char *ip, int port, double frequency)
+void DDSFox_Init(DDSParameter *Param, char *ip, int port)
 {
 	strcpy(Param->ip, ip); 
 	Param->Port = 6665;
@@ -74,10 +74,14 @@
 	Param->Clock = 200000000;
 	Param->Delta_T = 0.01;
 	Param->SweepRate = 0.0;
-	
+}
+
+void DDSFox_Reset(DDSParameter *Param, double frequency)
+{
+	// set sweep rate to 0
+	Param->SweepRate = 0.0;
 	// reset the DDS
-	//DDSFox_Nop(Param);
-	DDSFox_Reset(Param);
+	DDSFox_DeviceReset(Param);
 	// set profile number 7 soft frequecy sweep
 	DDSFox_SetProfile(Param);
 	// set clock divider to 1
@@ -141,14 +145,11 @@
 	SendCmd(request, Param);
 }
 
-void DDSFox_Reset(DDSParameter *Param)
+void DDSFox_DeviceReset(DDSParameter *Param)
 {
-	char  Request[255]; 
-	//sprintf(Request,"set;%i;%i",1,CMD_NOP);   
-	//SendCmd(Request, Param) ;
-	sprintf(Request,"set;%i;%i",1,CMD_RESET_DDS);   
-	SendCmd(Request, Param) ;
-	return ;
+	char request[255];
+	sprintf(request, "set;%i;%i", 1, CMD_RESET_DDS);
+	SendCmd(request, Param);
 }
 
 void DDSFox_StopSweep(DDSParameter *Param)
--- a/DDS_Fox.h	Fri Feb 21 18:42:30 2014 +0100
+++ b/DDS_Fox.h	Fri Feb 21 18:42:30 2014 +0100
@@ -1,21 +1,20 @@
 typedef struct {
-	char Name[255];
 	char ip[255];
 	int Port;
-	//int Divider;
 	double Clock;
 	double SweepRate;
 	double Delta_T;
 	unsigned int Profil;
 } DDSParameter;
 
-void DDSFox_Initialize(DDSParameter *Param, char *ip, int port, double frequency);
+void DDSFox_Init(DDSParameter *Param, char *ip, int port);
+void DDSFox_Reset(DDSParameter * Param, double frequency);
 void DDSFox_SetSweepRate(DDSParameter *Param, double sweepRate);
 void DDSFox_Set(DDSParameter *Param, double frequency, double sweepRate);
 void DDSFox_Nop(DDSParameter *Param);
 void DDSFox_SetProfile(DDSParameter *Param);
 void DDSFox_SetDiv(DDSParameter *Param, int div);
-void DDSFox_Reset(DDSParameter * Param);
+void DDSFox_DeviceReset(DDSParameter * Param);
 void DDSFox_SetFreq (DDSParameter * Param) ;
 void DDSFox_SetFreqInf (DDSParameter *Param, double frequency) ;
 void DDSFox_SetFreqSup (DDSParameter *Param, double frequency) ;
--- a/FXAnalyse.c	Fri Feb 21 18:42:30 2014 +0100
+++ b/FXAnalyse.c	Fri Feb 21 18:42:30 2014 +0100
@@ -433,7 +433,7 @@
 		return -1;
 	
 	// dedrift DDS
-	DDSFox_Initialize(&DDS1xAD9956, host, port, dedrift.freq0);
+	DDSFox_Init(&DDS1xAD9956, host, port);
 	
 	// AD9912 configuration parameters
 	rv = Ini_GetStringIntoBuffer(configuration, "AD9912", "host", host, sizeof(host));
@@ -1952,10 +1952,7 @@
 			dedrift.applied = 0.0;
 			SetCtrlVal(panel, PANEL_SLOPE_APPLIED, dedrift.applied);
 			// reset DDS
-			DDSFox_Reset(&DDS1xAD9956);
-			DDSFox_SetProfile(&DDS1xAD9956);
-			DDSFox_SetDiv(&DDS1xAD9956, 1);
-			DDSFox_Set(&DDS1xAD9956, dedrift.freq0, 0.0);
+			DDSFox_Reset(&DDS1xAD9956, dedrift.freq0);
 			break;
 	}
 	return 0;