@tscircuit/footprinter 0.0.110 → 0.0.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ __export(fn_exports, {
17
17
  hc49: () => hc49,
18
18
  led: () => led,
19
19
  lqfp: () => lqfp,
20
+ micromelf: () => micromelf,
20
21
  mlp: () => mlp,
21
22
  ms012: () => ms012,
22
23
  ms013: () => ms013,
@@ -33,6 +34,7 @@ __export(fn_exports, {
33
34
  sod323f: () => sod323f,
34
35
  sod523: () => sod523,
35
36
  sod723: () => sod723,
37
+ sod882: () => sod882,
36
38
  soic: () => soic,
37
39
  sop8: () => sop8,
38
40
  sot23: () => sot23,
@@ -2749,23 +2751,23 @@ var sodWithoutParsing2 = (parameters) => {
2749
2751
  return pads;
2750
2752
  };
2751
2753
 
2752
- // src/fn/sod323f.ts
2754
+ // src/fn/sod882.ts
2753
2755
  import { z as z24 } from "zod";
2754
2756
  import { length as length18 } from "circuit-json";
2755
2757
  var sod_def3 = z24.object({
2756
2758
  fn: z24.string(),
2757
2759
  num_pins: z24.literal(2).default(2),
2758
- w: z24.string().default("3,05mm"),
2759
- h: z24.string().default("1.65mm"),
2760
- pl: z24.string().default("0.6mm"),
2761
- pw: z24.string().default("0.6mm"),
2762
- pad_spacing: z24.string().default("2.2mm")
2760
+ w: z24.string().default("1.3mm"),
2761
+ h: z24.string().default("0.9mm"),
2762
+ pl: z24.string().default("0.4mm"),
2763
+ pw: z24.string().default("0.7mm"),
2764
+ pad_spacing: z24.string().default("0.7mm")
2763
2765
  });
2764
- var sod323f = (raw_params) => {
2766
+ var sod882 = (raw_params) => {
2765
2767
  const parameters = sod_def3.parse(raw_params);
2766
2768
  const silkscreenRefText = silkscreenRef(
2767
2769
  0,
2768
- length18.parse(parameters.h),
2770
+ length18.parse(parameters.h) + 0.1,
2769
2771
  0.3
2770
2772
  );
2771
2773
  const silkscreenLine = {
@@ -2774,20 +2776,20 @@ var sod323f = (raw_params) => {
2774
2776
  pcb_component_id: "",
2775
2777
  route: [
2776
2778
  {
2777
- x: length18.parse(parameters.pad_spacing) / 2,
2778
- y: length18.parse(parameters.h) / 2
2779
+ x: length18.parse(parameters.pad_spacing) / 2 + 0.2,
2780
+ y: length18.parse(parameters.h) / 2 + 0.2
2779
2781
  },
2780
2782
  {
2781
2783
  x: -length18.parse(parameters.w) / 2 - 0.2,
2782
- y: length18.parse(parameters.h) / 2
2784
+ y: length18.parse(parameters.h) / 2 + 0.2
2783
2785
  },
2784
2786
  {
2785
2787
  x: -length18.parse(parameters.w) / 2 - 0.2,
2786
- y: -length18.parse(parameters.h) / 2
2788
+ y: -length18.parse(parameters.h) / 2 - 0.2
2787
2789
  },
2788
2790
  {
2789
- x: length18.parse(parameters.pad_spacing) / 2,
2790
- y: -length18.parse(parameters.h) / 2
2791
+ x: length18.parse(parameters.pad_spacing) / 2 + 0.2,
2792
+ y: -length18.parse(parameters.h) / 2 - 0.2
2791
2793
  }
2792
2794
  ],
2793
2795
  stroke_width: 0.1,
@@ -2829,19 +2831,19 @@ var sodWithoutParsing3 = (parameters) => {
2829
2831
  return pads;
2830
2832
  };
2831
2833
 
2832
- // src/fn/sod123f.ts
2834
+ // src/fn/sod323f.ts
2833
2835
  import { z as z25 } from "zod";
2834
2836
  import { length as length19 } from "circuit-json";
2835
2837
  var sod_def4 = z25.object({
2836
2838
  fn: z25.string(),
2837
2839
  num_pins: z25.literal(2).default(2),
2838
- w: z25.string().default("4.4mm"),
2839
- h: z25.string().default("2.1mm"),
2840
- pl: z25.string().default("1.2mm"),
2841
- pw: z25.string().default("1.2mm"),
2842
- pad_spacing: z25.string().default("2.9mm")
2840
+ w: z25.string().default("3,05mm"),
2841
+ h: z25.string().default("1.65mm"),
2842
+ pl: z25.string().default("0.6mm"),
2843
+ pw: z25.string().default("0.6mm"),
2844
+ pad_spacing: z25.string().default("2.2mm")
2843
2845
  });
2844
- var sod123f = (raw_params) => {
2846
+ var sod323f = (raw_params) => {
2845
2847
  const parameters = sod_def4.parse(raw_params);
2846
2848
  const silkscreenRefText = silkscreenRef(
2847
2849
  0,
@@ -2909,19 +2911,19 @@ var sodWithoutParsing4 = (parameters) => {
2909
2911
  return pads;
2910
2912
  };
2911
2913
 
2912
- // src/fn/sod723.ts
2914
+ // src/fn/sod123f.ts
2913
2915
  import { z as z26 } from "zod";
2914
2916
  import { length as length20 } from "circuit-json";
2915
2917
  var sod_def5 = z26.object({
2916
2918
  fn: z26.string(),
2917
2919
  num_pins: z26.literal(2).default(2),
2918
- w: z26.string().default("1.80mm"),
2919
- h: z26.string().default("1.00mm"),
2920
- pl: z26.string().default("0.66mm"),
2921
- pw: z26.string().default("0.5mm"),
2922
- pad_spacing: z26.string().default("0.8mm")
2920
+ w: z26.string().default("4.4mm"),
2921
+ h: z26.string().default("2.1mm"),
2922
+ pl: z26.string().default("1.2mm"),
2923
+ pw: z26.string().default("1.2mm"),
2924
+ pad_spacing: z26.string().default("2.9mm")
2923
2925
  });
2924
- var sod723 = (raw_params) => {
2926
+ var sod123f = (raw_params) => {
2925
2927
  const parameters = sod_def5.parse(raw_params);
2926
2928
  const silkscreenRefText = silkscreenRef(
2927
2929
  0,
@@ -2938,11 +2940,11 @@ var sod723 = (raw_params) => {
2938
2940
  y: length20.parse(parameters.h) / 2
2939
2941
  },
2940
2942
  {
2941
- x: -length20.parse(parameters.w) / 2 - 0.1,
2943
+ x: -length20.parse(parameters.w) / 2 - 0.2,
2942
2944
  y: length20.parse(parameters.h) / 2
2943
2945
  },
2944
2946
  {
2945
- x: -length20.parse(parameters.w) / 2 - 0.1,
2947
+ x: -length20.parse(parameters.w) / 2 - 0.2,
2946
2948
  y: -length20.parse(parameters.h) / 2
2947
2949
  },
2948
2950
  {
@@ -2989,23 +2991,23 @@ var sodWithoutParsing5 = (parameters) => {
2989
2991
  return pads;
2990
2992
  };
2991
2993
 
2992
- // src/fn/sod128.ts
2994
+ // src/fn/sod723.ts
2993
2995
  import { z as z27 } from "zod";
2994
2996
  import { length as length21 } from "circuit-json";
2995
2997
  var sod_def6 = z27.object({
2996
2998
  fn: z27.string(),
2997
2999
  num_pins: z27.literal(2).default(2),
2998
- w: z27.string().default("6.2mm"),
2999
- h: z27.string().default("3.4mm"),
3000
- pl: z27.string().default("1.4mm"),
3001
- pw: z27.string().default("2.1mm"),
3002
- pad_spacing: z27.string().default("4.4mm")
3000
+ w: z27.string().default("1.80mm"),
3001
+ h: z27.string().default("1.00mm"),
3002
+ pl: z27.string().default("0.66mm"),
3003
+ pw: z27.string().default("0.5mm"),
3004
+ pad_spacing: z27.string().default("0.8mm")
3003
3005
  });
3004
- var sod128 = (raw_params) => {
3006
+ var sod723 = (raw_params) => {
3005
3007
  const parameters = sod_def6.parse(raw_params);
3006
3008
  const silkscreenRefText = silkscreenRef(
3007
3009
  0,
3008
- length21.parse(parameters.h) / 2 + 0.4,
3010
+ length21.parse(parameters.h),
3009
3011
  0.3
3010
3012
  );
3011
3013
  const silkscreenLine = {
@@ -3018,11 +3020,11 @@ var sod128 = (raw_params) => {
3018
3020
  y: length21.parse(parameters.h) / 2
3019
3021
  },
3020
3022
  {
3021
- x: -length21.parse(parameters.w) / 2 - 0.2,
3023
+ x: -length21.parse(parameters.w) / 2 - 0.1,
3022
3024
  y: length21.parse(parameters.h) / 2
3023
3025
  },
3024
3026
  {
3025
- x: -length21.parse(parameters.w) / 2 - 0.2,
3027
+ x: -length21.parse(parameters.w) / 2 - 0.1,
3026
3028
  y: -length21.parse(parameters.h) / 2
3027
3029
  },
3028
3030
  {
@@ -3069,6 +3071,166 @@ var sodWithoutParsing6 = (parameters) => {
3069
3071
  return pads;
3070
3072
  };
3071
3073
 
3074
+ // src/fn/sod128.ts
3075
+ import { z as z28 } from "zod";
3076
+ import { length as length22 } from "circuit-json";
3077
+ var sod_def7 = z28.object({
3078
+ fn: z28.string(),
3079
+ num_pins: z28.literal(2).default(2),
3080
+ w: z28.string().default("6.2mm"),
3081
+ h: z28.string().default("3.4mm"),
3082
+ pl: z28.string().default("1.4mm"),
3083
+ pw: z28.string().default("2.1mm"),
3084
+ pad_spacing: z28.string().default("4.4mm")
3085
+ });
3086
+ var sod128 = (raw_params) => {
3087
+ const parameters = sod_def7.parse(raw_params);
3088
+ const silkscreenRefText = silkscreenRef(
3089
+ 0,
3090
+ length22.parse(parameters.h) / 2 + 0.4,
3091
+ 0.3
3092
+ );
3093
+ const silkscreenLine = {
3094
+ type: "pcb_silkscreen_path",
3095
+ layer: "top",
3096
+ pcb_component_id: "",
3097
+ route: [
3098
+ {
3099
+ x: length22.parse(parameters.pad_spacing) / 2,
3100
+ y: length22.parse(parameters.h) / 2
3101
+ },
3102
+ {
3103
+ x: -length22.parse(parameters.w) / 2 - 0.2,
3104
+ y: length22.parse(parameters.h) / 2
3105
+ },
3106
+ {
3107
+ x: -length22.parse(parameters.w) / 2 - 0.2,
3108
+ y: -length22.parse(parameters.h) / 2
3109
+ },
3110
+ {
3111
+ x: length22.parse(parameters.pad_spacing) / 2,
3112
+ y: -length22.parse(parameters.h) / 2
3113
+ }
3114
+ ],
3115
+ stroke_width: 0.1,
3116
+ pcb_silkscreen_path_id: ""
3117
+ };
3118
+ return {
3119
+ circuitJson: sodWithoutParsing7(parameters).concat(
3120
+ silkscreenLine,
3121
+ silkscreenRefText
3122
+ ),
3123
+ parameters
3124
+ };
3125
+ };
3126
+ var getSodCoords7 = (parameters) => {
3127
+ const { pn, pad_spacing } = parameters;
3128
+ if (pn === 1) {
3129
+ return { x: -pad_spacing / 2, y: 0 };
3130
+ } else {
3131
+ return { x: pad_spacing / 2, y: 0 };
3132
+ }
3133
+ };
3134
+ var sodWithoutParsing7 = (parameters) => {
3135
+ const pads = [];
3136
+ for (let i = 1; i <= parameters.num_pins; i++) {
3137
+ const { x, y } = getSodCoords7({
3138
+ pn: i,
3139
+ pad_spacing: Number.parseFloat(parameters.pad_spacing)
3140
+ });
3141
+ pads.push(
3142
+ rectpad(
3143
+ i,
3144
+ x,
3145
+ y,
3146
+ Number.parseFloat(parameters.pl),
3147
+ Number.parseFloat(parameters.pw)
3148
+ )
3149
+ );
3150
+ }
3151
+ return pads;
3152
+ };
3153
+
3154
+ // src/fn/micromelf.ts
3155
+ import { z as z29 } from "zod";
3156
+ import { length as length23 } from "circuit-json";
3157
+ var micromelf_def = z29.object({
3158
+ fn: z29.string(),
3159
+ num_pins: z29.literal(2).default(2),
3160
+ w: z29.string().default("3.0mm"),
3161
+ h: z29.string().default("1.80mm"),
3162
+ pl: z29.string().default("0.80mm"),
3163
+ pw: z29.string().default("1.20mm"),
3164
+ pad_spacing: z29.string().default("1.6mm")
3165
+ });
3166
+ var micromelf = (raw_params) => {
3167
+ const parameters = micromelf_def.parse(raw_params);
3168
+ const silkscreenRefText = silkscreenRef(
3169
+ 0,
3170
+ length23.parse(parameters.h),
3171
+ 0.3
3172
+ );
3173
+ const silkscreenLine = {
3174
+ type: "pcb_silkscreen_path",
3175
+ layer: "top",
3176
+ pcb_component_id: "",
3177
+ route: [
3178
+ {
3179
+ x: length23.parse(parameters.pad_spacing) / 2,
3180
+ y: length23.parse(parameters.h) / 2
3181
+ },
3182
+ {
3183
+ x: -length23.parse(parameters.w) / 2 - 0.1,
3184
+ y: length23.parse(parameters.h) / 2
3185
+ },
3186
+ {
3187
+ x: -length23.parse(parameters.w) / 2 - 0.1,
3188
+ y: -length23.parse(parameters.h) / 2
3189
+ },
3190
+ {
3191
+ x: length23.parse(parameters.pad_spacing) / 2,
3192
+ y: -length23.parse(parameters.h) / 2
3193
+ }
3194
+ ],
3195
+ stroke_width: 0.1,
3196
+ pcb_silkscreen_path_id: ""
3197
+ };
3198
+ return {
3199
+ circuitJson: microMelfWithoutParsing(parameters).concat(
3200
+ silkscreenLine,
3201
+ silkscreenRefText
3202
+ ),
3203
+ parameters
3204
+ };
3205
+ };
3206
+ var getMicroMelfCoords = (parameters) => {
3207
+ const { pn, pad_spacing } = parameters;
3208
+ if (pn === 1) {
3209
+ return { x: -pad_spacing / 2, y: 0 };
3210
+ } else {
3211
+ return { x: pad_spacing / 2, y: 0 };
3212
+ }
3213
+ };
3214
+ var microMelfWithoutParsing = (parameters) => {
3215
+ const pads = [];
3216
+ for (let i = 1; i <= parameters.num_pins; i++) {
3217
+ const { x, y } = getMicroMelfCoords({
3218
+ pn: i,
3219
+ pad_spacing: Number.parseFloat(parameters.pad_spacing)
3220
+ });
3221
+ pads.push(
3222
+ rectpad(
3223
+ i,
3224
+ x,
3225
+ y,
3226
+ Number.parseFloat(parameters.pl),
3227
+ Number.parseFloat(parameters.pw)
3228
+ )
3229
+ );
3230
+ }
3231
+ return pads;
3232
+ };
3233
+
3072
3234
  // src/helpers/is-not-null.ts
3073
3235
  function isNotNull(value) {
3074
3236
  return value !== null;