diff --git a/configure/CONFIG_MODULE b/configure/CONFIG_MODULE
index 90c9ea8f0b47d8707b1d23d94490f8140560fafe..fc5b71f8f13595bcf398270e66bbea4d5696e9bc 100644
--- a/configure/CONFIG_MODULE
+++ b/configure/CONFIG_MODULE
@@ -1,8 +1,8 @@
 EPICS_MODULE_NAME:=sis8300llrf
 #
-EPICS_MODULE_TAG:=tags/v3.11.0
+EPICS_MODULE_TAG:=tags/v3.13.0
 #
-E3_MODULE_VERSION:=3.11.0
+E3_MODULE_VERSION:=3.13.0
 #
 ASYN_DEP_VERSION=4.33.0
 #
@@ -10,9 +10,9 @@ LOKI_DEP_VERSION=1.0.0
 #
 NDS_DEP_VERSION=2.3.3
 #
-SIS8300DRV_DEP_VERSION=4.6.2
+SIS8300DRV_DEP_VERSION=4.6.3
 #
-SIS8300_DEP_VERSION=2.7.1
+SIS8300_DEP_VERSION=2.8.0
 #
 SIS8300LLRFDRV_DEP_VERSION=5.4.0
 #
diff --git a/testing/check b/testing/check
deleted file mode 100755
index 2dac6ea33f3d42ff2eb743c04a45da9ad419f6ef..0000000000000000000000000000000000000000
--- a/testing/check
+++ /dev/null
@@ -1 +0,0 @@
-[ "$1" = "$2" ] && echo "Pass" || echo "***Fail on test '$3': result = $2***" 1>&2
diff --git a/testing/set_att b/testing/set_att
deleted file mode 100755
index bc3c6148adc1c01d81416987fd48efaa15bfc470..0000000000000000000000000000000000000000
--- a/testing/set_att
+++ /dev/null
@@ -1,26 +0,0 @@
-if [ $1 = "-h" ] || [ $# -lt 3 ]; then
-    echo "Writes an attenuation value to register for channels 0-8."
-    echo "usage: sh set_att <LLRF_INSTANCE> <sis8300 slot> <channel> <value> "
-    echo "e.g. sh set-att LLRF 0 15" 
-    exit
-fi
-
-LLRF_INSTANCE=$1
-slot=$2
-channel=$3
-attVal=$4
-
-run() {
-    eval "$(dirname $0)/$1"
-}
-
-state=$(( $attVal * 2 * (1 + $channel / 8) ))
-echo "Ch $channel - setting attenuation to $attVal"
-caput $LLRF_INSTANCE:AI$channel-ATT $attVal > /dev/null
-# 4-byte registers 0xF82, 0xF83 and 0xF84 hold the values with one byte offsets between values
-reg="0xF8$(( 2 + $channel / 4 ))"
-result="$(sis8300drv_reg /dev/sis8300-$slot $reg)"
-rshift=$(( $channel % 4 * 8))
-result=$(( ($result >> $rshift) & 0x000000FF))
-usleep 500000
-run "check $state $result 'Test attenuator on channel $channel'"
diff --git a/testing/state_change b/testing/state_change
deleted file mode 100755
index ed367137c7e53d84a8bad04c9c7e16403a8be3aa..0000000000000000000000000000000000000000
--- a/testing/state_change
+++ /dev/null
@@ -1,24 +0,0 @@
-if [ $# -ne 2 ] ; then                              
-    echo "usage: sh state_change.sh <LLRF_INSTANCE> <required state>"
-    echo "e.g. sh state_change.sh LLRF-TS2-1-1 RESET"
-    exit                                            
-fi         
-
-run() {
-    eval "$(dirname $0)/$1"
-}
-
-LLRF_INSTANCE=$1
-req_state=$2
-
-echo "Go to state $req_state"
-eval "caput -S $LLRF_INSTANCE:MSGS $req_state >/dev/null"
-usleep 500000
-result=$(caget -t $LLRF_INSTANCE)
-if [ $req_state == 'RESET' ]; then 
-	# Special case when state request is 'RESET' as the expected new state is 'RESETTING', allow for this case.
-    run "check RESETTING $result Test state change to $req_state"
-else
-	# The norman user case it that the state request matches the expected new state
-    run "check $req_state $result Test state change to $req_state"
-fi
diff --git a/testing/test1.sh b/testing/test1.sh
deleted file mode 100755
index d8c212f15d2337f6131a186fd15ccce71f30a62b..0000000000000000000000000000000000000000
--- a/testing/test1.sh
+++ /dev/null
@@ -1,149 +0,0 @@
-if [ $# -lt 2 ] ; then                              
-    echo "usage: sh test1.sh <LLRF INSTANCE> <SIS8300 slot>"
-    echo "e.g. sh test1.sh LLRF1 6"                  
-    exit                                            
-fi          
-
-LLRF_INSTANCE=$1
-slot=$2
-
-path=$(pwd)/$(dirname $0)
-# Print module versions
-echo "*** Module versions"
-pv_mods=`cat /iocs/sis8300llrf/REQMODs.list | grep MODULES`
-pv_vers=`cat /iocs/sis8300llrf/REQMODs.list | grep VERSIONS`
-n=`caget -t $pv_mods | cut -d ' ' -f 1`
-for (( i=2; i<= $n+1; i++ ))
-do
-    mod=`caget -t $pv_mods | cut -d ' ' -f $i`
-    ver=`caget -t $pv_vers | cut -d ' ' -f $i`
-    echo $mod - $ver
-done
-
-run() {
-    eval "$path/$1"
-}
-
-echo '*** State Machine'
-run "state_change $LLRF_INSTANCE RESET"
-run "state_change $LLRF_INSTANCE OFF"
-run "state_change $LLRF_INSTANCE INIT"
-run "state_change $LLRF_INSTANCE ON"
-run "state_change $LLRF_INSTANCE RESET"
-run "state_change $LLRF_INSTANCE INIT"
-
-echo "*** VM Output"
-echo 'Enable VM'
-caput $LLRF_INSTANCE:VMENBL 1 > /dev/null
-run "check 0x700 $(sis8300drv_reg /dev/sis8300-$slot 0x12F) 'Test on Enable VM'"
-
-echo 'Disable VM'
-caput $LLRF_INSTANCE:VMENBL 0 > /dev/null
-run "check 0x600 $(sis8300drv_reg /dev/sis8300-$slot 0x12F) 'Test on Disable VM'"
-
-echo '*** Attenuation Parameters'
-echo 'Test in INIT state'
-
-run "state_change $LLRF_INSTANCE RESET"
-run "state_change $LLRF_INSTANCE INIT"
-
-# Use only integers for testing of attenuation range 1-30 (for channels 0-7) and 1-15 (for channel 8)
-# Note this excludes fractional attenuation values in the testing but for now the simplicity with worth the limited functionality testing.
-
-for i in `seq 0 8`
-do 
-    attVal=$(($RANDOM % 31 / (1 + $i / 8) ))
-	run "set_att $LLRF_INSTANCE $slot $i $attVal"
-done
-
-echo 'Test attenuation setting in ON state'
-
-run "state_change $LLRF_INSTANCE RESET"
-run "state_change $LLRF_INSTANCE INIT"
-run "state_change $LLRF_INSTANCE ON"
-
-for i in `seq 0 8`;
-do
-    attVal=$(($RANDOM % 31 / (1 + $i / 8) ))
-	run "set_att $LLRF_INSTANCE $slot $i $attVal"
-done
-
-echo 'Test attenuation on state RESET and after transition from RESET'
-attVal=10
-for i in `seq 0 8`;
-do
-	run "set_att $LLRF_INSTANCE $slot $i $attVal"
-done
-run "state_change $LLRF_INSTANCE RESET"
-echo "Change attenuation on channel 0 to 11"
-caput $LLRF_INSTANCE:AI0-ATT 11 > /dev/null
-
-result1="$(sis8300drv_reg /dev/sis8300-$slot 0xF82)"
-result2="$(sis8300drv_reg /dev/sis8300-$slot 0xF83)"
-result3="$(sis8300drv_reg /dev/sis8300-$slot 0xF84)"
-
-run "check 0x14141414 $result1 'Test attenuator on transition case'"
-run "check 0x14141414 $result2 'Test attenuator on transition case'"
-run "check 0x28 $result3 'Test attenuator on transition case'"
-
-run "state_change $LLRF_INSTANCE INIT"
-result1="$(sis8300drv_reg /dev/sis8300-$slot 0xF82)"
-result2="$(sis8300drv_reg /dev/sis8300-$slot 0xF83)"
-result3="$(sis8300drv_reg /dev/sis8300-$slot 0xF84)"
-
-run "check 0x14141416 $result1 'Test attenuator on transition case'"
-run "check 0x14141414 $result2 'Test attenuator on transition case'"
-run "check 0x28 $result3 'Test attenuator on transition case'"
-
-
-echo '*** Pulse'
-
-run "state_change $LLRF_INSTANCE RESET"
-run "state_change $LLRF_INSTANCE INIT"
-run "state_change $LLRF_INSTANCE ON"
-
-echo 'Simulating backplane triggers to FPGA for pulse_coming, pulse_start and pulse_end.'
-
-for i in `seq 1 50`
-do
-    echo "Beam Pulse $i"
-    sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x20
-    sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x40
-    sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x80
-    usleep 100000
-done
-
-result="$(caget -t $LLRF_INSTANCE:PULSEDONECNT)"
-run "check $result 50 'Test simulating backplane triggers'"
-
-run "state_change $LLRF_INSTANCE RESET"
-run "state_change $LLRF_INSTANCE INIT"
-run "state_change $LLRF_INSTANCE ON"
-
-for i in `seq 1 49`
-do
-    echo "Beam Pulse $i"
-    sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x20
-    sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x40
-    sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x80
-    usleep 100000
-done
-
-result="$(caget -t $LLRF_INSTANCE:PULSEDONECNT)"
-run "check $result 49 'Test simulating backplane triggers'"
-
-echo 'Revert to INIT state'
-run "state_change $LLRF_INSTANCE RESET"
-run "state_change $LLRF_INSTANCE INIT"
-
-echo '*** Calibration'
-for (( i=0; i<= 8; i++ ))
-do
-    echo "*Calibration test for channel $i"
-    python3 $EPICS_SRC/e3-scaling/scaling/tests/test.py $LLRF_INSTANCE AI$i
-done
-
-echo '*** Filters'
-python3 testFilters.py
-echo '*** Control Tables'
-python3 testTables.py
diff --git a/testing/testFilters.py b/testing/testFilters.py
deleted file mode 100644
index d4bb5200519b6c588992fc2f3c838164ed8f9933..0000000000000000000000000000000000000000
--- a/testing/testFilters.py
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/usr/bin/env python3
-
-import unittest
-import time
-from math import exp, cos, sin, pi, nan
-from glob import glob
-from os import system, popen, environ
-from random import random, randint
-
-BASE_BOARD="/dev/sis8300"
-REG_NOTCH1="0x43f"
-REG_NOTCH2="0x440"
-REG_NOTCH3="0x441" # enable/disable
-
-REG_LP1="0x442"
-REG_LP2="0x443"
-REG_LP3="0x444" # enable/disable
-
-PV_NOTCH_FREQ=":NOTCHFIL-FREQ"
-PV_NOTCH_BWIDTH=":NOTCHFIL-BWIDTH"
-PV_NOTCH_EN=":NOTCHFIL-EN"
-
-PV_LP_EN=":CAVLPFIL-EN"
-PV_LP_CUTOFF=":CAVLPFIL-CUTOFF"
-
-PV_F_SAMP=":F-SAMPLING"
-PV_N=":IQSMPL-NEARIQN"
-
-
-def getNumBoard(b):
-    """Get then number of a board string"""
-    return int(b.split("-")[1])
-
-def getBoard(n = 0):
-    """Return the path to board on system"""
-    boards = (glob(BASE_BOARD + "*"))
-    boards.sort(key=getNumBoard)
-    return (boards[n])
-
-def readReg(board, reg):
-    p = popen("sis8300drv_reg %s %s" % (board, reg))
-    ret = p.read().split("\n")[0]
-    p.close()
-
-    return ret
-
-
-def float2Qmn(val, m, n, signed):
-    pow_2_frac_bits = float(0x1 << n)
-    pow_2_frac_bits_int_bits = float(0x1 << (m + n))
-
-    val_int64 = int(val * pow_2_frac_bits)
-    # Check if signed
-    if (signed): 
-        if (val_int64 < 0):
-            val_int64 += int(pow_2_frac_bits_int_bits)
-        # check upper limit of signed int
-        elif (val_int64 > (pow_2_frac_bits_int_bits / 2.0 - 1.0)): 
-            return nan
-
-    if (val_int64 >> m + n):
-        return nan
-
-    return val_int64
-
-class TestLowPass(unittest.TestCase):
-    def __init__(self, *args, **kw):
-        super().__init__(*args, **kw)
-        self.board = getBoard()
-        self.PV = environ.get("LLRF_IOC_NAME") + "1"
-
-    def calc_consts(self, cutoff, fsamp, n):
-        omg0 = 2*pi*cutoff 
-        h = 1/(fsamp/n)
-
-        constA = round(-exp(-omg0*h), 12)
-        constB = round(1 - exp(-omg0*h), 12)
-
-        return [constA, constB]
-
-    def test_enable(self):
-        """Test Low Pass filter enable/disable"""
-        system("caput %s %f > /dev/null" % (self.PV + PV_LP_EN, 1))
-        res = readReg(self.board, REG_LP3)
-
-        self.assertEqual(res, "0x1")
-
-        system("caput %s %f > /dev/null" % (self.PV + PV_LP_EN, 0))
-        res = readReg(self.board, REG_LP3)
-
-        self.assertEqual(res, "0x0")
-
-    def test_randValues(self):
-        """Test Low Pass filter with random values"""
-        cutoff = random()*10
-        fsamp = round(random()*100 + 100, 2)
-        n = float(randint(1,10))
-
-        system("caput %s %f > /dev/null" % (self.PV + PV_LP_CUTOFF, cutoff))
-        system("caput %s %f > /dev/null" % (self.PV + PV_F_SAMP, fsamp))
-        system("caput %s %f > /dev/null" % (self.PV + PV_N, n))
-
-        res = self.calc_consts(cutoff, fsamp, n)
-
-        a = float2Qmn(res[0], 1, 15, 1)
-        self.assertNotEqual(a, nan)
-        b = float2Qmn(res[1], 1, 15, 1)
-        self.assertNotEqual(b, nan)
-        
-        a = hex(a)
-        b = hex(b)
-    
-        reg1 = readReg(self.board, REG_LP1)
-        self.assertEqual(str(a), reg1)
-
-        reg2 = readReg(self.board, REG_LP2)
-        self.assertEqual(str(b), reg2)
-
-
-class TestNotch(unittest.TestCase):
-    def __init__(self, *args, **kw):
-        super().__init__(*args, **kw)
-        self.board = getBoard()
-        # TODO: after fix LLRF_IOC_NAME change this
-        self.PV = environ.get("LLRF_IOC_NAME") + "1"
-
-    # calculate and return constants from Notch
-    def calc_consts(self, bd, freq, fsamp, n):
-        h = 1/(fsamp/n);
-        omg0 = 2*pi*freq;
-        xi0 = bd/(2*freq);
-
-        areal = round(exp(-(xi0*omg0*h))*cos(omg0*h), 12)
-        aimag = round(exp(-(xi0*omg0*h))*sin(omg0*h), 12)
-        breal = round((1-exp(-(xi0*omg0*h)))*cos(omg0*h), 12)
-        bimag = round((1-exp(-(xi0*omg0*h)))*sin(omg0*h), 12)
-
-        return([areal, aimag, breal, bimag])
-       
-    def test_randValues(self):
-        """Test Notch filter with random values"""
-        freq = random()*10
-        bwidth = random()*10
-        fsamp = round(random()*100 + 100, 2)
-        n = float(randint(1,10))
-
-        system("caput %s %f > /dev/null" % (self.PV + PV_NOTCH_FREQ, freq))
-        system("caput %s %f > /dev/null" % (self.PV + PV_NOTCH_BWIDTH, bwidth))
-        system("caput %s %f > /dev/null" % (self.PV + PV_F_SAMP, fsamp))
-        system("caput %s %f > /dev/null" % (self.PV + PV_N, n))
-
-        res = self.calc_consts(bwidth, freq, fsamp, n)
-
-        areal = float2Qmn(res[0], 1, 15, 1)
-        self.assertNotEqual(areal, nan)
-        aimag = float2Qmn(res[1], 1, 15, 1)
-        self.assertNotEqual(aimag, nan)
-        breal = float2Qmn(res[2], 1, 15, 1)
-        self.assertNotEqual(breal, nan)
-        bimag = float2Qmn(res[3], 1, 15, 1)
-        self.assertNotEqual(bimag, nan)
-
-        reg1exp = hex((areal << 16) | aimag)
-        reg2exp = hex((breal << 16) | bimag)
-    
-        reg1 = readReg(self.board, REG_NOTCH1)
-        self.assertEqual(str(reg1exp), reg1)
-
-        reg2 = readReg(self.board, REG_NOTCH2)
-        self.assertEqual(str(reg2exp), reg2)
-
-    def test_enable(self):
-        """Test Notch filter enable/disable"""
-        system("caput %s %f > /dev/null" % (self.PV + PV_NOTCH_EN, 1))
-        res = readReg(self.board, REG_NOTCH3)
-
-        self.assertEqual(res, "0x1")
-
-        system("caput %s %f > /dev/null" % (self.PV + PV_NOTCH_EN, 0))
-        res = readReg(self.board, REG_NOTCH3)
-
-        self.assertEqual(res, "0x0")
-
-
-if __name__ == "__main__":
-    unittest.main(verbosity=2)
diff --git a/testing/testTables.py b/testing/testTables.py
deleted file mode 100644
index 41000a1b1c0dc964dce12e1fcb9af8ff61b16f40..0000000000000000000000000000000000000000
--- a/testing/testTables.py
+++ /dev/null
@@ -1,207 +0,0 @@
-#!/usr/bin/env python3
-
-import unittest
-from random import random, randint
-from os import system, environ, popen
-
-from testFilters import readReg, getBoard, float2Qmn
-
-NELM = 16
-FF_REG="0x41e"
-SP_REG="0x41f"
-
-# Normal mode
-
-# SP - PT0 - I
-# SP - PT0 - Q
-# FF - PT0 - I
-# FF - PT0 - Q 
-
-# Special mode
-
-# SP - SM - I
-# SP - SM - Q
-# FF - SM - I
-# FF - SM - Q 
-
-def getMinMaxMN(m, n, signed):
-    if signed:
-        min = -2**(m-1)
-        max = 2**(m-1) - 2**(-n)
-    else:
-        min = 0
-        max = (2**m) - (2**(-n))
-
-    return (min, max)
-
-def readMem(board, offset, size):
-    p = popen("sis8300drv_mem %s -o %d -n %d" % (board, offset, size))
-    ret = p.read()
-    p.close()
-
-    return ret
-
-def set_table(pv_base, ctrl, type, qi, qmn, size = 16):
-    """Set values for one table (the same value)
-    ctrl = SP / FF
-    type = PT0 / SM
-    qi = I / Q
-    size = number of elements
-    qmn = (m, n, signed)
-    """
-
-    (min, max) = getMinMaxMN(*qmn)
-
-    val = round(random()*(max-min)+min, qmn[2])
-    while (val > max or val < min):
-        val = round(random()*(max-min)+min, qmn[2])
-
-    vals = []
-    vals.extend([val]*size)
-    # let on format to caput
-    vals_str = str(size) + " " + (str(vals).replace(",",""))[1:-1]
-    
-    pv = pv_base + ":" + ctrl + "-" + type
-
-    system("caput -a %s %s > /dev/null " % (pv + "-" + qi, vals_str))
-
-    # write table to the memory
-    system("caput %s %d > /dev/null " % (pv + "-WRTBL", 1))
-
-    # update readback
-    system("caput %s %d > /dev/null " % (pv + "-" + qi + "-GET.PROC", 1))
-
-
-    return val
-
-class TestTablesNormal(unittest.TestCase):
-    """Class for test tables on Normal mode"""
-    def __init__(self, *args, **kw):
-        super().__init__(*args, **kw)
-        self.board = getBoard()
-        self.PV = environ.get("LLRF_IOC_NAME") + "1"
-        self.qmn = (1, 15, 1)
-
-    def test_tables_sp_qi(self):
-        """Test tables SP Q/I on normal mode"""
-        q_val = set_table(self.PV, "SP", "PT0", "Q", self.qmn)
-        i_val = set_table(self.PV, "SP", "PT0", "I", self.qmn)
-    
-        mem_pos = int(readReg(self.board, SP_REG), NELM)
-        mem_values = (readMem(self.board, int(mem_pos/2), NELM*2).split('\n'))[:-1]
-        q_val_qmn = str(float2Qmn(q_val, *self.qmn))
-        i_val_qmn = str(float2Qmn(i_val, *self.qmn))
-       
-        # get a random position to check 
-        pos = randint(1, 15)
-        # q pos = pos*2
-        # i pos = pos*2 + 1
-
-        self.assertEqual(q_val_qmn, mem_values[pos*2])
-        self.assertEqual(i_val_qmn, mem_values[pos*2+1])
-
-    def test_tables_ff_qi(self):
-        """Test tables FF Q/I on normal mode"""
-        q_val = set_table(self.PV, "FF", "PT0", "Q", self.qmn)
-        i_val = set_table(self.PV, "FF", "PT0", "I", self.qmn)
-    
-        mem_pos = int(readReg(self.board, FF_REG), NELM)
-        mem_values = (readMem(self.board, int(mem_pos/2), NELM*2).split('\n'))[:-1]
-        q_val_qmn = str(float2Qmn(q_val, *self.qmn))
-        i_val_qmn = str(float2Qmn(i_val, *self.qmn))
-       
-        # get a random position to check 
-        pos = randint(1, 15)
-        # q pos = pos*2
-        # i pos = pos*2 + 1
-
-        self.assertEqual(q_val_qmn, mem_values[pos*2])
-        self.assertEqual(i_val_qmn, mem_values[pos*2+1])
-
-
-class TestTablesSpecial(unittest.TestCase):
-    """Class for test tables on Normal mode on normal mode"""
-    def __init__(self, *args, **kw):
-        super().__init__(*args, **kw)
-        self.board = getBoard()
-        self.PV = environ.get("LLRF_IOC_NAME") + "1"
-        self.qmn_ang = (3, 13, 1)
-        self.qmn_mag_sp = (0, 16, 0)
-        self.qmn_mag_ff = (1, 15, 1)
-        self.qmn_qi = (1, 15, 1)
-
-    def test_tables_sp_mag_ang(self):
-        """Test tables SP Mag and Ang"""
-        ang_val = set_table(self.PV, "SP", "SM", "ANG", self.qmn_ang)
-        mag_val = set_table(self.PV, "SP", "SM", "MAG", self.qmn_mag_sp)
-    
-        mem_pos = int(readReg(self.board, SP_REG), NELM)
-        mem_values = (readMem(self.board, int(mem_pos/2), NELM*2).split('\n'))[:-1]
-        ang_val_qmn = str(float2Qmn(ang_val, *self.qmn_ang))
-        mag_val_qmn = str(float2Qmn(mag_val, *self.qmn_mag_sp))
-       
-        # get a random position to check 
-        pos = randint(0, 15)
-        # ang pos = pos*2
-        # mag pos = pos*2 + 1
-
-        self.assertEqual(ang_val_qmn, mem_values[pos*2])
-        self.assertEqual(mag_val_qmn, mem_values[pos*2+1])
-
-    def test_tables_ff_mag_ang(self):
-        """Test tables FF Mag and Ang"""
-        ang_val = set_table(self.PV, "FF", "SM", "ANG", self.qmn_ang)
-        mag_val = set_table(self.PV, "FF", "SM", "MAG", self.qmn_mag_ff)
-    
-        mem_pos = int(readReg(self.board, FF_REG), NELM)
-        mem_values = (readMem(self.board, int(mem_pos/2), NELM*2).split('\n'))[:-1]
-        ang_val_qmn = str(float2Qmn(ang_val, *self.qmn_ang))
-        mag_val_qmn = str(float2Qmn(mag_val, *self.qmn_mag_ff))
-       
-        # get a random position to check 
-        pos = randint(0, 15)
-        # q pos = pos*2
-        # i pos = pos*2 + 1
-
-        self.assertEqual(ang_val_qmn, mem_values[pos*2])
-        self.assertEqual(mag_val_qmn, mem_values[pos*2+1])
-
-    def test_tables_sp_qi(self):
-        """Test tables SP Q and I """
-        q_val = set_table(self.PV, "SP", "SM", "Q", self.qmn_qi)
-        i_val = set_table(self.PV, "SP", "SM", "I", self.qmn_qi)
-    
-        mem_pos = int(readReg(self.board, SP_REG), NELM)
-        mem_values = (readMem(self.board, int(mem_pos/2), NELM*2).split('\n'))[:-1]
-        q_val_qmn = str(float2Qmn(q_val, *self.qmn_qi))
-        i_val_qmn = str(float2Qmn(i_val, *self.qmn_qi))
-       
-        # get a random position to check 
-        pos = randint(0, 15)
-        # q pos = pos*2
-        # i pos = pos*2 + 1
-
-        self.assertEqual(q_val_qmn, mem_values[pos*2])
-        self.assertEqual(i_val_qmn, mem_values[pos*2+1])
-
-    def test_tables_ff_qi(self):
-        """Test tables FF Q and I """
-        q_val = set_table(self.PV, "FF", "SM", "Q", self.qmn_qi)
-        i_val = set_table(self.PV, "FF", "SM", "I", self.qmn_qi)
-    
-        mem_pos = int(readReg(self.board, FF_REG), NELM)
-        mem_values = (readMem(self.board, int(mem_pos/2), NELM*2).split('\n'))[:-1]
-        q_val_qmn = str(float2Qmn(q_val, *self.qmn_qi))
-        i_val_qmn = str(float2Qmn(i_val, *self.qmn_qi))
-       
-        # get a random position to check 
-        pos = randint(0, 15)
-        # q pos = pos*2
-        # i pos = pos*2 + 1
-
-        self.assertEqual(q_val_qmn, mem_values[pos*2])
-        self.assertEqual(i_val_qmn, mem_values[pos*2+1])
-
-if __name__ == "__main__":
-    unittest.main(verbosity=2)
-
diff --git a/tools/bumpVer.sh b/tools/bumpVer.sh
deleted file mode 100644
index 9352310d246fee44ce3bdf1fe7de140eb3c6b5e8..0000000000000000000000000000000000000000
--- a/tools/bumpVer.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-if [ $# -ne 4 ]; then
-    echo "usage bumpVers.sh <MODULE PATH> <MODULE DEPENDENCY> <OLD VERSION> <NEW VERSION>"
-    echo "e.g. bumpVers.sh ../e3-sis8300 SIS8300DRV 4.3.3 4.3.4"
-    exit
-fi
-
-cd $1
-oldDep=$(grep $2 configure/CONFIG_MODULE)
-oldVer=$3
-newVer=$4
-
-newDep=${oldDep/$oldVer/$newVer}
-sed -i "s/$oldDep/$newDep/" configure/CONFIG_MODULE
-
-git add configure/CONFIG_MODULE
-git commit -m "Bump version of module dependency $2 from $3 to $4"
-
-git diff HEAD^
diff --git a/tools/envLLRF.sh b/tools/envLLRF.sh
deleted file mode 100755
index 3a42d39ce578751a64c412a495873e87fc32fc17..0000000000000000000000000000000000000000
--- a/tools/envLLRF.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/bash
-
-if [ $# -ne 1 ]; then
-    echo 'usage: envLLRF.sh <$EPICS_SRC>'
-    exit 1
-fi
-
-echo "*** Kernel Release ***"
-uname -a
-echo "*** UDev rules***"
-ls /etc/udev/rules.d/99-*
-echo "*** Kernel Module Load Rules ***"
-ls /etc/modules-load.d/mrf.conf
-ls /etc/modules-load.d/sis8300drv.conf
-echo "*** Kernel Modules Loaded***"
-lsmod | grep sis8300drv
-lsmod | grep mrf
-echo "*** Device Nodes***"
-ls /dev/sis8300-*
-ls /dev/uio*
-echo "*** OS Release***"
-cat /etc/centos-release
-echo "*** systemd configuration ***"
-echo " *service "
-file /etc/systemd/system/ioc@llrf.service
-echo " *service wants configuration "
-file /etc/systemd/system/multi-user.target.wants/ioc@llrf.service
-echo "*** Hardware Device ***"
-lspci -v | grep Xilinx
-lspci -v | grep Juelich
-echo "*** EPICS Bases Available***"
-ls /epics/ | grep base
-echo "*** EPICS Modules Installed ***"
-make -C $EPICS_SRC/e3-asyn existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make:
-make -C $EPICS_SRC/e3-loki existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make:
-make -C $EPICS_SRC/e3-nds existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make:
-make -C $EPICS_SRC/e3-sis8300drv existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make:
-make -C $EPICS_SRC/e3-sis8300 existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make:
-make -C $EPICS_SRC/e3-sis8300llrfdrv existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make:
-make -C $EPICS_SRC/e3-sis8300llrf existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make:
-make -C $EPICS_SRC/e3-mrfioc2 existent | grep "[0-9]\+\.[0-9]\+\.[0-9]\+" | grep -v make: