diff --git a/HWconf.py b/HWconf.py
index 497616312bfebd8d0e90c2b41f46a8f72030f95b..25c10af9f3048bba5aa8590de8662c71018d76d7 100644
--- a/HWconf.py
+++ b/HWconf.py
@@ -3,7 +3,7 @@ from enum import Enum
 
 #Mid plane address
 MPaddr=namedtuple("MPaddr","nI2C I2C nSwitch Switch"); 
-RCU_MPaddr=MPaddr(1,[1],4,[1,2,3,4])
+RCU_MPaddr=MPaddr(1,[1],32,[1,2,3,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5])
 CLK_MPaddr=MPaddr(1,[1],1,[7])
 
 DevReg=namedtuple("DevReg","Addr Register_R Register_W store"); 
diff --git a/RCU.py b/RCU.py
index 4d2e55965c9f5e3d36fa122d0f62b9192b462bba..977aab8118ae52acad109590c527672f1dd13cad 100644
--- a/RCU.py
+++ b/RCU.py
@@ -50,7 +50,7 @@ class RCU1():
             RCU0=-1;
             for RCUi in range(self.N):
                  if (Mask[RCUi]): 
-                      mask+=1<<Vars.RCU_MPaddr.Switch[RCUi]
+                      mask|=1<<Vars.RCU_MPaddr.Switch[RCUi]
                       if RCU0<0: RCU0=RCUi;
             if RCU0<0: return; #Mask all zero
             self.SWcallback(mask)
@@ -113,7 +113,7 @@ class RCU1():
     def GetVarValueAll(self,V1,value1):
             mask=0;
             for RCUi in range(self.N):
-                mask+=1<<V1.Vars[0].MPaddr.Switch[RCUi]
+                mask|=1<<V1.Vars[0].MPaddr.Switch[RCUi]
             Step=V1.nVars
             if V1.Vars[0].type==Vars.DevType.I2C:
               for Vari in range(Step):  
diff --git a/Vars.py b/Vars.py
index 28ce0df7ef819a978995f1d672e0c4d9654687d8..6024ac6ecc9af4959949453a811f37dae1de1f08 100644
--- a/Vars.py
+++ b/Vars.py
@@ -148,7 +148,7 @@ RCU_on=Instrs("RCU_on",12,[
 
 RCU_off=Instrs("RCU_off",1,[
 #   Instr(DevType.Var,RCU_mask,4,[1,1,1,1]),
-   Instr(DevType.Var,RCU_pwrd,4,[0,0,0,0]),
+   Instr(DevType.Var,RCU_pwrd,32,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),
 #   Instr(DevType.Var,RCU_mask,4,[0,0,0,0])
 ])
 
diff --git a/pypcc2.py b/pypcc2.py
index cf7efd79fc95290170f48111d2ae6fe6d73f302d..233bd91e527d481ebc5adfad23becef3bbda7840 100644
--- a/pypcc2.py
+++ b/pypcc2.py
@@ -42,7 +42,7 @@ logging.info("OPC-UA Server started")
 
 SW1=I2Cswitch1.I2Cswitch1(I2C.I2C1server)
 
-RCU=RCU.RCU1(4,I2C.I2C1server,SW1.SetChannel)
+RCU=RCU.RCU1(32,I2C.I2C1server,SW1.SetChannel)
 
 #Vars.RCU_mask.OPCW.get_data_value().Value.Value=[1,1,0,0]
 #Vars.Ant_mask.OPCW.get_data_value().Value.Value=[1,1,0,0,0,0,0,0,0,0,1,0]
@@ -93,9 +93,9 @@ def TimerThread(Q1,RCU):
          if Q1.qsize()>3: continue;
          cnt=0;
          logging.debug(str(("I2C bytes=",I2C.I2Ccounter," Qlength=",Q1.qsize())))
-         Inst1=Vars.Instr(Vars.DevType.VarUpdate,Vars.RCU_temp,4,[0]*4)
+         Inst1=Vars.Instr(Vars.DevType.VarUpdate,Vars.RCU_temp,32,[0]*32)
          Q1.put(Inst1)
-         Inst1=Vars.Instr(Vars.DevType.VarUpdate,Vars.RCU_ADC_lock,12,[0]*12)
+         Inst1=Vars.Instr(Vars.DevType.VarUpdate,Vars.RCU_ADC_lock,96,[0]*96)
          Q1.put(Inst1)
 
     logging.info("End Timer thread")