diff --git a/python/pcb.py b/python/pcb.py index 1b9efe6825e70c55d477ca411632ca5cc9361cd9..ad5e8dcb8f03c70c3bed4d829d9869a0f6350c21 100755 --- a/python/pcb.py +++ b/python/pcb.py @@ -6462,6 +6462,44 @@ class VL53L1X(part): # ICs ############################################################ +class PicoW(part): + # + # Pico W + # + def __init__(self,value=''): + self.value = value + self.pad = [point(0,0,0)] + self.labels = [] + board_width = 22.58/25.4 + pad_width = 3.2/25.4 + pad_height = 0.08 + pad_pitch = 0.1 + pad_offset = pad_width/4 + pad_left = cube(0,pad_width,-pad_height/2,pad_height/2,0,0) + pad_right = cube(-pad_width,0,-pad_height/2,pad_height/2,0,0) + label_offset = pad_width/2 + self.shape = '0' + # 1-10 + for i in range(10): + self.shape = add(self.shape,translate(pad_left,-board_width/2-pad_offset,(9.5-i)*pad_pitch,0)) + self.pad.append(point(-board_width/2-pad_offset,(9.5-i)*pad_pitch)) + self.labels.append(self.text(self.pad[-1].x+label_offset,self.pad[-1].y,self.pad[-1].z,str(i+1))) + # 11-20 + for i in range(10): + self.shape = add(self.shape,translate(pad_left,-board_width/2-pad_offset,-(0.5+i)*pad_pitch,0)) + self.pad.append(point(-board_width/2-pad_offset,-(0.5+i)*pad_pitch)) + self.labels.append(self.text(self.pad[-1].x+label_offset,self.pad[-1].y,self.pad[-1].z,str(11+i))) + # 21-30 + for i in range(10): + self.shape = add(self.shape,translate(pad_right,board_width/2+pad_offset,-(9.5-i)*pad_pitch,0)) + self.pad.append(point(board_width/2+pad_offset,-(9.5-i)*pad_pitch)) + self.labels.append(self.text(self.pad[-1].x-label_offset,self.pad[-1].y,self.pad[-1].z,str(21+i))) + # 31-40 + for i in range(10): + self.shape = add(self.shape,translate(pad_right,board_width/2+pad_offset,(0.5+i)*pad_pitch,0)) + self.pad.append(point(board_width/2+pad_offset,(0.5+i)*pad_pitch)) + self.labels.append(self.text(self.pad[-1].x-label_offset,self.pad[-1].y,self.pad[-1].z,str(31+i))) + class XIAO(part): # # XIAO