diff --git a/src/epics/util/feCodeGen.pl b/src/epics/util/feCodeGen.pl index 5f0fe678ae6554bcca98f255b9fb6608d6d9e2ee..67b2f352701bc290d544412ebf73d7653bf07949 100755 --- a/src/epics/util/feCodeGen.pl +++ b/src/epics/util/feCodeGen.pl @@ -1289,6 +1289,12 @@ for($ii=0;$ii<$dacCnt;$ii++) print EPICS "OUTVARIABLE FEC\_$dcuId\_DAC_STAT_$ii epicsOutput.statDac\[$ii\] int ao 0\n"; } +print OUTH "\tint buffDac[$dacCnt];\n"; +for($ii=0;$ii<$dacCnt;$ii++) +{ + print EPICS "OUTVARIABLE FEC\_$dcuId\_DAC_BUFF_$ii epicsOutput.buffDac\[$ii\] int ao 0\n"; +} + print OUTH "\tint overflowDac[$dacCnt][16];\n"; for($ii=0;$ii<$dacCnt;$ii++) { diff --git a/src/epics/util/lib/Dac18.pm b/src/epics/util/lib/Dac18.pm index 90a08692a42b2ce47364f4a5d0cfc073eec12be9..3ba482978b114e8b01f645563f6163d4b906fa85 100644 --- a/src/epics/util/lib/Dac18.pm +++ b/src/epics/util/lib/Dac18.pm @@ -276,15 +276,6 @@ sub createDac18Medm # Add FIFO Status Monitor $xpos = 26; $ypos = 112; $width = 12; $height = 12; $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","3","3",$ecolors{green},$ecolors{red}); - # Add FIFO EMPTY Monitor - $xpos = 58; $ypos = 132; $width = 12; $height = 12; - $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","5","5",$ecolors{red},$ecolors{green}); - # Add FIFO HI QTR Monitor - $xpos = 58; $ypos = 147; $width = 12; $height = 12; - $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","6","6",$ecolors{red},$ecolors{green}); - # Add FIFO FULL Monitor - $xpos = 58; $ypos = 162; $width = 12; $height = 12; - $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","7","7",$ecolors{red},$ecolors{green}); # Add ON LINE Label $xpos = 51; $ypos = 52; $width = 100; $height = 15; $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"ON LINE",$ecolors{black}); @@ -302,15 +293,6 @@ sub createDac18Medm # Add FIFO STATUS Label $xpos = 51; $ypos = 112; $width = 100; $height = 15; $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FIFO STATUS",$ecolors{black}); - # Add FIFO EMPTY Label - $xpos = 81; $ypos = 132; $width = 100; $height = 15; - $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"EMPTY",$ecolors{black}); - # Add FIFO HI QTR Label - $xpos = 81; $ypos = 147; $width = 100; $height = 15; - $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"HIGH QUARTER",$ecolors{black}); - # Add FIFO FULL Label - $xpos = 81; $ypos = 162; $width = 100; $height = 15; - $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FULL",$ecolors{black}); } print OUTMEDM "$medmdata \n"; diff --git a/src/epics/util/lib/Dac20.pm b/src/epics/util/lib/Dac20.pm index 788cc792f8548bbddba92afd481976e872c1c1f3..6f13b629281ed2298bd1ff7c972ff67e69bb79e0 100644 --- a/src/epics/util/lib/Dac20.pm +++ b/src/epics/util/lib/Dac20.pm @@ -278,15 +278,6 @@ sub createDac20Medm # Add FIFO Status Monitor $xpos = 26; $ypos = 112; $width = 12; $height = 12; $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","3","3",$ecolors{green},$ecolors{red}); - # Add FIFO EMPTY Monitor - $xpos = 58; $ypos = 132; $width = 12; $height = 12; - $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","5","5",$ecolors{red},$ecolors{green}); - # Add FIFO HI QTR Monitor - $xpos = 58; $ypos = 147; $width = 12; $height = 12; - $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","6","6",$ecolors{red},$ecolors{green}); - # Add FIFO FULL Monitor - $xpos = 58; $ypos = 162; $width = 12; $height = 12; - $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","7","7",$ecolors{red},$ecolors{green}); # Add ON LINE Label $xpos = 51; $ypos = 52; $width = 100; $height = 15; $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"ON LINE",$ecolors{black}); @@ -304,15 +295,6 @@ sub createDac20Medm # Add FIFO STATUS Label $xpos = 51; $ypos = 112; $width = 100; $height = 15; $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FIFO STATUS",$ecolors{black}); - # Add FIFO EMPTY Label - $xpos = 81; $ypos = 132; $width = 100; $height = 15; - $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"EMPTY",$ecolors{black}); - # Add FIFO HI QTR Label - $xpos = 81; $ypos = 147; $width = 100; $height = 15; - $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"HIGH QUARTER",$ecolors{black}); - # Add FIFO FULL Label - $xpos = 81; $ypos = 162; $width = 100; $height = 15; - $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FULL",$ecolors{black}); } print OUTMEDM "$medmdata \n"; diff --git a/src/epics/util/lib/medmGenGdsTp.pm b/src/epics/util/lib/medmGenGdsTp.pm index ee5f678307970a197bdcb8e6719f01ef5145c9cd..aa4d8bf5776086642347cf0e83af81208877700f 100644 --- a/src/epics/util/lib/medmGenGdsTp.pm +++ b/src/epics/util/lib/medmGenGdsTp.pm @@ -427,7 +427,7 @@ sub createGdsMedm $medmdata .= ("CDS::medmGen::medmGenRelDisp") -> ($xpos,$ypos,$width,$height,$relDisp,$ecolors{black},$ecolors{ltblue},"D$::dacCardNum[$ii]"); if($adcMaster == 1) { - $medmdata .= ("CDS::medmGen::medmGenByte") -> ($bxpos,$bypos,$bwidth,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","0","3",$ecolors{green},$ecolors{red}); + $medmdata .= ("CDS::medmGen::medmGenByte") -> ($bxpos,$bypos,$bwidth,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","0","4",$ecolors{green},$ecolors{red}); } else { $medmdata .= ("CDS::medmGen::medmGenByte") -> ($bxpos,$bypos,$b1width,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","1","2",$ecolors{green},$ecolors{red}); } diff --git a/src/fe/controllerIop.c b/src/fe/controllerIop.c index f084b215b9638f53f1ccd6fa9539dea1fe23a314..defb2d2503632b2a8c905566eec05004fcfb9468 100644 --- a/src/fe/controllerIop.c +++ b/src/fe/controllerIop.c @@ -412,6 +412,7 @@ adcInfo_t *padcinfo = (adcInfo_t *)&adcinfo; gsc16ai64Enable(cdsPciModules.adcCount); /// - ---- Arm DAC outputs gsc18ao8Enable(&cdsPciModules); + gsc20ao8Enable(&cdsPciModules); gsc16ao16Enable(&cdsPciModules); // Set synched flag so later code will not check for 1PPS sync21pps = 1; diff --git a/src/include/drv/iop_dac_functions.c b/src/include/drv/iop_dac_functions.c index 2d035848e9e2d1e0de7963b230d430a21fc0f5cc..93ef385e4be4042cd0ab275abf5543932ecd105c 100644 --- a/src/include/drv/iop_dac_functions.c +++ b/src/include/drv/iop_dac_functions.c @@ -229,6 +229,7 @@ inline int check_dac_buffers (int cycleNum) dac18bitPtr = (volatile GSA_18BIT_DAC_REG *)(dacPtr[jj]); out_buf_size = dac18bitPtr->OUT_BUF_SIZE; dacOutBufSize[jj] = out_buf_size; + pLocalEpics->epicsOutput.buffDac[jj] = out_buf_size; if(!dacTimingError) { if((out_buf_size < 8) || (out_buf_size > 24)) { @@ -257,6 +258,8 @@ inline int check_dac_buffers (int cycleNum) dac20bitPtr = (volatile GSA_20BIT_DAC_REG *)(dacPtr[jj]); out_buf_size = dac20bitPtr->OUT_BUF_SIZE; dacOutBufSize[jj] = out_buf_size; + pLocalEpics->epicsOutput.buffDac[jj] = out_buf_size; + pLocalEpics->epicsOutput.buffDac[jj] = out_buf_size; if((out_buf_size > 24)) { pLocalEpics->epicsOutput.statDac[jj] &= ~(DAC_FIFO_BIT);