From 0154cc9dd74277250928fb24e3313f235323483b Mon Sep 17 00:00:00 2001
From: Jingyan Ling <jingyanling2018@u.northwestern.edu>
Date: Tue, 6 Aug 2019 13:43:30 -0700
Subject: [PATCH] parse wiring info

---
 README.md                                     |  13 +++-
 .../__pycache__/dsnwritier.cpython-36.pyc     | Bin 3186 -> 3383 bytes
 .../__pycache__/sesreader.cpython-36.pyc      | Bin 0 -> 705 bytes
 dsn_python/dsnwritier.py                      |   3 +
 dsn_python/sesreader.py                       |  23 ++++++
 .../Untitled-checkpoint.ipynb                 |  67 ++++++++++++++++++
 .../__pycache__/paperbot_dsn.cpython-36.pyc   | Bin 0 -> 3352 bytes
 paperbot_ee_autoroute/auto_route_dsn.py       |   5 +-
 paperbot_ee_autoroute/fab_drawing.py          |  26 +++++++
 paperbot_ee_autoroute/paperbot_dsn.py         |  21 +++---
 paperbot_ee_autoroute/paperbot_ee.dsn         |   4 +-
 paperbot_ee_autoroute/paperbot_ee.rules       |   4 +-
 paperbot_ee_autoroute/paperbot_ee.ses         |  14 +++-
 .../pcb_dxf_importer.cpython-36.pyc           | Bin 0 -> 1763 bytes
 test_history/kicad_python.py                  |   2 +-
 .../pcb_dxf_importer.py                       |   0
 16 files changed, 166 insertions(+), 16 deletions(-)
 create mode 100644 dsn_python/__pycache__/sesreader.cpython-36.pyc
 create mode 100644 dsn_python/sesreader.py
 create mode 100644 paperbot_ee_autoroute/.ipynb_checkpoints/Untitled-checkpoint.ipynb
 create mode 100644 paperbot_ee_autoroute/__pycache__/paperbot_dsn.cpython-36.pyc
 create mode 100644 paperbot_ee_autoroute/fab_drawing.py
 create mode 100644 test_history/__pycache__/pcb_dxf_importer.cpython-36.pyc
 rename pcb_dxf_importer.py => test_history/pcb_dxf_importer.py (100%)

diff --git a/README.md b/README.md
index 3435e6c..6a716d8 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,24 @@
 ## ENGINEERING JOURNAL
 ### Jingyan Ling
 
