diff --git a/autofill_schem.py b/autofill_schem.py index e792e6b..94952cb 100644 --- a/autofill_schem.py +++ b/autofill_schem.py @@ -104,6 +104,22 @@ def quotify(s): s = s + '"' return s +# TODO maybe add electrolytics to capacitor footprints +SMD_SIZES = ["0201_0603", "0402_1005", "0603_1608", "0805_2012", "1206_3216"] +C_FOOTPRINTS = dict() +R_FOOTPRINTS = dict() +L_FOOTPRINTS = dict() + +for sz in SMD_SIZES: + C_FOOTPRINTS[sz] = "Capacitor_SMD:C_" + sz + "Metric" + R_FOOTPRINTS[sz] = "Resistor_SMD:R_" + sz + "Metric" + L_FOOTPRINTS[sz] = "Inductor_SMD:L_" + sz + "Metric" +FOOTPRINT_HINTS = { + "C": C_FOOTPRINTS, + "L": L_FOOTPRINTS, + "R": R_FOOTPRINTS +} + def infer_components(components, interactive): # dictionaries in dictionaries: # distributor = (distributor_type, id) so that non-unique ids can be captured @@ -181,11 +197,19 @@ def infer_components(components, interactive): if len(new_partnum) == 0: skipped[c.cls][c.value] = True continue - new_footprint = input("enter a footprint for {} ({}) (leave empty to skip): ".format(c.cls, c.value)).strip() + extra = "" + if c.cls in FOOTPRINT_HINTS.keys(): + HINTS = FOOTPRINT_HINTS[c.cls] + extra = " ["+" ".join(map(lambda k: "{} => {}".format(k, HINTS[k]), HINTS.keys())) + "] " + + new_footprint = input("enter a footprint for {} ({}) (leave empty to skip): {}".format(c.cls, c.value, extra)).strip() if len(new_footprint) == 0: skipped[c.cls][c.value] = True continue - new_footprint = quotify(new_footprint) + if c.cls in FOOTPRINT_HINTS.keys() and new_footprint in HINTS.keys(): + new_footprint = quotify(HINTS[new_footprint]) + else: + new_footprint = quotify(new_footprint) new_distr = quotify(new_distr) new_partnum = quotify(new_partnum) filled_values[c.cls][c.value].append((new_footprint, [], [(new_distr, new_partnum)])) diff --git a/bldc-controller.sch b/bldc-controller.sch index 7a0558a..b0c8915 100644 --- a/bldc-controller.sch +++ b/bldc-controller.sch @@ -265,6 +265,7 @@ F 0 "C30" H 8910 2120 50 0000 L CNN F 1 "10 uF" H 8910 1970 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 8900 2050 50 0001 C CNN F 3 "~" H 8900 2050 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 8900 2050 50 0001 C CNN "Mouser" 1 8900 2050 -1 0 0 -1 $EndComp @@ -323,6 +324,7 @@ F 0 "C32" H 9160 1820 50 0000 L CNN F 1 "47 nF X5R 25V" H 9160 1670 50 0000 L CNN F 2 "Capacitor_SMD:C_0402_1005Metric" H 9150 1750 50 0001 C CNN F 3 "~" H 9150 1750 50 0001 C CNN +F 4 "810-CGA2B2X5R1E473KA" H 9150 1750 50 0001 C CNN "Mouser" 1 9150 1750 0 1 -1 0 $EndComp @@ -340,8 +342,9 @@ U 1 1 5DD068D2 P 11350 2250 F 0 "C45" H 11360 2320 50 0000 L CNN F 1 "1 uF X5R 6.3V" H 11360 2170 50 0000 L CNN -F 2 "" H 11350 2250 50 0001 C CNN +F 2 "0402" H 11350 2250 50 0001 C CNN F 3 "~" H 11350 2250 50 0001 C CNN +F 4 "603-CC402KRX5R5BB105" H 11350 2250 50 0001 C CNN "Mouser" 1 11350 2250 0 -1 1 0 $EndComp @@ -353,6 +356,7 @@ F 0 "C29" H 8710 1620 50 0000 L CNN F 1 "1 uF X5R 25V" H 8710 1470 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 8700 1550 50 0001 C CNN F 3 "~" H 8700 1550 50 0001 C CNN +F 4 "603-CC603KRX5R8BB105" H 8700 1550 50 0001 C CNN "Mouser" 1 8700 1550 0 1 -1 0 $EndComp @@ -392,8 +396,9 @@ U 1 1 5DD17052 P 11100 1850 F 0 "C43" H 11110 1920 50 0000 L CNN F 1 "0.47 uF X5R 16V" H 11110 1770 50 0000 L CNN -F 2 "" H 11100 1850 50 0001 C CNN +F 2 "0603" H 11100 1850 50 0001 C CNN F 3 "~" H 11100 1850 50 0001 C CNN +F 4 "603-CC603KRX5R7BB474" H 11100 1850 50 0001 C CNN "Mouser" 1 11100 1850 0 -1 -1 0 $EndComp @@ -432,6 +437,7 @@ F 0 "C48" H 12260 2270 50 0000 L CNN F 1 "10 uF" H 12260 2120 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 12250 2200 50 0001 C CNN F 3 "~" H 12250 2200 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 12250 2200 50 0001 C CNN "Mouser" 1 12250 2200 0 -1 -1 0 $EndComp @@ -579,8 +585,9 @@ U 1 1 5DD643DB P 12350 2600 F 0 "R37" H 12380 2620 50 0000 L CNN F 1 "10kR" H 12380 2560 50 0000 L CNN -F 2 "" H 12350 2600 50 0001 C CNN +F 2 "0402" H 12350 2600 50 0001 C CNN F 3 "~" H 12350 2600 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 12350 2600 50 0001 C CNN "Mouser" 1 12350 2600 1 0 0 -1 $EndComp @@ -590,8 +597,9 @@ U 1 1 5DD64801 P 12350 2900 F 0 "R38" H 12380 2920 50 0000 L CNN F 1 "10kR" H 12380 2860 50 0000 L CNN -F 2 "" H 12350 2900 50 0001 C CNN +F 2 "0402" H 12350 2900 50 0001 C CNN F 3 "~" H 12350 2900 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 12350 2900 50 0001 C CNN "Mouser" 1 12350 2900 1 0 0 -1 $EndComp @@ -713,8 +721,9 @@ U 1 1 5DDB175C P 11600 3450 F 0 "R32" H 11630 3470 50 0000 L CNN F 1 "10kR" H 11630 3410 50 0000 L CNN -F 2 "" H 11600 3450 50 0001 C CNN +F 2 "0402" H 11600 3450 50 0001 C CNN F 3 "~" H 11600 3450 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 11600 3450 50 0001 C CNN "Mouser" 1 11600 3450 0 -1 1 0 $EndComp @@ -724,8 +733,9 @@ U 1 1 5DDB1151 P 11600 3350 F 0 "R31" H 11630 3370 50 0000 L CNN F 1 "10kR" H 11630 3310 50 0000 L CNN -F 2 "" H 11600 3350 50 0001 C CNN +F 2 "0402" H 11600 3350 50 0001 C CNN F 3 "~" H 11600 3350 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 11600 3350 50 0001 C CNN "Mouser" 1 11600 3350 0 -1 -1 0 $EndComp @@ -1178,6 +1188,7 @@ F 0 "C56" H 15560 2670 50 0000 L CNN F 1 "10 uF" H 15560 2520 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 15550 2600 50 0001 C CNN F 3 "~" H 15550 2600 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 15550 2600 50 0001 C CNN "Mouser" 1 15550 2600 1 0 0 -1 $EndComp @@ -2391,8 +2402,9 @@ U 1 1 5EDB4734 P 6150 8650 F 0 "R19" H 6180 8670 50 0000 L CNN F 1 "10kR" H 6180 8610 50 0000 L CNN -F 2 "" H 6150 8650 50 0001 C CNN +F 2 "0402" H 6150 8650 50 0001 C CNN F 3 "~" H 6150 8650 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 6150 8650 50 0001 C CNN "Mouser" 1 6150 8650 -1 0 0 -1 $EndComp @@ -2553,6 +2565,7 @@ F 0 "C35" H 10010 7420 50 0000 L CNN F 1 "10 uF" H 10010 7270 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 10000 7350 50 0001 C CNN F 3 "~" H 10000 7350 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 10000 7350 50 0001 C CNN "Mouser" 1 10000 7350 -1 0 0 1 $EndComp @@ -2790,8 +2803,9 @@ U 1 1 5F65E73B P 8100 7550 F 0 "R25" H 8130 7570 50 0000 L CNN F 1 "10kR" H 8130 7510 50 0000 L CNN -F 2 "" H 8100 7550 50 0001 C CNN +F 2 "0402" H 8100 7550 50 0001 C CNN F 3 "~" H 8100 7550 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 8100 7550 50 0001 C CNN "Mouser" 1 8100 7550 -1 0 0 -1 $EndComp @@ -2801,8 +2815,9 @@ U 1 1 5F65F099 P 8250 7550 F 0 "R26" H 8280 7570 50 0000 L CNN F 1 "10kR" H 8280 7510 50 0000 L CNN -F 2 "" H 8250 7550 50 0001 C CNN +F 2 "0402" H 8250 7550 50 0001 C CNN F 3 "~" H 8250 7550 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 8250 7550 50 0001 C CNN "Mouser" 1 8250 7550 1 0 0 -1 $EndComp @@ -2828,8 +2843,9 @@ U 1 1 5F799D14 P 6250 8650 F 0 "R20" H 6280 8670 50 0000 L CNN F 1 "10kR" H 6280 8610 50 0000 L CNN -F 2 "" H 6250 8650 50 0001 C CNN +F 2 "0402" H 6250 8650 50 0001 C CNN F 3 "~" H 6250 8650 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 6250 8650 50 0001 C CNN "Mouser" 1 6250 8650 1 0 0 -1 $EndComp @@ -3003,6 +3019,7 @@ F 0 "C55" H 15460 1170 50 0000 L CNN F 1 "10 uF" H 15460 1020 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 15450 1100 50 0001 C CNN F 3 "~" H 15450 1100 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 15450 1100 50 0001 C CNN "Mouser" 1 15450 1100 1 0 0 -1 $EndComp @@ -3263,6 +3280,7 @@ F 0 "C10" H 4260 6170 50 0000 L CNN F 1 "10 uF" H 4260 6020 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 4250 6100 50 0001 C CNN F 3 "~" H 4250 6100 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 4250 6100 50 0001 C CNN "Mouser" 1 4250 6100 0 -1 -1 0 $EndComp @@ -3294,6 +3312,7 @@ F 0 "C7" H 3860 9820 50 0000 L CNN F 1 "10 uF" H 3860 9670 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 3850 9750 50 0001 C CNN F 3 "~" H 3850 9750 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 3850 9750 50 0001 C CNN "Mouser" 1 3850 9750 1 0 0 -1 $EndComp @@ -3394,6 +3413,7 @@ F 0 "C12" H 4360 8820 50 0000 L CNN F 1 "10 uF" H 4360 8670 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 4350 8750 50 0001 C CNN F 3 "~" H 4350 8750 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 4350 8750 50 0001 C CNN "Mouser" 1 4350 8750 0 -1 -1 0 $EndComp @@ -3458,6 +3478,7 @@ F 0 "C6" H 3760 7170 50 0000 L CNN F 1 "10 uF" H 3760 7020 50 0000 L CNN F 2 "Capacitor_SMD:C_0603_1608Metric" H 3750 7100 50 0001 C CNN F 3 "~" H 3750 7100 50 0001 C CNN +F 4 "963-JMK107ABJ106KA-T" H 3750 7100 50 0001 C CNN "Mouser" 1 3750 7100 1 0 0 -1 $EndComp @@ -3615,8 +3636,9 @@ U 1 1 61977BE7 P 10950 5500 F 0 "R28" H 10980 5520 50 0000 L CNN F 1 "10kR" H 10980 5460 50 0000 L CNN -F 2 "" H 10950 5500 50 0001 C CNN +F 2 "0402" H 10950 5500 50 0001 C CNN F 3 "~" H 10950 5500 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 10950 5500 50 0001 C CNN "Mouser" 1 10950 5500 -1 0 0 -1 $EndComp @@ -3635,8 +3657,9 @@ U 1 1 61A0AC4D P 12750 5650 F 0 "R40" H 12780 5670 50 0000 L CNN F 1 "10kR" H 12780 5610 50 0000 L CNN -F 2 "" H 12750 5650 50 0001 C CNN +F 2 "0402" H 12750 5650 50 0001 C CNN F 3 "~" H 12750 5650 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 12750 5650 50 0001 C CNN "Mouser" 1 12750 5650 -1 0 0 -1 $EndComp @@ -3646,8 +3669,9 @@ U 1 1 61A0AF3E P 12900 5650 F 0 "R41" H 12930 5670 50 0000 L CNN F 1 "10kR" H 12930 5610 50 0000 L CNN -F 2 "" H 12900 5650 50 0001 C CNN +F 2 "0402" H 12900 5650 50 0001 C CNN F 3 "~" H 12900 5650 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 12900 5650 50 0001 C CNN "Mouser" 1 12900 5650 1 0 0 -1 $EndComp @@ -3805,8 +3829,9 @@ U 1 1 62411A94 P 14350 7650 F 0 "R43" H 14380 7670 50 0000 L CNN F 1 "10kR" H 14380 7610 50 0000 L CNN -F 2 "" H 14350 7650 50 0001 C CNN +F 2 "0402" H 14350 7650 50 0001 C CNN F 3 "~" H 14350 7650 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 14350 7650 50 0001 C CNN "Mouser" 1 14350 7650 0 -1 1 0 $EndComp @@ -3816,8 +3841,9 @@ U 1 1 6241A308 P 14350 7550 F 0 "R42" H 14380 7570 50 0000 L CNN F 1 "10kR" H 14380 7510 50 0000 L CNN -F 2 "" H 14350 7550 50 0001 C CNN +F 2 "0402" H 14350 7550 50 0001 C CNN F 3 "~" H 14350 7550 50 0001 C CNN +F 4 "71-CRCW040210K0FKEDC" H 14350 7550 50 0001 C CNN "Mouser" 1 14350 7550 0 -1 -1 0 $EndComp