From: Bdale Garbee Date: Tue, 19 Aug 2025 00:19:27 +0000 (-0600) Subject: add footprint for Kingbright RGB LED for QuantiMotor X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=f78743df42c6cfb4b45c6a0dfe2c34c8c4c89314;p=hw%2Faltusmetrum add footprint for Kingbright RGB LED for QuantiMotor --- diff --git a/packages/Makefile b/packages/Makefile index 57af66e..9799644 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -21,6 +21,7 @@ SOIC= \ FOOTPRINTS= \ $(SOIC) \ + WP154.fp \ H178.fp \ PTS815.fp \ s-pwson-n8.fp \ diff --git a/packages/WP154.py b/packages/WP154.py new file mode 100755 index 0000000..a82032d --- /dev/null +++ b/packages/WP154.py @@ -0,0 +1,95 @@ +#!/usr/bin/python3 +# Copyright 2025 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for Kingbright WP154A4AVS/RGB-CA RGB LED +# + +# dimensions in mm from kingbright/WP154A4AVS_RGB_CA-3048671.pdf +PinSpacing = 1.5 +PinDiam = 0.9 +BodyWidth = 7.5 +BodyLength = 11.0 +Setback = 7.65 + +import sys + +# we're going to use the 1/100 of a mil fundamental unit form +def mm2mils100( mm ): + return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 ) + +print('# author: Bdale Garbee') +print('# email: bdale@gag.com') +print('# dist-license: GPL 3') +print('# use-license: unlimited') + +print('Element[0x0 "WP154A4AVS-RGB-CA" "" "" 0 0 0 0 0 100 0x0]') +print("(") +print(' Pin[',\ + mm2mils100(-PinSpacing*1.5), \ + mm2mils100(-PinSpacing), \ + mm2mils100(PinDiam * 5/3), \ + 1200, \ + mm2mils100(PinDiam * 5/3), \ + mm2mils100(PinDiam), \ + '"pin4" "4" 0x0001]') + +print(' Pin[',\ + mm2mils100(-PinSpacing*0.5), \ + 0, \ + mm2mils100(PinDiam * 5/3), \ + 1200, \ + mm2mils100(PinDiam * 5/3), \ + mm2mils100(PinDiam), \ + '"pin3" "3" 0x0001]') + +print(' Pin[',\ + mm2mils100(PinSpacing*0.5), \ + mm2mils100(-PinSpacing), \ + mm2mils100(PinDiam * 5/3), \ + 1200, \ + mm2mils100(PinDiam * 5/3), \ + mm2mils100(PinDiam), \ + '"pin2" "2" 0x0001]') + +print(' Pin[',\ + mm2mils100(PinSpacing*1.5), \ + 0, \ + mm2mils100(PinDiam * 5/3), \ + 1200, \ + mm2mils100(PinDiam * 5/3), \ + mm2mils100(PinDiam), \ + '"pin1" "1" 0x0101]') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(Setback-BodyLength), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(Setback-BodyLength), \ + 1000, \ + ']') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(Setback), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(Setback), \ + 1000, \ + ']') + +print(' ElementLine[',\ + mm2mils100(BodyWidth/2), \ + mm2mils100(Setback), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(Setback-BodyLength), \ + 1000, \ + ']') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(Setback), \ + mm2mils100(-BodyWidth/2), \ + mm2mils100(Setback-BodyLength), \ + 1000, \ + ']') + +print(")")