diff --git a/src/epics/util/lib/Adc.pm b/src/epics/util/lib/Adc.pm
index c8ca4a3de19b1e36278cd10b947e70306dd13334..d9d791a34f97c7b6301af829c860876ecad8c80f 100644
--- a/src/epics/util/lib/Adc.pm
+++ b/src/epics/util/lib/Adc.pm
@@ -2,6 +2,8 @@ package CDS::Adc;
 use Exporter;
 @ISA = ('Exporter');
 
+require "lib/medmGen.pm";
+
 #//     \file Adc.dox
 #//     \brief Documentation for Adc.pm
 #//
@@ -128,3 +130,332 @@ sub frontEndCode {
 	my ($i) = @_;
         return "";
 }
+
+sub createGdsMedm
+{
+	my ($medmDir,$mdlName,$site,$dcuid,$medmTarget,$adcCnt,$dacCnt,$dac18,$adcMaster) = @_;
+ # Define colors to be sent to screen gen.
+        my %ecolors = ( "white" => "0",
+             "black" => "14",
+             "red" => "20",
+             "green" => "60",
+             "blue" => "54",
+             "brown" => "34",
+             "gray" => "2",
+             "ltblue" => "50",
+             "mdblue" => "42",
+             "dacblue" => "44",
+             "yellow" => "55"
+           );
+
+
+	my $fname = "$mdlName\_TEST_GDS.adl";
+
+	# ************* Create Banner ******************************************************************************
+	# Put blue rectangle banner at top of screen
+	my $xpos = 0; my $ypos = 0; my $width = 573; my $height = 310;
+	("CDS::medmGen::medmGenFile") -> ($medmDir,$fname,$width,$height);
+	$height = 22;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{blue},"","","");
+	# Add SVN label
+	$xpos = 7; $ypos = 4; $width = 45; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"SVN #",$ecolors{white});
+	# Add SVN Number
+	$xpos = 50; $ypos = 4; $width = 100; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_BUILD_SVN",$ecolors{white},$ecolors{blue},"static");
+	# Add Display Name
+	$xpos = 195; $ypos = 4; $width = 200; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$mdlName\_GDS_TP",$ecolors{white});
+	# Add time string to banner
+	$xpos = 380; $ypos = 4; $width = 200; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_TIME_STRING",$ecolors{white},$ecolors{blue},"static");
+
+	# ************* Create Background **************************************************************************
+	# Add Background rectangles
+	$xpos = 11; $ypos = 29; $width = 550; $height = 270;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{gray},"","","");
+	$xpos = 11; $ypos = 29; $width = 550; $height = 18;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{blue},"","","");
+	$xpos = 15; $ypos = 53; $width = 182; $height = 240;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{yellow},"","","");
+	$xpos = 201; $ypos = 53; $width = 170; $height = 240;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{yellow},"","","");
+	$xpos = 375; $ypos = 53; $width = 175; $height = 240;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{yellow},"","","");
+	$xpos = 210; $ypos = 77; $width = 153; $height = 18;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{blue},"","","");
+	$xpos = 384; $ypos = 167; $width = 158; $height = 18;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{blue},"","","");
+	$xpos = 125; $ypos = 150; $width = 50; $height = 18;
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{black},"","","");
+	# ADD RED FE running alarm block
+	$xpos = 15; $ypos = 51; $width = 182; $height = 74; $vis = "calc"; $calc = "(a&1)==1";
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{red},$vis,$calc,"$site\:FEC-$dcuid\_STATE_WORD");
+
+	# ************* Create Main Status Banner *********************************************************************
+	# Add ADC TIMEOUT Monitor
+	$xpos = 17; $ypos = 29; $width = 12; $height = 17;
+        ("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DIAG_WORD","0","0",$ecolors{red},$ecolors{green});
+	# ADD Blinking FE running indicator
+	$xpos = 29; $ypos = 29; $width = 12; $height = 17; $vis = "calc"; $calc = "(a&1)";
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{ltblue},$vis,$calc,"$site\:FEC-$dcuid\_TIME_DIAG");
+	# Add timing label
+	$xpos = 63; $ypos = 32; $width = 45; $height = 15; 
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"TIMING STATUS",$ecolors{white});
+	# Add i/o status label
+	$xpos = 254; $ypos = 32; $width = 69; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"I/O STATUS",$ecolors{white});
+	# Add DAQ status label
+	$xpos = 429; $ypos = 32; $width = 69; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"DAQ STATUS",$ecolors{white});
+	# Add DCUID Monitor
+	$xpos = 507; $ypos = 32; $width = 25; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:DAQ-FEC_$dcuid\_DCU_ID",$ecolors{white},$ecolors{blue},"static");
+
+	# ************* Create Timing Info Block *********************************************************************
+	# Add CPU Meter
+	$xpos = 19; $ypos = 53; $width = 85; $height = 65;
+        ("CDS::medmGen::medmGenMeter") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_CPU_METER",$ecolors{ltblue},$ecolors{mdblue});
+	# Add BURT Status Monitor
+	$xpos = 128; $ypos = 65; $width = 47; $height = 22;
+        ("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_BURT_RESTORE","0","0",$ecolors{green},$ecolors{red});
+	# Add BURT button
+	$xpos = 134; $ypos = 66; $width = 35; $height = 20;
+        ("CDS::medmGen::medmGenMessage") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_BURT_RESTORE",$ecolors{white},$ecolors{blue},"BURT","1");
+	# Add DIAG RESET button
+	$xpos = 117; $ypos = 95; $width = 70; $height = 20;
+        ("CDS::medmGen::medmGenMessage") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DIAG_RESET",$ecolors{white},$ecolors{blue},"Diag Reset","1");
+
+	# Add GPS Time label
+	$xpos = 18; $ypos = 134; $width = 69; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"GPS Time",$ecolors{black});
+	# Add GPS Time Monitor
+	$xpos = 81; $ypos = 134; $width = 100; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_TIME_DIAG",$ecolors{white},$ecolors{blue},"static");
+
+	# Add Sync Source label
+	$xpos = 18; $ypos = 153; $width = 50; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"Sync Source",$ecolors{black});
+	# Add 1PPS Sync Monitor
+	$xpos = 125; $ypos = 153; $width = 50; $height = 16;
+	("CDS::medmGen::medmGenTextDyn") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"1PPS",$ecolors{green},"A&2","$site\:FEC-$dcuid\_TIME_ERR");
+	# Add TDS Sync Monitor
+	$xpos = 126; $ypos = 153; $width = 50; $height = 16;
+	("CDS::medmGen::medmGenTextDyn") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"TDS",$ecolors{green},"A&4","$site\:FEC-$dcuid\_TIME_ERR");
+	# Add IOP Sync Monitor
+	$xpos = 126; $ypos = 153; $width = 50; $height = 16;
+	("CDS::medmGen::medmGenTextDyn") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"IOP",$ecolors{green},"A&8","$site\:FEC-$dcuid\_TIME_ERR");
+	# Add NO SYNC Alaram Monitor
+	$xpos = 125; $ypos = 153; $width = 50; $height = 16;
+	("CDS::medmGen::medmGenTextDyn") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"NO SYNC",$ecolors{red},"(A&255) == 0","$site\:FEC-$dcuid\_TIME_ERR");
+
+	# Add cycle/user time label
+	$xpos = 18; $ypos = 172; $width = 50; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"CYC/USR",$ecolors{black});
+	# Add Cycle Time Monitor
+	$xpos = 75; $ypos = 172; $width = 40; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_ADC_WAIT",$ecolors{white},$ecolors{black},"alarm");
+	# Add User Time Monitor
+	$xpos = 125; $ypos = 172; $width = 50; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_USR_TIME",$ecolors{white},$ecolors{black},"alarm");
+
+	# Add cpu max time label
+	$xpos = 18; $ypos = 192; $width = 50; $height = 15;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"CPU Max",$ecolors{black});
+	# Add CPU Time Monitor
+	$xpos = 75; $ypos = 192; $width = 40; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_CPU_METER",$ecolors{white},$ecolors{black},"alarm");
+	# Add CPU Time Max Monitor
+	$xpos = 125; $ypos = 192; $width = 50; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_CPU_METER_MAX",$ecolors{white},$ecolors{black},"alarm");
+
+	# Following only for IOP
+	if($adcMaster)
+	{
+		# Add ADC Duotone Diag label
+		$xpos = 18; $ypos = 212; $width = 50; $height = 15;
+		("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"DT ADC",$ecolors{black});
+		# Add ADC Duotone Monitor
+		$xpos = 75; $ypos = 212; $width = 40; $height = 15;
+		("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DUOTONE_TIME",$ecolors{white},$ecolors{black},"alarm");
+		("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"DT ADC",$ecolors{black});
+		# Add IRIG-B Diag label
+		$xpos = 18; $ypos = 232; $width = 50; $height = 15;
+		("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"IRIG-B",$ecolors{black});
+		# Add IRIG-B Monitor
+		$xpos = 75; $ypos = 232; $width = 40; $height = 15;
+		("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_IRIGB_TIME",$ecolors{white},$ecolors{black},"alarm");
+		# Add DAC Duotone Diag label
+		$xpos = 18; $ypos = 252; $width = 50; $height = 15;
+		("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"DT DAC",$ecolors{black});
+		# Add DAC Duotone Monitor
+		$xpos = 75; $ypos = 252; $width = 40; $height = 15;
+		("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DUOTONE_TIME_DAC",$ecolors{white},$ecolors{black},"alarm");
+		# Add arrow to DAC DT On/Off
+		$xpos = 115; $ypos = 252; $width = 30; $height = 15;
+		("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"---->",$ecolors{black});
+		# Add DAC DT On/Off
+		$xpos = 144; $ypos = 246; $width = 50; $height = 35;
+		("CDS::medmGen::medmGenChoice") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DACDT_ENABLE",$ecolors{white},$ecolors{blue});
+	}
+
+	# ************* Create I/O Status Info Block *****************************************************************
+	# Add Overflow counter reset
+	$xpos = 210; $ypos = 53; $width = 70; $height = 18;
+        ("CDS::medmGen::medmGenMessage") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_OVERFLOW_RESET",$ecolors{white},$ecolors{blue},"OVERFLOWS","1");
+	# Add Overflow Counter Monitor
+	$xpos = 282; $ypos = 55; $width = 80; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_ACCUM_OVERFLOW",$ecolors{white},$ecolors{black},"alarm");
+
+	# Add IPC Monitor related display
+	$xpos = 210; $ypos = 77; $width = 85; $height = 18;
+	$mdlNamelc = lc($mdlName);
+	$relDisp = "$medmTarget\/$mdlNamelc\/$mdlName\_IPC_STATUS.adl";
+        ("CDS::medmGen::medmGenRelDisp") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$relDisp,$ecolors{white},$ecolors{blue},"RT NET STAT");
+	# Add IPC Status Monitor
+	$xpos = 314; $ypos = 79; $width = 40; $height = 15;
+        ("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DIAG1","0","3",$ecolors{red},$ecolors{green});
+
+	# Add Guardian Alarm Monitor related display
+	$xpos = 210; $ypos = 102; $width = 85; $height = 18;
+	$mdlNamelc = lc($mdlName);
+	$relDisp = "$medmTarget\/$mdlNamelc\/$mdlName\_ALARM_MONITOR.adl";
+        ("CDS::medmGen::medmGenRelDisp") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$relDisp,$ecolors{white},$ecolors{blue},"Guard (S/R)");
+	# Add Guardian setpoint error  Counter Monitor
+	$xpos = 299; $ypos = 104; $width = 30; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_GRD_SP_ERR_CNT",$ecolors{white},$ecolors{black},"alarm");
+	# Add Guardian readback error  Counter Monitor
+	$xpos = 331; $ypos = 104; $width = 30; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_GRD_RB_ERR_CNT",$ecolors{white},$ecolors{black},"alarm");
+
+	# Add Coeff Reload
+	$xpos = 210; $ypos = 126; $width = 152; $height = 18;
+        ("CDS::medmGen::medmGenMessage") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_LOAD_NEW_COEFF",$ecolors{white},$ecolors{blue},"Coeff Load","1");
+	# Add Coeff load time Monitor
+	$xpos = 210; $ypos = 146; $width = 152; $height = 18;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_MSG",$ecolors{white},$ecolors{blue},"static");
+
+	# ************* Create DAQ Status Info Block *****************************************************************
+
+	# Add DAQ Status label
+	$xpos = 425; $ypos = 54; $width = 110; $height = 12;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"Status  CPS   SUM",$ecolors{black});
+	# Add DAQ Status label
+	$xpos = 387; $ypos = 73; $width = 24; $height = 12;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"DC",$ecolors{black});
+	# Add DAQ Status Monitor
+	$xpos = 407; $ypos = 72; $width = 14; $height = 15; $vis = "if zero"; $calc = "";
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{green},$vis,$calc,"$site\:DAQ-DC0\_$mdlName\_STATUS");
+	$xpos = 407; $ypos = 72; $width = 14; $height = 15; $vis = "if not zero"; $calc = "";
+        ("CDS::medmGen::medmGenRectangle") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$ecolors{red},$vis,$calc,"$site\:DAQ-DC0\_$mdlName\_STATUS");
+	# Add DAQ Status label
+	$xpos = 387; $ypos = 106; $width = 24; $height = 12;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"FE",$ecolors{black});
+	# Add DAQ Net Monitor
+	$xpos = 407; $ypos = 105; $width = 14; $height = 15;
+        ("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_FB_NET_STATUS","0","1",$ecolors{red},$ecolors{green});
+
+	# Add DAQ Status label
+	$xpos = 407; $ypos = 91; $width = 110; $height = 12;
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"    NET CHN   DRATE  TRATE",$ecolors{black});
+	# Add DAQ DC chan count Monitor
+	$xpos = 424; $ypos = 72; $width = 35; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:DAQ-DC0_$mdlName\_STATUS",$ecolors{white},$ecolors{black},"alarm");
+	# Add DAQ DC CRC Error Monitor
+	$xpos = 464; $ypos = 72; $width = 35; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:DAQ-DC0_$mdlName\_CRC_CPS",$ecolors{white},$ecolors{black},"alarm");
+	# Add DAQ DC CRC Error Sum Monitor
+	$xpos = 504; $ypos = 72; $width = 35; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:DAQ-DC0_$mdlName\_CRC_SUM",$ecolors{white},$ecolors{black},"alarm");
+
+	# Add DAQ chan count Monitor
+	$xpos = 424; $ypos = 105; $width = 35; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:DAQ-FEC_$dcuid\_CHAN_CNT",$ecolors{white},$ecolors{black},"alarm");
+	# Add DAQ + TP chan counter Monitor
+	$xpos = 464; $ypos = 105; $width = 35; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:DAQ-FEC_$dcuid\_TOTAL",$ecolors{white},$ecolors{black},"alarm");
+	# Add DAQ chan data rate Monitor
+	$xpos = 504; $ypos = 105; $width = 35; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAQ_BYTE_COUNT",$ecolors{white},$ecolors{black},"alarm");
+
+	# Add DAQ Reload
+	$xpos = 384; $ypos = 126; $width = 158; $height = 18;
+        ("CDS::medmGen::medmGenMessage") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:DAQ-FEC_$dcuid\_LOAD_CONFIG",$ecolors{white},$ecolors{blue},"DAQ Reload","1");
+	# Add DAQ load time Monitor
+	$xpos = 384; $ypos = 146; $width = 158; $height = 18;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_MSGDAQ",$ecolors{white},$ecolors{blue},"static");
+
+	# Add TP label
+	$xpos = 386; $ypos = 169; $width = 80; $height = 12; 
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"Test Points",$ecolors{white});
+	# Add AWG label
+	$xpos = 497; $ypos = 169; $width = 20; $height = 12; 
+	("CDS::medmGen::medmGenText") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"AWG",$ecolors{white});
+	# Add TP Counter Monitor
+	$xpos = 467; $ypos = 169; $width = 20; $height = 15;
+        ("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_TP_CNT",$ecolors{white},$ecolors{black},"alarm");
+	# Add AWG Monitor
+	$xpos = 525; $ypos = 168; $width = 10; $height = 15;
+        ("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_AWGTPMAN_STAT","0","0",$ecolors{red},$ecolors{green});
+
+	# Add Individual TP channel number monitors
+	$xpos = 384; $ypos = 188; $width = 50; $height = 15;
+	for(my $ii=0;$ii<5;$ii++)
+	{
+		("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_GDS_MON_$ii",$ecolors{white},$ecolors{blue},"static");
+		$ypos += 18;
+	}
+	$xpos = 438; $ypos = 188;
+	for($ii=5;$ii<10;$ii++)
+	{
+		("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_GDS_MON_$ii",$ecolors{white},$ecolors{blue},"static");
+		$ypos += 18;
+	}
+	$xpos = 492; $ypos = 188;
+	for(my $ii=10;$ii<15;$ii++)
+	{
+		("CDS::medmGen::medmGenTextMon") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_GDS_MON_$ii",$ecolors{white},$ecolors{blue},"static");
+		$ypos += 18;
+	}
+	# ****************** ADD ADC / DAC related disp *******************************************************************
+	my $totalCards = 0;
+	$mdlNamelc = lc($mdlName);
+	$xpos = 215; $ypos = 172; $width = 30; $height = 20;
+	$bxpos = 247; $bypos = 173; $bwidth = 21; $bheight = 18;
+	for($ii=0;$ii<$adcCnt;$ii++)
+	{
+		$relDisp = "$medmTarget\/$mdlNamelc\/$mdlName\_MONITOR_ADC$ii.adl";
+        	("CDS::medmGen::medmGenRelDisp") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$relDisp,$ecolors{white},$ecolors{brown},"A$ii");
+		("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$bxpos,$bypos,$bwidth,$bheight,"$site\:FEC-$dcuid\_ADC_STAT_$ii","0","2",$ecolors{green},$ecolors{red});
+		$ypos += 22;
+		$bypos += 22;
+		$totalCards ++;
+		if(($totalCards % 5) == 0) {
+			$xpos = 295;
+			$ypos = 172;
+			$bxpos = 327;
+			$bypos = 173;
+		}
+	}
+	$bwidth = 28;
+	for($ii=0;$ii<$dacCnt;$ii++)
+	{
+		$relDisp = "$medmTarget\/$mdlNamelc\/$mdlName\_DAC_MONITOR_$ii.adl";
+		if($ii<$dac18) {
+			("CDS::medmGen::medmGenRelDisp") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$relDisp,$ecolors{white},$ecolors{dacblue},"D$ii");
+			("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$bxpos,$bypos,$bwidth,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","0","4",$ecolors{green},$ecolors{red});
+		} else {
+			("CDS::medmGen::medmGenRelDisp") -> ($medmDir,$fname,$xpos,$ypos,$width,$height,$relDisp,$ecolors{white},$ecolors{blue},"D$ii");
+			("CDS::medmGen::medmGenByte") -> ($medmDir,$fname,$bxpos,$bypos,$bwidth,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","0","3",$ecolors{green},$ecolors{red});
+		}
+		$ypos += 22;
+		$bypos += 22;
+		$totalCards ++;
+		if(($totalCards % 5) == 0) {
+			$xpos = 295;
+			$ypos = 172;
+			$bxpos = 327;
+			$bypos = 173;
+		}
+	}
+}