Index: fact/FADctrl/FADBoard.cc
===================================================================
--- fact/FADctrl/FADBoard.cc	(revision 11087)
+++ fact/FADctrl/FADBoard.cc	(revision 11178)
@@ -57,4 +57,5 @@
   DIM_Rate = new DimService((ID.str()+"RateHz").c_str(), Status.Rate);
   DIM_Frequency = new DimService((ID.str()+"Frequency").c_str(), Status.Frequency);
+  DIM_Lock = new DimService((ID.str()+"Lock").c_str(), (char *) "S", &Status.Lock, NChips*sizeof(bool));
   DIM_TriggerNum = new DimService((ID.str()+"TriggerNum").c_str(), (char *) "I", &Status.TriggerNum, sizeof(Status.TriggerNum));
   DIM_Temp = new DimService((ID.str()+"Temperature").c_str(), (char *) "F", NULL, 0);
@@ -99,13 +100,9 @@
   }
 
-  delete DIM_Name;
-  delete DIM_Status;
-  delete DIM_ID;
-  delete DIM_Rate;
-  delete DIM_Frequency;
-  delete DIM_TriggerNum;
-  delete DIM_Temp;
-  delete DIM_DAC;
-  delete DIM_ROI;
+  delete DIM_Name;			delete DIM_Status;
+  delete DIM_ID;			delete DIM_Rate;
+  delete DIM_Frequency;		delete DIM_Lock;
+  delete DIM_TriggerNum;	delete DIM_Temp;
+  delete DIM_DAC;			delete DIM_ROI;
   delete DIM_ACalData;  
   delete[] Name;
@@ -495,6 +492,6 @@
 	  Status.PhaseShift = Header->adc_clock_phase_shift;
 	  for (unsigned int i=0; i<NChips; i++) {
-		if ((ntohs(Header->PLLLCK)>>12 & (1<<i)) != 0) Status.Lock[i] = true;
-		else Status.Lock[i] = false;
+		if ((ntohs(Header->PLLLCK)>>12 & (1<<i)) != 0) Status.Lock[i] = 1;
+		else Status.Lock[i] = 0;
 	  }
 
@@ -553,5 +550,8 @@
 		if (PrevStatus.TriggerNum != Status.TriggerNum) DIM_TriggerNum->updateService();
 		if (PrevStatus.Rate != Status.Rate) DIM_Rate->updateService();
-		
+
+		if (memcmp(PrevStatus.Lock, Status.Lock, sizeof(Status.Lock)) != 0) {
+		  DIM_Lock->updateService();
+		}
 		if (memcmp(PrevStatus.Temp, Status.Temp, sizeof(Status.Temp)) != 0) {
 		  DIM_Temp->updateService(Status.Temp, sizeof(Status.Temp));
Index: fact/FADctrl/FADBoard.h
===================================================================
--- fact/FADctrl/FADBoard.h	(revision 11087)
+++ fact/FADctrl/FADBoard.h	(revision 11178)
@@ -29,5 +29,5 @@
 	int Socket;
 	pthread_mutex_t Mutex;
-	DimService *DIM_Name, *DIM_Status, *DIM_ID, *DIM_Frequency, *DIM_TriggerNum;
+	DimService *DIM_Name, *DIM_Status, *DIM_ID, *DIM_Frequency, *DIM_Lock, *DIM_TriggerNum;
 	DimService *DIM_Rate, *DIM_Temp, *DIM_ROI, *DIM_DAC, *DIM_ACalData;
 
@@ -60,5 +60,5 @@
 
 	  float Frequency;
-	  bool Lock[NChips];
+	  short Lock[NChips];
 	  int8_t PhaseShift;
 
Index: fact/FADctrl/History.txt
===================================================================
--- fact/FADctrl/History.txt	(revision 11087)
+++ fact/FADctrl/History.txt	(revision 11178)
@@ -33,2 +33,3 @@
 7/6/2011	DIM event service only contains active boards
 21/6/2011	Command 'boards' takes 'none as argument
+24/6/2011	PLL lock status published as DIM service
