VOC Optimation
[owSlave2.git] / stest / log_all1.py
index 323d6fa..70b3e17 100644 (file)
-import sys
-import os
-import os.path
-import subprocess
-import io
-import time
-import datetime
-import math
-import shutil
-
-toolstr="/home/muto/owtools/src/owtools USB1 DC "
-devdict={}
-devwholist=[]
-f=open("DEVLIST.txt","r")
-for l in f.readlines():
-       ls=l.split(" ")
-       if (len(ls)>1):
-               devdict[ls[0]]=l.replace("\n","")
-               devwholist.append(ls[0])
-f.close()
-
-def id2string(id):
-       s=""
-       for i in range(8):
-               s=s+"%02X" %(id[7-i])
-       return s
-
-def string2id(s):
-       for i in range(8):
-               bl=[]
-               i2=14-i*2;
-               bl.append(int(s[i2:i2+2],16))
-       return bl
-
-
-def calculateValues(code, V, vn):
-       if code==1:
-               return V[vn] / 16.0; 
-       elif code==2:
-               return V[vn]/1.6; 
-       elif code==3:
-               return V[vn]*0.2 + 700; 
-       elif code==4:
-               return math.exp(V[vn] / 160.0); 
-       elif code==5:
-               return V[vn]*62.5 + 55000; 
-       elif code==6:
-               return V[vn] / 256.0; 
-       elif code==7:
-               if V[1]!=0:
-                       return ((float(V[2]) / float(V[1]) - 0.16) / 0.0062) / (1.0546 - 0.00216*V[0]/256.0); 
-               else:
-                       return 0
-       elif code==8:
-               return V[vn] / 100.0; 
-       elif code==9:
-               return V[vn] / 65535.0*5.1; 
-       elif code==10:
-               return V[vn] / 65535.0*2.55; 
-       elif code==11:
-               return V[vn] / 65535.0*1.1; 
-       elif code==12:
-               return V[vn] / 10.0; 
-       elif code==13:
-               return V[vn];  
-       elif code==14:
-               return (V[vn] - 32767.0) / 100.0;  
-       elif code==15:
-               return math.exp((V[vn]-32767.0)/1000.0); 
-       elif code==16:
-               return V[vn]/32.0; 
-       else:
-               return 0;
-
-def getName(code       ):
-       if code==1:
-               return ["Temperatur","C"]
-       if code==2:
-               return ["Druck","hPa"]
-       if code==3:
-               return ["Beleuchtungsstaerke","lux"]
-       if code==4:
-               return ["Luftfeuchte","%%"]
-       if code==5:
-               return ["Konstante",""]
-       if code==6:
-               return ["Spannung","V"]
-       if code==7:
-               return ["Strom","mA"]
-       if code==8:
-               return ["VOC","ppm"]
-       if code==9:
-               return ["Counter",""]
-       return []
-
-
-def owCom(dev,send,rcount):
-       cmd=toolstr+id2string(dev)
-       #for i in range(8):
-       #       cmd=cmd+"%02X" %(dev[7-i])
-       cmd=cmd+" "
-       for b in send:
-               cmd=cmd+"%02X" % (b)
-       for i in range(rcount):
-               cmd=cmd+"FF"
-       #print(cmd.split(' '));
-       p = subprocess.Popen(cmd.split(' '), shell=False, bufsize=14000, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
-       p.wait()
-       s=p.stdout.read().decode("utf-8")
-       l=s.split("\n");
-       #print(l[2])
-       bl=[]
-       for i in range(int(len(l[2])/2)):
-               i2=i*2;
-               bl.append(int(l[2][i2:i2+2],16))
-       return bl
-
-def owComStr(dev,sendstr):
-       cmd=toolstr+id2string(dev)
-       #for i in range(8):
-       #       cmd=cmd+"%02X" %(dev[7-i])
-       cmd=cmd+" "+sendstr
-       p = subprocess.Popen(cmd.split(' '), shell=False, bufsize=14000, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
-       p.wait()
-       s=p.stdout.read().decode("utf-8")
-       #print(s);
-       ll=s.split("\n");
-       bll=[]
-       for l in ll[2:]:
-               bl=[]
-               for i in range(int(len(l)/2)):
-                       i2=i*2;
-                       bl.append(int(l[i2:i2+2],16))
-               bll.append(bl)
-       return bll
-
-def getValues(dev,voc):
-       pl=[]
-       #print(id2string(dev[0]),voc)
-       if dev[0][0]==0x26:
-               vnok=1
-               rc=0
-               while (vnok):
-                       sbl=owComStr(dev[0],"4E000F_RB4_R_P7044_R_P70B800_RBE00FFFFFFFFFFFFFFFFFF_R4E0000_RB4_R_P70B800_RBE00FFFFFFFFFFFFFFFFFF_RBE03FFFFFFFFFFFFFFFFFF")
-                       #print(sbl)
-                       sb=sbl[4]
-                       VDD=(sb[5]+sb[6]*256)
-                       sb=sbl[8]
-                       VAD=(sb[5]+sb[6]*256)
-                       Temp=(sb[3]+sb[4]*256)
-                       if (sb[4] & 0x80):
-                               Temp-=0x10000
-                       curr=sb[7]+sb[8]*256
-                       if (sb[8] & 0x80):
-                               curr-=0x10000
-                       vals=[Temp,VDD,VAD,curr]
-                       formellist=[6,8,7,8]
-                       if dev[1][0]!=0xFF:
-                               formellist=[]
-                               for i in range(4):
-                                       if (dev[1][i*2+1])!=0:
-                                               formellist.append(dev[1][i*2+1])
-                                       else:
-                                               break
-                       cvals=[]
-                       for i in range(len(formellist)):
-                               cvals.append(calculateValues(formellist[i],vals,i))
-                       if (cvals[2]<=110):
-                               vnok=0
-                       else:
-                               rc=rc+1
-                               if (rc==3):
-                                       vnok=0
-                                       cvals[2]=100
-                       if voc!=0:
-                               #R0,VS,Corr,cmode,RS,RSR0,VOC1,VOC2
-                               sb=sbl[9]
-                               R0=(sb[2]+sb[3]*256)/100.0
-                               VS=(sb[4]+sb[5]*256)/10000.0
-                               Corr=(sb[7]+sb[8]*256)/1000.0
-                               cmode=sb[6]
-                               RS=(3/VS-1)*30
-                               RSR0=(RS/R0)
-                               VOC1=RSR0*Corr
-                               VOC2=RSR0/Corr
-                               cvals.append(R0)
-                               cvals.append(VS)
-                               cvals.append(Corr)
-                               cvals.append(cmode)
-                               cvals.append(RS)
-                               cvals.append(RSR0)
-                               cvals.append(VOC1)
-                               cvals.append(VOC2)
-               return cvals
-       if dev[0][0]==0x28:
-               sbl=owComStr(dev[0],"44_R_PFF_PFF_PFF_PFFBEFFFFFFFFFFFFFFFFFF")
-               Temp=sbl[1][1]+sbl[1][2]*256
-               if (sbl[1][2] & 0x80):
-                       Temp=-(Temp&0x7FFF)
-               if dev[1][0]!=0xFF:
-                       return [calculateValues(dev[1][1],[Temp],0)]
-               else:
-                       return [calculateValues(1,[Temp],0)]
-       return []
-
-       
-def owList(): 
-       cmd=toolstr[0:-3]
-       print(cmd)
-       p = subprocess.Popen(["./owtools","USB1"], shell=False, bufsize=14000, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
-       p.wait()
-       s=p.stdout.read()
-       l=s.split("\n")
-       #print(l);
-       l=l[1:-1]
-       devlist=[]
-       ic=0
-       for d in l:
-               dev=[]
-               bl=[]
-               for i in range(8):
-                       i2=14-i*2;
-                       bl.append(int(d[i2:i2+2],16))
-               dev.append(bl)
-               #print(bl)
-               config=owCom(bl,[0x85],18)
-               #print(config)
-               if (config[1]==0xFF):
-                       if (bl[0]==0x26):
-                               config=[0,1,6,6,8,4,7,7,8,0]
-                       if (bl[0]==0x28):
-                               config=[0,1,1,0,0,0,0,0,0,0]
-               dev.append(config[1:])
-               bls=id2string(bl)
-               cs="%i: " %(ic)
-               ic=ic+1
-               cs=cs+bls+": "
-               if bls in devdict:
-                       cs=cs+devdict[bls].split(",")[0].split(" ")[1]+" "
-               for i in range(4):
-                       c=config[i*2+1]
-                       if (c==0xFF):
-                               cs=cs+"Noconfig "
-                               config=[0,0,0,0,0,0,0,0,0,0]
-                               break
-                       if (c==0):
-                               break
-                       cs=cs+getName(c)[0]+" "
-               #voc=0
-               #if bls in devdict:
-               #       if "VOC" in devdict[bls]:
-               #               voc=1
-               #l=getValues([bl,config[1:]],voc)
-               #for v in l:
-               #       cs=cs+" %0.2f " %(v)
-               print(cs)
-               ddev=0
-               vm=0
-               if config[1]==0x08:
-                       vm=1
-               #print("Test_configs")
-               i=0
-               for dv in devlist:
-                       #print("c",dv[1][9:16])
-                       #print("d",bl[0:7])
-                       if dv[1][9:16]==bl[0:7]:
-                               print("Double Device")
-                               ddev=1
-                               dv.append(dev[0])
-                               dv.append(dev[1])
-                               #if vm==1:
-                                       #voc_marker[i]=2
-                       i=i+1
-               #if ddev==0:
-               devlist.append(dev)
-                       #voc_marker.append(vm)
-               #print("devlist",devlist)
-       return devlist
-
-dl=owList()
-#for d in dl:
-#      print(d)
-
-while (1):
-       lt = time.localtime()
-       vline=time.strftime("%d#%m#%Y %H:%M:%S\t", lt)
-       n = datetime.datetime.now()
-       unix_timestamp = time.mktime(n.timetuple())# works if Python >= 3.3
-       for d in dl:
-               ds=id2string(d[0])
-               bezeichnung="not in List"
-               if ds in devdict:
-                       bezeichnung=devdict[ds].split(",")[0].split(" ")[1]+" "
-               vnames=[]
-               for i in range(4):
-                       c=d[1][i*2]
-                       if (c==0):
-                               break
-                       name=getName(c)
-                       if name!=[]:
-                               vnames.append(name[0])
-               voc=0
-               if "VOC" in bezeichnung:
-                       voc=1
-                       vnames.append("R0")
-                       vnames.append("VS")
-                       vnames.append("Corr")
-                       vnames.append("cmode")
-                       vnames.append("RS")
-                       vnames.append("RSR0")
-                       vnames.append("VOC1")
-                       vnames.append("VOC2")
-               #print(ds)
-               l=getValues([d[0],d[1]],voc)
-               s=vline+"%i" %(unix_timestamp)
-               for i in range(len(l)):
-                       print("%s %s: %0.2f " %(bezeichnung,vnames[i],l[i]))
-                       s=s+"\t%0.4f" % (l[i])
-               fname="log_%s.ow1" %(ds)
-               writeheader=1
-               if os.path.exists(fname):
-                       writeheader=0
-               f=open(fname,"a")
-               if writeheader==1:
-                       sh="time\tunixtime"
-                       for i in range(len(l)):
-                               sh=sh+"\t%s" % (vnames[i])
-                       f.write(sh+"\n")
-               f.write(s.replace(".",",").replace("#",".")+"\n")
-               f.close()
-       #execfile("separate1.py")
-       os.system("python separate1.py")
-       print("--------------------")
-       n = datetime.datetime.now()
-       unix_timestamp1 = time.mktime(n.timetuple())# works if Python >= 3.3
-       d=unix_timestamp1-unix_timestamp
-       print (d)
-       print("--------------------")
-       time.sleep(120-d)
-       
+import sys\r
+import os\r
+import os.path\r
+import subprocess\r
+import io\r
+import time\r
+import datetime\r
+import math\r
+import shutil\r
+\r
+toolstr="/home/muto/owtools/src/owtools USB1 DC "\r
+devdict={}\r
+devwholist=[]\r
+f=open("DEVLIST.txt","r")\r
+for l in f.readlines():\r
+       ls=l.split(" ")\r
+       if (len(ls)>1):\r
+               devdict[ls[0]]=l.replace("\n","")\r
+               devwholist.append(ls[0])\r
+f.close()\r
+\r
+def id2string(id):\r
+       s=""\r
+       for i in range(8):\r
+               s=s+"%02X" %(id[7-i])\r
+       return s\r
+\r
+def string2id(s):\r
+       for i in range(8):\r
+               bl=[]\r
+               i2=14-i*2;\r
+               bl.append(int(s[i2:i2+2],16))\r
+       return bl\r
+\r
+\r
+def calculateValues(code, V, vn):\r
+       if code==1:\r
+               return V[vn] / 16.0; \r
+       elif code==2:\r
+               return V[vn]/1.6; \r
+       elif code==3:\r
+               return V[vn]*0.2 + 700; \r
+       elif code==4:\r
+               return math.exp(V[vn] / 160.0); \r
+       elif code==5:\r
+               return V[vn]*62.5 + 55000; \r
+       elif code==6:\r
+               return V[vn] / 256.0; \r
+       elif code==7:\r
+               if V[1]!=0:\r
+                       return ((float(V[2]) / float(V[1]) - 0.16) / 0.0062) / (1.0546 - 0.00216*V[0]/256.0); \r
+               else:\r
+                       return 0\r
+       elif code==8:\r
+               return V[vn] / 100.0; \r
+       elif code==9:\r
+               return V[vn] / 65535.0*5.1; \r
+       elif code==10:\r
+               return V[vn] / 65535.0*2.55; \r
+       elif code==11:\r
+               return V[vn] / 65535.0*1.1; \r
+       elif code==12:\r
+               return V[vn] / 10.0; \r
+       elif code==13:\r
+               return V[vn];  \r
+       elif code==14:\r
+               return (V[vn] - 32767.0) / 100.0;  \r
+       elif code==15:\r
+               return math.exp((V[vn]-32767.0)/1000.0); \r
+       elif code==16:\r
+               return V[vn]/32.0; \r
+       else:\r
+               return 0;\r
+\r
+def getName(code       ):\r
+       if code==1:\r
+               return ["Temperatur","C"]\r
+       if code==2:\r
+               return ["Druck","hPa"]\r
+       if code==3:\r
+               return ["Beleuchtungsstaerke","lux"]\r
+       if code==4:\r
+               return ["Luftfeuchte","%%"]\r
+       if code==5:\r
+               return ["Konstante",""]\r
+       if code==6:\r
+               return ["Spannung","V"]\r
+       if code==7:\r
+               return ["Strom","mA"]\r
+       if code==8:\r
+               return ["VOC","ppm"]\r
+       if code==9:\r
+               return ["Counter",""]\r
+       return []\r
+\r
+\r
+def owCom(dev,send,rcount):\r
+       cmd=toolstr+id2string(dev)\r
+       #for i in range(8):\r
+       #       cmd=cmd+"%02X" %(dev[7-i])\r
+       cmd=cmd+" "\r
+       for b in send:\r
+               cmd=cmd+"%02X" % (b)\r
+       for i in range(rcount):\r
+               cmd=cmd+"FF"\r
+       #print(cmd.split(' '));\r
+       p = subprocess.Popen(cmd.split(' '), shell=False, bufsize=14000, stdin=subprocess.PIPE, stdout=subprocess.PIPE)\r
+       p.wait()\r
+       s=p.stdout.read().decode("utf-8")\r
+       l=s.split("\n");\r
+       #print(l[2])\r
+       bl=[]\r
+       for i in range(int(len(l[2])/2)):\r
+               i2=i*2;\r
+               bl.append(int(l[2][i2:i2+2],16))\r
+       return bl\r
+\r
+def owComStr(dev,sendstr):\r
+       cmd=toolstr+id2string(dev)\r
+       #for i in range(8):\r
+       #       cmd=cmd+"%02X" %(dev[7-i])\r
+       cmd=cmd+" "+sendstr\r
+       p = subprocess.Popen(cmd.split(' '), shell=False, bufsize=14000, stdin=subprocess.PIPE, stdout=subprocess.PIPE)\r
+       p.wait()\r
+       s=p.stdout.read().decode("utf-8")\r
+       #print(s);\r
+       ll=s.split("\n");\r
+       bll=[]\r
+       for l in ll[2:]:\r
+               bl=[]\r
+               for i in range(int(len(l)/2)):\r
+                       i2=i*2;\r
+                       bl.append(int(l[i2:i2+2],16))\r
+               bll.append(bl)\r
+       return bll\r
+\r
+def getValues(dev,voc):\r
+       pl=[]\r
+       #print(id2string(dev[0]),voc)\r
+       if dev[0][0]==0x26:\r
+               vnok=1\r
+               rc=0\r
+               while (vnok):\r
+                       sbl=owComStr(dev[0],"4E000F_RB4_R_P7044_R_P70B800_RBE00FFFFFFFFFFFFFFFFFF_R4E0000_RB4_R_P70B800_RBE00FFFFFFFFFFFFFFFFFF_RBE03FFFFFFFFFFFFFFFFFF")\r
+                       #print(sbl)\r
+                       sb=sbl[4]\r
+                       VDD=(sb[5]+sb[6]*256)\r
+                       sb=sbl[8]\r
+                       VAD=(sb[5]+sb[6]*256)\r
+                       Temp=(sb[3]+sb[4]*256)\r
+                       if (sb[4] & 0x80):\r
+                               Temp-=0x10000\r
+                       curr=sb[7]+sb[8]*256\r
+                       if (sb[8] & 0x80):\r
+                               curr-=0x10000\r
+                       vals=[Temp,VDD,VAD,curr]\r
+                       formellist=[6,8,7,8]\r
+                       if dev[1][0]!=0xFF:\r
+                               formellist=[]\r
+                               for i in range(4):\r
+                                       if (dev[1][i*2+1])!=0:\r
+                                               formellist.append(dev[1][i*2+1])\r
+                                       else:\r
+                                               break\r
+                       cvals=[]\r
+                       for i in range(len(formellist)):\r
+                               cvals.append(calculateValues(formellist[i],vals,i))\r
+                       if (cvals[2]<=110):\r
+                               vnok=0\r
+                       else:\r
+                               rc=rc+1\r
+                               if (rc==3):\r
+                                       vnok=0\r
+                                       cvals[2]=100\r
+                       if voc!=0:\r
+                               #R0,VS,Corr,cmode,RS,RSR0,VOC1,VOC2\r
+                               sb=sbl[9]\r
+                               R0=(sb[2]+sb[3]*256)/100.0\r
+                               VS=(sb[4]+sb[5]*256)/10000.0\r
+                               Corr=(sb[7]+sb[8]*256)/1000.0\r
+                               cmode=sb[6]\r
+                               RS=(3/VS-1)*30\r
+                               RSR0=(RS/R0)\r
+                               VOC1=RSR0*Corr\r
+                               VOC2=RSR0/Corr\r
+                               cvals.append(R0)\r
+                               cvals.append(VS)\r
+                               cvals.append(Corr)\r
+                               cvals.append(cmode)\r
+                               cvals.append(RS)\r
+                               cvals.append(RSR0)\r
+                               cvals.append(VOC1)\r
+                               cvals.append(VOC2)\r
+               return cvals\r
+       if dev[0][0]==0x28:\r
+               sbl=owComStr(dev[0],"44_R_PFF_PFF_PFF_PFFBEFFFFFFFFFFFFFFFFFF")\r
+               Temp=sbl[1][1]+sbl[1][2]*256\r
+               if (sbl[1][2] & 0x80):\r
+                       Temp=-(Temp&0x7FFF)\r
+               if dev[1][0]!=0xFF:\r
+                       return [calculateValues(dev[1][1],[Temp],0)]\r
+               else:\r
+                       return [calculateValues(1,[Temp],0)]\r
+       return []\r
+\r
+       \r
+def owList(): \r
+       cmd=toolstr[0:-3]\r
+       print(cmd)\r
+       p = subprocess.Popen(["./owtools","USB1"], shell=False, bufsize=14000, stdin=subprocess.PIPE, stdout=subprocess.PIPE)\r
+       p.wait()\r
+       s=p.stdout.read()\r
+       l=s.split("\n")\r
+       #print(l);\r
+       l=l[1:-1]\r
+       devlist=[]\r
+       ic=0\r
+       for d in l:\r
+               dev=[]\r
+               bl=[]\r
+               for i in range(8):\r
+                       i2=14-i*2;\r
+                       bl.append(int(d[i2:i2+2],16))\r
+               dev.append(bl)\r
+               #print(bl)\r
+               config=owCom(bl,[0x85],18)\r
+               #print(config)\r
+               if (config[1]==0xFF):\r
+                       if (bl[0]==0x26):\r
+                               config=[0,1,6,6,8,4,7,7,8,0]\r
+                       if (bl[0]==0x28):\r
+                               config=[0,1,1,0,0,0,0,0,0,0]\r
+               dev.append(config[1:])\r
+               bls=id2string(bl)\r
+               cs="%i: " %(ic)\r
+               ic=ic+1\r
+               cs=cs+bls+": "\r
+               if bls in devdict:\r
+                       cs=cs+devdict[bls].split(",")[0].split(" ")[1]+" "\r
+               for i in range(4):\r
+                       c=config[i*2+1]\r
+                       if (c==0xFF):\r
+                               cs=cs+"Noconfig "\r
+                               config=[0,0,0,0,0,0,0,0,0,0]\r
+                               break\r
+                       if (c==0):\r
+                               break\r
+                       cs=cs+getName(c)[0]+" "\r
+               #voc=0\r
+               #if bls in devdict:\r
+               #       if "VOC" in devdict[bls]:\r
+               #               voc=1\r
+               #l=getValues([bl,config[1:]],voc)\r
+               #for v in l:\r
+               #       cs=cs+" %0.2f " %(v)\r
+               print(cs)\r
+               ddev=0\r
+               vm=0\r
+               if config[1]==0x08:\r
+                       vm=1\r
+               #print("Test_configs")\r
+               i=0\r
+               for dv in devlist:\r
+                       #print("c",dv[1][9:16])\r
+                       #print("d",bl[0:7])\r
+                       if dv[1][9:16]==bl[0:7]:\r
+                               print("Double Device")\r
+                               ddev=1\r
+                               dv.append(dev[0])\r
+                               dv.append(dev[1])\r
+                               #if vm==1:\r
+                                       #voc_marker[i]=2\r
+                       i=i+1\r
+               #if ddev==0:\r
+               devlist.append(dev)\r
+                       #voc_marker.append(vm)\r
+               #print("devlist",devlist)\r
+       return devlist\r
+\r
+dl=owList()\r
+#for d in dl:\r
+#      print(d)\r
+\r
+while (1):\r
+       lt = time.localtime()\r
+       vline=time.strftime("%d#%m#%Y %H:%M:%S\t", lt)\r
+       n = datetime.datetime.now()\r
+       unix_timestamp = time.mktime(n.timetuple())# works if Python >= 3.3\r
+       for d in dl:\r
+               ds=id2string(d[0])\r
+               bezeichnung="not in List"\r
+               if ds in devdict:\r
+                       bezeichnung=devdict[ds].split(",")[0].split(" ")[1]+" "\r
+               vnames=[]\r
+               for i in range(4):\r
+                       c=d[1][i*2]\r
+                       if (c==0):\r
+                               break\r
+                       name=getName(c)\r
+                       if name!=[]:\r
+                               vnames.append(name[0])\r
+               voc=0\r
+               if "VOC" in bezeichnung:\r
+                       voc=1\r
+                       vnames.append("R0")\r
+                       vnames.append("VS")\r
+                       vnames.append("Corr")\r
+                       vnames.append("cmode")\r
+                       vnames.append("RS")\r
+                       vnames.append("RSR0")\r
+                       vnames.append("VOC1")\r
+                       vnames.append("VOC2")\r
+               #print(ds)\r
+               l=getValues([d[0],d[1]],voc)\r
+               s=vline+"%i" %(unix_timestamp)\r
+               for i in range(len(l)):\r
+                       print("%s %s: %0.2f " %(bezeichnung,vnames[i],l[i]))\r
+                       s=s+"\t%0.4f" % (l[i])\r
+               fname="log_%s.ow1" %(ds)\r
+               writeheader=1\r
+               if os.path.exists(fname):\r
+                       writeheader=0\r
+               f=open(fname,"a")\r
+               if writeheader==1:\r
+                       sh="time\tunixtime"\r
+                       for i in range(len(l)):\r
+                               sh=sh+"\t%s" % (vnames[i])\r
+                       f.write(sh+"\n")\r
+               f.write(s.replace(".",",").replace("#",".")+"\n")\r
+               f.close()\r
+       #execfile("separate1.py")\r
+       os.system("python separate1.py")\r
+       print("--------------------")\r
+       n = datetime.datetime.now()\r
+       unix_timestamp1 = time.mktime(n.timetuple())# works if Python >= 3.3\r
+       d=unix_timestamp1-unix_timestamp\r
+       print (d)\r
+       print("--------------------")\r
+       time.sleep(120-d)\r
+       \r
        
\ No newline at end of file