qeda_library/connector/kf141v-2.54.rb

49 lines
1.4 KiB
Ruby
Executable File

#!/usr/bin/env ruby
# encoding: utf-8
# ruby: 3.0.1
# number of possible pins
variations = (2..12).to_a
puts "name: KF141V-2.54"
puts "description: spring loaded terminal, with lever, 0.1 in/2.54 mm pitch, vertical insertion"
puts "variations: " + variations.collect{|p| p.to_s+"P"}*", "
puts "datasheet: https://datasheet.lcsc.com/lcsc/2001151504_Cixi-Kefa-Elec-KF141V-2-54-10P_C475122.pdf"
puts ""
variations.each do |v|
puts "pinout@#{v}P: 1-#{v}"
puts ""
puts "schematic@#{v}P:"
puts " suffix: -#{v}P"
puts " symbol: connector"
puts " left: 1-#{v}"
puts ""
puts "housing@#{v}P:"
puts " pattern: custom"
puts " options: polarized"
puts " height: 13.0"
puts " pitch: 2.54"
puts " leadHeight: 3.50"
puts " leadWidth: 0.70"
puts " leadLength: 0.50"
puts " holeDiameter: 1.2"
puts " columnCount: 1"
puts " rowCount: #{v}"
puts " bodyWidth: 12.70"
puts " bodyLength: #{(2.54 * v + 2.54).round(2)}"
#puts " bodyPosition: 0, 1.0" # alternative is to center on the pins section only
puts " numbers: " + (v.times.collect {|i| [i + 1]*2}.flatten * ", ")
print " padPosition: "
positions = []
v.times do |i|
positions << [12.70/2 - 3.00 - 5.08, (2.54 * v + 2.54) / -2 + 1.0 + i * 2.54]
positions << [12.70/2 - 3.00, (2.54 * v + 2.54) / -2 + 1.0 + i * 2.54]
end
positions.flatten!
positions.collect!{|p| p.round(3)}
print positions * ", "
puts ""
end