-### 08/04/2019
+### 08/06/2019
+
+- Successfully parse the wiring information from `ses` file to array
+  - A little "hacky" way, not using any parsing package
+  - Stands for `ses` file only
+- 
+### 08/05/2019
 
 - Working on parsing routed (wiring section) text information.
     - Ref: [pyparsing](https://scipy-cookbook.readthedocs.io/items/Reading_Custom_Text_Files_with_Pyparsing.html)
 - Parsing generated `dsn` file back to `DSN` class 
   - Fail
 - Parsing generated `kicad_pcb` file back to `pykicad` package - `pcb` class
+  - Success
+- Working on:
+  - debug dsn library so it can read file.
+  - `pykicad` uses `pyparsing` internally
+  - Rebuild `ses` file schema. Not working well
 
 
 ### 08/01/2019
diff --git a/dsn_python/__pycache__/dsnwritier.cpython-36.pyc b/dsn_python/__pycache__/dsnwritier.cpython-36.pyc
index 1feefcb9130856e37c619d19224dc7a7e0542c83..1890aaefc90ef62e7e8c6e165b1935bcab1c8419 100644
GIT binary patch
delta 596
zcma)&&ubGw6vt;Kv)Sy%(Au<V6*Lu^ri-Rkqc&Agi;9ZUg6SzB>#{qsTejWuW<@9!
z4;6YU2(Q=v5t4&{g3_Z1mi+_#1H5?Y!Fg5$Zw|cAeBZnu1K%GLAJ01NO2yrO^XU1{
z56-IKD+uD!5Ts%1t3-tv#9@#O4n)j(4{bSF%B{`xwSpYy<oog@V+<OEX*`t8fAV8_
zi(kNwRUgjnr*WnrNZ=f`Uc{Hy3tk(1wk%##)o3beykk4OH@eFt>y34pH;vzlyS$0M
z-8MwKF>-|lT?0=*lk^Qdv}eXnB<1sj4q*Z9(wC`Ol5+%`aG7wG&?a0XT*pmk{2AOP
zeaFC)Jty9XGe3!S1|#&`B2=k11f!(?cdh+rEgs7=g9B%VzYT?%r$e`8;+_dzGuUQp
zEaTfe;*r=BYhuTkVN572ZCS6feyihgcwpMRg0VgTt>B@_atSJkJdqc|M8jkA0<`M{
z<J92vAzk<TaiWe)I-!66FSaW8^~UVql2^k|?s=Z$cXzq^gvQEY5@@}yveh(#WlXHP
jOD^0sp#lA}mZc)J@N2nyIxj4CSD<JrP$#sobL!?VNkN7X

delta 435
zcmdlk^+|%$n3tC;;ebPI_eRbPCPtUZMNB%I*D+-<GTxdj&Z58(#afVGo>~+&*`8$r
zw;}@rLy-!IP@Q~>MID8|fKzg^DytHs(qs=-d4VW)pUjffqQsmcS&(wA$>ppGj9i;<
zu(C38wKK3VL<t8oXsS&9%+}7RHo2PJ7)Y*XR~6C+DdqwanoLD%AhyZmXY3lH5GIIk
z3L?xvg!yD;j!X4AAf_&eU<VO;Ai@Ad7=j2R5Mc}=EI@=Mh_C_?)*!+LMA!leO_nIm
z%)HE!_?*n*k|H6Hur`Pg2FdXkiGbMHEdq)XZ`0-loQ{l4nj(`cxaAn5CQs+~XY`z0
s!z#}OvdjU9iwh<z@f0%^X-}TX6D%0T>=+zU#0Iil9z<wQ{>x(p043*D!2kdN

diff --git a/dsn_python/__pycache__/sesreader.cpython-36.pyc b/dsn_python/__pycache__/sesreader.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..71d45142e76f54b36b1ce3a7827144e0f106ac08
GIT binary patch
literal 705
zcmYjN&5qMB5FW?*Yq#Zq7SKu@d!QF`K;nSV3W*-zvH~qqQKVHAV$&uhPHMZNMb0Ta
z1#iGZ@FG5N;j}!$o)`y^)}wDc<L~p#*iYv3>D!;LuYPy{zu?xw99|&Q3>^bTzCsGj
zyM!ez2p+jLM+AtM2=yDC27}7MtH=PAH$YD|(0hmXnrh#W0c{0WuX@TnLkvBGPoZ2K
zo@#3T^B(ex-e(kff8<w&8h_*Uf$^%q1Op-P26n48>=tXl>fxa??$)-CFpCfGuv*0M
zE(;z2M!^{jj(^tU1g>Tk;#?CQnTb;kq@Rwl(~<tfOw9>)o0%B9&0M$Lw>6j$vv|zD
zxD0<Gys$)CzsvRZhAgk~@o??_Wf@z)?YOYM<T<lb)zzi0OTm>5WG*(`(i+(??@+{S
zF!Gj`LNDib^0BOW=4x81xJqX(RJ_RQQfW&{OR6;bcV;Ip7@0J3nh)}rMy=rP7*$$j
zO3N|OxzuUUY1fb<@g3wTj(T&MY}<w>RVg;dTqLWu*f(5gm8gBwaGBvyT#Bsb&0Z$5
zE!vFNywI{N@;YHkWZhA3Tan<X?y+1x?vCyaf@Pme$tm_wkI(_ROMJwPoFZZ}Me|2I
j#N1g-?x4y0sJ&SJ-NzAcxqHaj_<7T^ea+9u+OG5;8kx9@

literal 0
HcmV?d00001

diff --git a/dsn_python/dsnwritier.py b/dsn_python/dsnwritier.py
index 5823467..08c1a8e 100644
--- a/dsn_python/dsnwritier.py
+++ b/dsn_python/dsnwritier.py
@@ -213,3 +213,6 @@ class Dsn(AST):
         with open(path, 'w', encoding='utf-8') as f:
             f.write(self.to_string())     
 
+    @classmethod
+    def from_file(cls, path):
+        return cls.parse(open(path, encoding='utf-8').read())
\ No newline at end of file
diff --git a/dsn_python/sesreader.py b/dsn_python/sesreader.py
new file mode 100644
index 0000000..8f6d581
--- /dev/null
+++ b/dsn_python/sesreader.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+
+def find_wire(file_path):
+    ses=open(file_path,'r').read().splitlines()
+    pathsec_list=[]
+    for i in range(len(ses)):
+        if 'path' in ses[i]:
+            for j in range(i,len(ses)):
+                if ')' in ses[j]:
+                    pathsec=[i,j]
+                    pathsec_list.append(pathsec)
+                    break
+    path_list=[]
+    for sec_bry in pathsec_list:
+        onepath=[]
+        for j in range(sec_bry[0]+1,sec_bry[1]):
+            pts_str=ses[j].split()
+            ptstart=int(pts_str[0])
+            ptend=int(pts_str[1])
+            pts=[ptstart,ptend]
+            onepath.append(pts)
+        path_list.append(onepath)
+    return path_list
\ No newline at end of file
diff --git a/paperbot_ee_autoroute/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/paperbot_ee_autoroute/.ipynb_checkpoints/Untitled-checkpoint.ipynb
new file mode 100644
index 0000000..84f772e
--- /dev/null
+++ b/paperbot_ee_autoroute/.ipynb_checkpoints/Untitled-checkpoint.ipynb
@@ -0,0 +1,67 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 64,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "ses=open('paperbot_ee.ses','r').read().splitlines()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 65,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "25\n",
+      "31\n",
+      "36\n",
+      "43\n"
+     ]
+    }
+   ],
+   "source": [
+    "pathsec_list=[]\n",
+    "for i in range(len(ses)):\n",
+    "    if 'path' in ses[i]:\n",
+    "        for j in range(i,len(ses)):\n",
+    "            if ')' in ses[j]:\n",
+    "                pathsec=[i,j]\n",
+    "                break"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/paperbot_ee_autoroute/__pycache__/paperbot_dsn.cpython-36.pyc b/paperbot_ee_autoroute/__pycache__/paperbot_dsn.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..24e94e2b1393100979a854eb60a572a64f23f8b5
GIT binary patch
literal 3352
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

literal 0
HcmV?d00001

diff --git a/paperbot_ee_autoroute/auto_route_dsn.py b/paperbot_ee_autoroute/auto_route_dsn.py
index 719625f..3669656 100644
--- a/paperbot_ee_autoroute/auto_route_dsn.py
+++ b/paperbot_ee_autoroute/auto_route_dsn.py
@@ -5,4 +5,7 @@ import subprocess
 
 
 unrouted_dsn_file='paperbot_ee.dsn'
-subprocess.call(['java','-jar','freeRouting.jar','-de',unrouted_dsn_file,'-white','-s'])
\ No newline at end of file
+subprocess.call(['java','-jar','freeRouting.jar','-de',unrouted_dsn_file,'-white','-s'])
+
+
+import re
\ No newline at end of file
diff --git a/paperbot_ee_autoroute/fab_drawing.py b/paperbot_ee_autoroute/fab_drawing.py
new file mode 100644
index 0000000..37d20bd
--- /dev/null
+++ b/paperbot_ee_autoroute/fab_drawing.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+"""
+This module call script 'paperbot_dsn.py' to generate a DSN file
+for auto_router. An interface will pop up for the user to confirm wiring design,
+if a user does not want to change anything, one can just simply close the window.
+Routing information will be stored automatically in the same directory.
+The routing information will be read and draw the corresponding line on the dxf file
+
+path information needed:
+
+- dsnwritier(sesreader) dir
+- modules library dir
+- mechanical design drawing file
+- dsn/ses file name and (optional:dir)
+"""
+
+dsnwritier_dir='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_python'
+module_libpath='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/libraries/kicad-ESP8266/ESP8266.pretty/'
+dwg_path='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_line_test.dxf'
+dsn_name='paperbot_ee'
+
+import sys
+sys.path.insert(1,dsnwritier_dir)
+
+import paperbot_dsn
+paperbot_dsn.brd_design(dwg_path,0,module_libpath,dsn_name)
diff --git a/paperbot_ee_autoroute/paperbot_dsn.py b/paperbot_ee_autoroute/paperbot_dsn.py
index befdd0c..7f5d8fa 100644
--- a/paperbot_ee_autoroute/paperbot_dsn.py
+++ b/paperbot_ee_autoroute/paperbot_dsn.py
@@ -1,24 +1,27 @@
 #!/usr/bin/env python3
-import sys
-sys.path.insert(1,'/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_python')
+# import sys
+# sys.path.insert(1,'/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_python')
 
 import dsnwritier
 
 class brd_design():
-    def __init__(self,dwgfile,boundary_inx,libpath):
+    def __init__(self,dwgfile,boundary_inx,libpath,savename):
         self.dwgfile=dwgfile
         self.boundary_inx=boundary_inx
         self.libpath=libpath
+        self.savename=savename
+
         self.module_list=[
             ['mpu-9250.kicad_mod','J1',[103000,88000],270],
             ['ESP12F-Devkit-V3.kicad_mod','U1',[103000,48000],90],
         ]
         self.netlist=[
             ['3v3',['U1-3','J1-1']],
-            ['VIN',['U1-1']]
+            ['VIN',['U1-1']],
+            ['NET1',['U1-2','J1-5']]
         ]
         self.netclass_list=[
-            ['default',['3v3','VIN'],'',1000,200]
+            ['default',['3v3','VIN','NET1'],'',1000,200]
         ]
         
         self.brd_general()
@@ -108,12 +111,12 @@ class brd_design():
         self.brd.net=self.net
         self.brd.netclass=self.netclass
 
-        self.brd.to_file('paperbot_ee.dsn')
+        self.brd.to_file(self.savename)
 
 
-libpath='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/libraries/kicad-ESP8266/ESP8266.pretty/'
-dwgfile='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_line_test.dxf'
-a= brd_design(dwgfile,0,libpath)       
+# libpath='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/libraries/kicad-ESP8266/ESP8266.pretty/'
+# dwgfile='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_line_test.dxf'
+# a= brd_design(dwgfile,0,libpath,'paperbot_ee')       
 
         
 
diff --git a/paperbot_ee_autoroute/paperbot_ee.dsn b/paperbot_ee_autoroute/paperbot_ee.dsn
index 71baeee..114568b 100644
--- a/paperbot_ee_autoroute/paperbot_ee.dsn
+++ b/paperbot_ee_autoroute/paperbot_ee.dsn
@@ -394,7 +394,9 @@
     (pins U1-3 J1-1)) 
 (net VIN 
     (pins U1-1)) 
-(class default 3v3 VIN 
+(net NET1 
+    (pins U1-2 J1-5)) 
+(class default 3v3 VIN NET1 
     (circuit 
         (use_via "")) 
     (rule 
diff --git a/paperbot_ee_autoroute/paperbot_ee.rules b/paperbot_ee_autoroute/paperbot_ee.rules
index d015151..8c5bd42 100644
--- a/paperbot_ee_autoroute/paperbot_ee.rules
+++ b/paperbot_ee_autoroute/paperbot_ee.rules
@@ -11,7 +11,7 @@
     (via_costs 50)
     (plane_via_costs 5)
     (start_ripup_costs 100)
-    (start_pass_no 4)
+    (start_pass_no 20)
     (layer_rule F.Cu
       (active on)
       (preferred_direction vertical)
@@ -48,7 +48,7 @@
     default
   )
   (class default
-    3v3 VIN
+    3v3 VIN NET1
     (clearance_class default)
     (via_rule default)
     (rule
diff --git a/paperbot_ee_autoroute/paperbot_ee.ses b/paperbot_ee_autoroute/paperbot_ee.ses
index 515be5e..a371161 100644
--- a/paperbot_ee_autoroute/paperbot_ee.ses
+++ b/paperbot_ee_autoroute/paperbot_ee.ses
@@ -23,7 +23,7 @@
     (network_out 
       (net 3v3
         (wire
-          (path B.Cu 10000
+          (path F.Mask 10000
             890300 -600650
             918654 -629004
             1049358 -629004
@@ -32,6 +32,18 @@
           )
         )
       )
+      (net NET1
+        (wire
+          (path B.Cu 10000
+            864900 -600650
+            916308 -652058
+            1072390 -652058
+            1086143 -665811
+            1086143 -760357
+            1030000 -816500
+          )
+        )
+      )
     )
   )
 )
\ No newline at end of file
diff --git a/test_history/__pycache__/pcb_dxf_importer.cpython-36.pyc b/test_history/__pycache__/pcb_dxf_importer.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1ddecbb7f7c41efebe2fb7e7d43c63695171e1e0
GIT binary patch
literal 1763
zcmZvcOK%)S5P<tJFOS!TEFma?L&S+i$cqwT5JJd;fQ4i&mN;095;f!L_IfAta`&w4
zwPsIiuKbVurM_~?U*JSlPrTklnN?NS_N%JDuCAv$JMpW7{TF}vg#1f3J`VN)h<O4^
zl7vVqSwRyDEiYKf6Hfa+FYynF^rU}7q`zWGAlV;e6kPAd&7wW8tH)3G_V>PvU&B6R
zGNP6@*=dG<ZojpwedtjHT#$sxfn<{3(1iC}C!P#scta9jMsf?<K*n+#+E7w(w_~GO
z+0?pKdXm9e+=nd#`5DCg3aTYJ?dXbjM6izJEaxi%w%5Tw;ddN#(0P))<oc&J%%gm(
z^W5whW^b<uoS1+!IvEYDude0QSrTcL%ClLaAkfQc5|_19g=x}ESzemP`bD}>+WMC>
z*`8~R#`5Fr)NY;Wx)iw3`lofOrH!OcF9pCE`PMV4fW5(io1z0)r$baRs8>YqK=a@8
z@p)aUaXzc2i?kX)tFw8js@9CnyeyR#vkGujqEO{rk9D2ZLKP}&^(;$^ajQ%#&S$2r
z^<oTO1v<NBxYsOfBw&MCE5rbNnO#tX4d{RdG~f~4rPue?vu|f+6lcMQEs7(59}M6}
zkRP;klOwZnF{_lwiqsezH+8Y-?Ge@J*B!K17=h(!QG5c1@jww4(d)rF3K&`kfUFRj
z3*a9xresM$7zn>Qz;JR%<rRHKUVOduI-0Z2%Xto$FWKMhAz4ufmc8lqH+wH0osg^V
z+n^0GmD~<rF8vmhg?9c!SmiXy`=s%fLC0aA0C&82enL79Da0p<cl6ujm)DpPqk+a$
zwf@Ci>4go_rcsrIgt|JjzG+k4S`Ho7*J(9{yed@HXHsyekAU7?dW=FxE!lFb3b@@Q
zgq6<Na-h+)R9QN+w0MWE{t%-06vW__5$fTO4e0~=2=r%kmtB9frhRv9Yv>3Z58|LF
zVBA8#`ur{6!zFjXIle!K<pCi5qQlF0y!2Wx_d5?(1R&vxFMW3rzMJ_30AhV%lO#Sm
zIsX0VPsBKi96^n7>yJSt@l>^<so@Ejp4HZ&K8Ea?*3|~CpvM(8tq~4V)Ib8FrIAAt
z;($>=ta+E!Js2N>7=+fd8qy()>F{k%cPYK*gfD}GI8I-Ifpk2qO;D3o<Xb3O0&VPr
znv{EQ`uJ`2@m(2!+5(qv+^yLN{lMXjc7eV3_2_Nz^$ke>dg%SlH@vPsY%&=|`1-4~
zR6^KT2q<dv0_}ki7xT2}NAw4<l^&u(2F|f_v4INfl*X5<@xbWcU<He4yd8PbZZvTH
zqtJ#z$T|~3<HNRLvv>(rO7>UhSMw4I5~~_F`+eKn=!ZVYA29(<1j>WzFrX3pA0uRp
A-T(jq

literal 0
HcmV?d00001

diff --git a/test_history/kicad_python.py b/test_history/kicad_python.py
index 5b08dfe..56927b6 100644
--- a/test_history/kicad_python.py
+++ b/test_history/kicad_python.py
@@ -115,7 +115,7 @@ class pcb_editor():
 
 
 
-lib_path='libraries/kicad-ESP8266'
+lib_path='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/libraries/kicad-ESP8266'
 # net_generator=schematic(lib_path)
 
 pcb_generator=pcb_editor(lib_path)
diff --git a/pcb_dxf_importer.py b/test_history/pcb_dxf_importer.py
similarity index 100%
rename from pcb_dxf_importer.py
rename to test_history/pcb_dxf_importer.py
-- 
GitLab