jegatroncomponents_chip_resistor.sql 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. CALL `add_part_group`('chip_resistor', 'Chip Resistor - SMD', 'Surface mount resistors');
  2. ALTER TABLE jegatroncomponents.group_details_chip_resistor ADD(
  3. `series` varchar(100) DEFAULT NULL,
  4. `resistance` float NOT NULL,
  5. `resistance_str` varchar(10) DEFAULT NULL,
  6. `resistance_tolerance_upper` float NOT NULL,
  7. `resistance_tolerance_lower` float NOT NULL,
  8. `power` float NOT NULL,
  9. `resistor_type` varchar(50) NOT NULL,
  10. `temperature_max` float NOT NULL,
  11. `temperature_min` float NOT NULL,
  12. `temperature_coefficient_upper` float NOT NULL,
  13. `temperature_coefficient_lower` float NOT NULL,
  14. `dimension_height` float NOT NULL,
  15. `dimension_width` float NOT NULL,
  16. `dimension_length` float NOT NULL,
  17. `component_package` varchar(50) NOT NULL,
  18. `component_symbol` varchar(50) NOT NULL,
  19. `number_of_terminals` int DEFAULT 2 NOT NULL,
  20. CONSTRAINT `group_details_chip_resistor_package_FK` FOREIGN KEY (`component_package`) REFERENCES `component_packages` (`component_package`) ON UPDATE CASCADE,
  21. CONSTRAINT `group_details_chip_resistor_symbol_FK` FOREIGN KEY (`component_symbol`) REFERENCES `component_symbols` (`component_symbol`) ON UPDATE CASCADE
  22. );
  23. delimiter //
  24. CREATE OR REPLACE TRIGGER add_resistance_str
  25. BEFORE INSERT ON jegatroncomponents.group_details_chip_resistor
  26. FOR EACH ROW
  27. IF NEW.`resistance_str` IS NULL THEN
  28. SET NEW.resistance_str := to_value_string(NEW.resistance, 'R');
  29. END IF;
  30. //
  31. CREATE OR REPLACE TRIGGER update_resistance_str
  32. BEFORE UPDATE ON jegatroncomponents.group_details_chip_resistor
  33. FOR EACH ROW
  34. IF NEW.`resistance_str` IS NULL THEN
  35. SET NEW.resistance_str := to_value_string(NEW.resistance, 'R');
  36. END IF;
  37. //
  38. delimiter ;
  39. INSERT INTO manufacturers (mfr) VALUES ('yageo');
  40. INSERT INTO manufacturers (mfr) VALUES ('tdk');
  41. DELETE FROM component_packages ;
  42. INSERT INTO component_packages (component_package, package_display_name)
  43. VALUES
  44. ('R01005', '01005 (0402 Metric)'),
  45. ('R0201', '0201 (0603 Metric)'),
  46. ('R0402', '0402 (1010 Metric)'),
  47. ('R0603', '0603 (1608 Metric)'),
  48. ('R0805', '0805 (2012 Metric)'),
  49. ('R1206', '1206 (3216 Metric)'),
  50. ('R1210', '1210 (3225 Metric)'),
  51. ('R1812', '1812 (4532 Metric)'),
  52. ('R2010', '2010 (5025 Metric)'),
  53. ('R2512', '2512 (6332 Metric)')
  54. ON duplicate KEY UPDATE package_display_name = package_display_name;
  55. DELETE FROM footprints_kicad ;
  56. INSERT INTO footprints_kicad (component_package, kicad_footprint, kicad_footprint_filter)
  57. VALUES
  58. ('R01005', 'Resistor_SMD:R_01005_0402Metric', 'Resistor_SMD:R_01005_*'),
  59. ('R0201', 'Resistor_SMD:R_0201_0603Metric', 'Resistor_SMD:R_0201_*'),
  60. ('R0402', 'Resistor_SMD:R_0402_1010Metric', 'Resistor_SMD:R_0402_*'),
  61. ('R0603', 'Resistor_SMD:R_0603_1608Metric', 'Resistor_SMD:R_0603_*'),
  62. ('R0805', 'Resistor_SMD:R_0805_2012Metric', 'Resistor_SMD:R_0805_*'),
  63. ('R1206', 'Resistor_SMD:R_1206_3216Metric', 'Resistor_SMD:R_1206_*'),
  64. ('R1210', 'Resistor_SMD:R_1210_3225Metric', 'Resistor_SMD:R_1210_*'),
  65. ('R1812', 'Resistor_SMD:R_1812_4532Metric', 'Resistor_SMD:R_1812_*'),
  66. ('R2010', 'Resistor_SMD:R_2010_5025Metric', 'Resistor_SMD:R_2010_*'),
  67. ('R2512', 'Resistor_SMD:R_2512_6332Metric', 'Resistor_SMD:R_2512_*')
  68. ON duplicate KEY UPDATE kicad_footprint = kicad_footprint;
  69. INSERT INTO component_symbols (component_symbol, symbol_display_name)
  70. VALUES
  71. ('resistor_2pin', 'Resistor'),
  72. ('capacitor_2pin', 'Capacitor');
  73. INSERT INTO symbols_kicad (component_symbol, kicad_symbol)
  74. VALUES
  75. ('resistor_2pin', 'Device:R'),
  76. ('capacitor_2pin', 'Device:C');
  77. DROP VIEW IF EXISTS kicad_resistors;
  78. CREATE OR REPLACE VIEW kicad_resistors
  79. AS
  80. SELECT ip.internal_pn, internal_pn_str, ip.part_description AS description, gdcr.resistance AS value,
  81. cp.package_display_name, ip.exclude_from_bom, ip.exclude_from_board, fk.kicad_footprint,
  82. fk.kicad_footprint_filter, sk.kicad_symbol,
  83. gdcr.resistance_str AS value_str
  84. FROM internal_parts ip
  85. JOIN group_details_chip_resistor gdcr ON ip.internal_pn = gdcr.internal_pn
  86. JOIN component_packages cp ON gdcr.component_package = cp.component_package
  87. LEFT JOIN footprints_kicad fk ON gdcr.component_package = fk.component_package
  88. LEFT JOIN symbols_kicad sk ON gdcr.component_symbol = sk.component_symbol
  89. WHERE ip.part_group_id = 'chip_resistor';
  90. SELECT * FROM kicad_resistors kr ORDER BY internal_pn DESC;