← Commit history
README.md+11−37
@@ -2,20 +2,20 @@  **MaxLinear** · RS-485 / RS-422 ICs · SOIC-8 -SP485EEN-L from MaxLinear, in a SOIC-8. Pinout and pin descriptions extracted from the manufacturer datasheet by ds2sf; symbol, footprint, and 3D from KiCad-official CAD.+SP485EEN-L from MaxLinear, in a SOIC-8. Pinout and pin descriptions extracted from the manufacturer datasheet (extract_pins, cross-checked by a second model); symbol, footprint, and 3D from KiCad-official CAD.  ## Pinout  | Pin | Name | Type | Function | |---|---|---|---|-| 1 | RO | output | Receiver output. Reflects the state of the differential receiver input (A-B): HIGH when A-B > +0.2V, LOW when A-B < -0.2V. High-impedance (tri-state) when RE is HIGH. Fail-safe HIGH when inputs are open. |-| 2 | RE | input | Receiver output enable, active LOW. A logic LOW enables the receiver output RO; a logic HIGH tri-states RO. VIH ≥ 2.0V, VIL ≤ 0.8V. |-| 3 | DE | input | Driver output enable, active HIGH. A logic HIGH enables the differential driver outputs A and B; a logic LOW tri-states the driver outputs. VIH ≥ 2.0V, VIL ≤ 0.8V. |-| 4 | DI | input | Driver input. TTL/CMOS logic input driving the differential bus outputs when DE is HIGH: DI=HIGH drives A HIGH and B LOW; DI=LOW drives A LOW and B HIGH. VIH ≥ 2.0V, VIL ≤ 0.8V. |-| 5 | GND | power_in | Ground reference (0V) for the device. |-| 6 | A | bidirectional | Non-inverting driver output / receiver input. Connects to the RS-485/RS-422 differential bus line A. Common-mode range -7V to +12V; withstands ±15kV HBM and ±15kV IEC61000-4-2 Air Discharge ESD. |-| 7 | B | bidirectional | Inverting driver output / receiver input. Connects to the RS-485/RS-422 differential bus line B. Common-mode range -7V to +12V; withstands ±15kV HBM and ±15kV IEC61000-4-2 Air Discharge ESD. |-| 8 | VCC | power_in | Positive supply voltage. Operating range 4.75V to 5.25V (5V nominal). Typical supply current 900µA (no load, driver enabled). |+| 1 | RO | output | Receiver output: goes HIGH when A - B is at least +0.2 V, LOW when A - B is at most -0.2 V, and HIGH when the inputs are open (fail-safe). |+| 2 | RE | input | Receiver output enable, active LOW: a logic LOW enables the receiver and a logic HIGH disables it, with input thresholds of 2.0 V (min high) and 0.8 V (max low). |+| 3 | DE | input | Driver output enable, active HIGH: a logic HIGH enables the differential driver outputs and a logic LOW tri-states them, with input thresholds of 2.0 V (min high) and 0.8 V (max low). |+| 4 | DI | input | Driver input that sets the differential driver outputs A and B, with input thresholds of 2.0 V (min high) and 0.8 V (max low). |+| 5 | GND | power_in | Ground connection for the device. |+| 6 | A | bidirectional | Non-inverting driver output and receiver input, with a receiver common-mode range of -7 V to +12 V. |+| 7 | B | bidirectional | Inverting driver output and receiver input, with a receiver common-mode range of -7 V to +12 V. |+| 8 | VCC | power_in | Positive supply; must be held between 4.75 V and 5.25 V. |  ## Key specifications @@ -26,18 +26,6 @@ SP485EEN-L from MaxLinear, in a SOIC-8. Pinout and pin descriptions extracted fr | Category | Interface | | Pins | 8 | -## Ordering variants--Same part, different packaging or reel option.--- `SP485EEN-L`-- `SP485EEN-L/TR`-- `SP485ECN-L`-- `SP485ECN-L/TR`-- `SP485EMN-L/TR`-- `SP481ECN-L/TR`-- `SP481EEN-L/TR`- ## CAD (KiCad official)  - Symbol: `SP485EEN-L`@@ -45,26 +33,12 @@ Same part, different packaging or reel option. - 3D model: SOIC-8 (KiCad packages3D, STEP) - 3D model files: `sp485een-l-etched.step` / `sp485een-l-etched.glb` carry the MPN laser-etched on the die in a toggleable `Adom.LaserEtch` group (Fusion-ready); `sp485een-l.step` / `sp485een-l.glb` are the bare package body. -## 3D model downloads--Two STEP files. Same geometry, different body top:--| File | Size | Use it when |-|---|---|---|-| [`sp485een-l.step`](sp485een-l.step) | 122 KB | You want the bare part, or you mark your own boards. |-| [`sp485een-l-etched.step`](sp485een-l-etched.step) | 1.9 MB | You want the part with `SP485EEN-L` already on it. |--The marking in the etched file is real recessed geometry cut into the solid, not a-texture or a decal: 477 faces against 147 in the bare model. It-survives export, section views, and rendering in any CAD tool, and it drops straight-into KiCad or Fusion with no extra setup.- ## Provenance  Data extracted from the manufacturer datasheet, not a distributor listing: -- **Datasheet:** [MaxLinear datasheet](docs/sp485een-l-datasheet.pdf) (9 pp, sha256 `4a2a188692170b46`, retrieved 2026-08-17, tier: manufacturer)-- **Extractor:** `ds2sf` (Claude). Every pin and dimension is cited to a datasheet page; it refuses to fabricate.+- **Datasheet:** [MaxLinear datasheet](https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8579709487195668480) (9 pp, sha256 `4a2a188692170b46`, retrieved 2026-10-08, tier: lcsc)+- **Extractor:** parts-factory `2.0.0` / `extract_pins 0.3`, primary `claude-haiku-5-5` (text), consensus `claude-sonnet-5-5` (agreed), guards: pin_guards 0.1: passed. Pins are checked against the footprint pad set and their cited datasheet pages before publish. - **CAD:** KiCad official libraries (CC-BY-SA 4.0).  [Datasheet PDF](docs/sp485een-l-datasheet.pdf)
package.json+169−6
@@ -1,12 +1,14 @@ {   "slug": "sp485een-l",-  "version": "0.2.0",+  "version": "0.3.0",   "type": "component",-  "description": "MaxLinear RS-485 / RS-422 ICs, SOIC-8. Datasheet-verified pinout, KiCad symbol/footprint/3D.",+  "description": "MaxLinear RS-485 / RS-422 ICs, SOIC-8. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",   "tags": [     "component",     "interface",-    "sp485een-l"+    "sp485een-l",+    "factory-2.0.0",+    "extractor-text"   ],   "dependencies": {},   "hero": {@@ -25,6 +27,167 @@     "docs/sp485een-l-datasheet.pdf",     "viewers/symbol.html",     "viewers/footprint.html",-    "pads.json"-  ]-}\ No newline at end of file+    "sp485een-l-hero.glb",+    "sp485een-l-hero.overlay.json"+  ],+  "component": {+    "mpn": "SP485EEN-L",+    "manufacturer": "MaxLinear",+    "package": "SOIC-8",+    "pin_count": 8,+    "category": "Interface",+    "subcategory": "RS-485 / RS-422 ICs",+    "datasheet": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8579709487195668480",+    "parts": {+      "symbol": "sp485een-l.kicad_sym",+      "footprint": "sp485een-l.kicad_mod",+      "model_3d": "sp485een-l-hero.glb",+      "model_3d_plain": "sp485een-l.glb",+      "model_3d_step": "sp485een-l-etched.step",+      "model_3d_step_plain": "sp485een-l.step",+      "lbr": "sp485een-l.lbr"+    },+    "distributor_links": {+      "lcsc": "C6855",+      "digikey": "1016-1171-5-ND",+      "mouser": "701-SP485EEN-L"+    },+    "distributor_check": {+      "checked_at": "2026-10-08T17:05:31Z",+      "source": "Component Ocean /api/assign-pns",+      "digikey": {+        "pn": "1016-1171-5-ND",+        "status": "found"+      },+      "mouser": {+        "pn": "701-SP485EEN-L",+        "status": "found"+      }+    },+    "pins": [+      {+        "number": "1",+        "name": "RO",+        "type": "output",+        "description": "Receiver output: goes HIGH when A - B is at least +0.2 V, LOW when A - B is at most -0.2 V, and HIGH when the inputs are open (fail-safe)."+      },+      {+        "number": "2",+        "name": "RE",+        "type": "input",+        "description": "Receiver output enable, active LOW: a logic LOW enables the receiver and a logic HIGH disables it, with input thresholds of 2.0 V (min high) and 0.8 V (max low)."+      },+      {+        "number": "3",+        "name": "DE",+        "type": "input",+        "description": "Driver output enable, active HIGH: a logic HIGH enables the differential driver outputs and a logic LOW tri-states them, with input thresholds of 2.0 V (min high) and 0.8 V (max low)."+      },+      {+        "number": "4",+        "name": "DI",+        "type": "input",+        "description": "Driver input that sets the differential driver outputs A and B, with input thresholds of 2.0 V (min high) and 0.8 V (max low)."+      },+      {+        "number": "5",+        "name": "GND",+        "type": "power_in",+        "description": "Ground connection for the device."+      },+      {+        "number": "6",+        "name": "A",+        "type": "bidirectional",+        "description": "Non-inverting driver output and receiver input, with a receiver common-mode range of -7 V to +12 V."+      },+      {+        "number": "7",+        "name": "B",+        "type": "bidirectional",+        "description": "Inverting driver output and receiver input, with a receiver common-mode range of -7 V to +12 V."+      },+      {+        "number": "8",+        "name": "VCC",+        "type": "power_in",+        "description": "Positive supply; must be held between 4.75 V and 5.25 V."+      }+    ],+    "provenance": {+      "extractor": "extract_pins 0.3",+      "factory_chain": {+        "factory": "2.0.0",+        "extractor": "extract_pins 0.3",+        "primary_model": "claude-haiku-5-5",+        "primary_mode": "text",+        "consensus_model": "claude-sonnet-5-5",+        "consensus": "agreed",+        "guards": "pin_guards 0.1: passed",+        "guard_notes": [+          "extractor flagged: The ordering table (page 9) lists SP485EEN-L (-40°C to 85°C) as an 8-pin NSOIC part, so the pinout a; The datasheet does not state a pin type for each signal; the KiCad types above are inferred from the"+        ],+        "pages_sent": 9,+        "cost_usd": 0.0412,+        "at": "2026-10-08T17:04:58"+      },+      "datasheet": {+        "url": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8579709487195668480",+        "pages": 9,+        "sha256": "4a2a188692170b46",+        "source_tier": "lcsc"+      },+      "cad": "KiCad official (CC-BY-SA 4.0)",+      "pins": {+        "total": 8,+        "described": 8,+        "cites_pages": true,+        "refuses_to_fabricate": true+      }+    },+    "viewers": {+      "symbol": "viewers/symbol.html",+      "footprint": "viewers/footprint.html"+    },+    "models_3d": [+      {+        "file": "sp485een-l.step",+        "role": "plain",+        "up": "Z",+        "units": "mm",+        "origin": "footprint origin = pad-pattern centre",+        "seat": "z = 0",+        "extents_mm": [+          6.0,+          4.9,+          1.75+        ],+        "zmin_mm": -0.0,+        "centre_offset_mm": 0.0,+        "footprint_binding": "identity",+        "sha256": "07f46cff378d30e6c27dfd5a03092c795323f86d91c71fc7e743f4f418dc553a",+        "checked": "2026-10-08",+        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"+      },+      {+        "file": "sp485een-l-etched.step",+        "role": "eda",+        "up": "Z",+        "units": "mm",+        "origin": "footprint origin = pad-pattern centre",+        "seat": "z = 0",+        "extents_mm": [+          6.0,+          4.9,+          1.75+        ],+        "zmin_mm": -0.0,+        "centre_offset_mm": 0.0,+        "footprint_binding": "identity",+        "sha256": "c1ae898b8869bf5ea4b83f45af279cb7919456b59309b69f3be33bac057f250f",+        "checked": "2026-10-08",+        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"+      }+    ]+  }+}
page.json+66−40
@@ -4,12 +4,14 @@   "slug": "sp485een-l",   "title": "SP485EEN-L",   "brief": "MaxLinear RS-485 / RS-422 ICs, SOIC-8. Pinout extracted from the datasheet, KiCad symbol/footprint/3D.",-  "version": "0.2.0",+  "version": "0.3.0",   "license": "CC-BY-SA-4.0",   "tags": [     "component",     "interface",-    "sp485een-l"+    "sp485een-l",+    "factory-2.0.0",+    "extractor-text"   ],   "component": {     "mpn": "SP485EEN-L",@@ -18,74 +20,105 @@     "pin_count": 8,     "category": "Interface",     "subcategory": "RS-485 / RS-422 ICs",-    "datasheet": "docs/sp485een-l-datasheet.pdf",+    "datasheet": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8579709487195668480",     "parts": {       "symbol": "sp485een-l.kicad_sym",       "footprint": "sp485een-l.kicad_mod",-      "model_3d": "sp485een-l-etched.glb",+      "model_3d": "sp485een-l-hero.glb",       "model_3d_plain": "sp485een-l.glb",       "model_3d_step": "sp485een-l-etched.step",       "model_3d_step_plain": "sp485een-l.step",       "lbr": "sp485een-l.lbr"     },-    "distributor_links": {},+    "distributor_links": {+      "lcsc": "C6855",+      "digikey": "1016-1171-5-ND",+      "mouser": "701-SP485EEN-L"+    },+    "distributor_check": {+      "checked_at": "2026-10-08T17:05:31Z",+      "source": "Component Ocean /api/assign-pns",+      "digikey": {+        "pn": "1016-1171-5-ND",+        "status": "found"+      },+      "mouser": {+        "pn": "701-SP485EEN-L",+        "status": "found"+      }+    },     "pins": [       {         "number": "1",         "name": "RO",         "type": "output",-        "description": "Receiver output. Reflects the state of the differential receiver input (A-B): HIGH when A-B > +0.2V, LOW when A-B < -0.2V. High-impedance (tri-state) when RE is HIGH. Fail-safe HIGH when inputs are open."+        "description": "Receiver output: goes HIGH when A - B is at least +0.2 V, LOW when A - B is at most -0.2 V, and HIGH when the inputs are open (fail-safe)."       },       {         "number": "2",         "name": "RE",         "type": "input",-        "description": "Receiver output enable, active LOW. A logic LOW enables the receiver output RO; a logic HIGH tri-states RO. VIH ≥ 2.0V, VIL ≤ 0.8V."+        "description": "Receiver output enable, active LOW: a logic LOW enables the receiver and a logic HIGH disables it, with input thresholds of 2.0 V (min high) and 0.8 V (max low)."       },       {         "number": "3",         "name": "DE",         "type": "input",-        "description": "Driver output enable, active HIGH. A logic HIGH enables the differential driver outputs A and B; a logic LOW tri-states the driver outputs. VIH ≥ 2.0V, VIL ≤ 0.8V."+        "description": "Driver output enable, active HIGH: a logic HIGH enables the differential driver outputs and a logic LOW tri-states them, with input thresholds of 2.0 V (min high) and 0.8 V (max low)."       },       {         "number": "4",         "name": "DI",         "type": "input",-        "description": "Driver input. TTL/CMOS logic input driving the differential bus outputs when DE is HIGH: DI=HIGH drives A HIGH and B LOW; DI=LOW drives A LOW and B HIGH. VIH ≥ 2.0V, VIL ≤ 0.8V."+        "description": "Driver input that sets the differential driver outputs A and B, with input thresholds of 2.0 V (min high) and 0.8 V (max low)."       },       {         "number": "5",         "name": "GND",         "type": "power_in",-        "description": "Ground reference (0V) for the device."+        "description": "Ground connection for the device."       },       {         "number": "6",         "name": "A",         "type": "bidirectional",-        "description": "Non-inverting driver output / receiver input. Connects to the RS-485/RS-422 differential bus line A. Common-mode range -7V to +12V; withstands ±15kV HBM and ±15kV IEC61000-4-2 Air Discharge ESD."+        "description": "Non-inverting driver output and receiver input, with a receiver common-mode range of -7 V to +12 V."       },       {         "number": "7",         "name": "B",         "type": "bidirectional",-        "description": "Inverting driver output / receiver input. Connects to the RS-485/RS-422 differential bus line B. Common-mode range -7V to +12V; withstands ±15kV HBM and ±15kV IEC61000-4-2 Air Discharge ESD."+        "description": "Inverting driver output and receiver input, with a receiver common-mode range of -7 V to +12 V."       },       {         "number": "8",         "name": "VCC",         "type": "power_in",-        "description": "Positive supply voltage. Operating range 4.75V to 5.25V (5V nominal). Typical supply current 900µA (no load, driver enabled)."+        "description": "Positive supply; must be held between 4.75 V and 5.25 V."       }     ],     "provenance": {-      "extractor": "ds2sf",+      "extractor": "extract_pins 0.3",+      "factory_chain": {+        "factory": "2.0.0",+        "extractor": "extract_pins 0.3",+        "primary_model": "claude-haiku-5-5",+        "primary_mode": "text",+        "consensus_model": "claude-sonnet-5-5",+        "consensus": "agreed",+        "guards": "pin_guards 0.1: passed",+        "guard_notes": [+          "extractor flagged: The ordering table (page 9) lists SP485EEN-L (-40°C to 85°C) as an 8-pin NSOIC part, so the pinout a; The datasheet does not state a pin type for each signal; the KiCad types above are inferred from the"+        ],+        "pages_sent": 9,+        "cost_usd": 0.0412,+        "at": "2026-10-08T17:04:58"+      },       "datasheet": {-        "url": "docs/sp485een-l-datasheet.pdf",+        "url": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8579709487195668480",         "pages": 9,         "sha256": "4a2a188692170b46",-        "source_tier": "mfr"+        "source_tier": "lcsc"       },       "cad": "KiCad official (CC-BY-SA 4.0)",       "pins": {@@ -99,17 +132,6 @@       "symbol": "viewers/symbol.html",       "footprint": "viewers/footprint.html"     },-    "pin1": {-      "pad": "1",-      "at": [-        -2.475,-        -1.905-      ],-      "corner": "top-left",-      "source": "silk-marker",-      "derived_from": "SOIC-8_3.9x4.9mm_P1.27mm@sha256:074ecb2092b24fa4",-      "mark": "drawn"-    },     "models_3d": [       {         "file": "sp485een-l.step",@@ -119,15 +141,15 @@         "origin": "footprint origin = pad-pattern centre",         "seat": "z = 0",         "extents_mm": [-          6.0,+          6,           4.9,           1.75         ],-        "zmin_mm": -0.0,-        "centre_offset_mm": 0.0,+        "zmin_mm": 0,+        "centre_offset_mm": 0,         "footprint_binding": "identity",         "sha256": "07f46cff378d30e6c27dfd5a03092c795323f86d91c71fc7e743f4f418dc553a",-        "checked": "2026-10-07",+        "checked": "2026-10-08",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       },       {@@ -138,15 +160,15 @@         "origin": "footprint origin = pad-pattern centre",         "seat": "z = 0",         "extents_mm": [-          6.0,+          6,           4.9,           1.75         ],-        "zmin_mm": -0.0,-        "centre_offset_mm": 0.0,+        "zmin_mm": 0,+        "centre_offset_mm": 0,         "footprint_binding": "identity",-        "sha256": "8f898f3e0dcd3b39d02099a2a0e760b173e931edc2fcbc5829a19935ed7e82ac",-        "checked": "2026-10-07",+        "sha256": "c1ae898b8869bf5ea4b83f45af279cb7919456b59309b69f3be33bac057f250f",+        "checked": "2026-10-08",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       }     ]@@ -186,12 +208,13 @@     "sp485een-l.kicad_mod",     "sp485een-l.glb",     "sp485een-l.step",-    "sp485een-l-etched.step",     "sp485een-l.lbr",     "docs/hero.png",     "docs/sp485een-l-datasheet.pdf",     "viewers/symbol.html",-    "viewers/footprint.html"+    "viewers/footprint.html",+    "sp485een-l-hero.glb",+    "sp485een-l-hero.overlay.json"   ],   "variants": [     {@@ -223,5 +246,8 @@       "kind": "unknown"     }   ],-  "updated_at": "2026-09-25T07:59:54.149Z"-}+  "updated_at": "2026-09-25T07:59:54.149Z",+  "description": "MaxLinear RS-485 / RS-422 ICs, SOIC-8. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",+  "visibility": "public",+  "org": "adom"+}\ No newline at end of file
sp485een-l-hero.glbadded
⋯ 1 unchanged line ⋯
sp485een-l-hero.overlay.jsonadded+260
@@ -0,0 +1,260 @@+{+  "spec": "adom-hero 1.4",+  "mpn": "SP485EEN-L",+  "kind": "component + footprint reference art",+  "board_use": false,+  "plane_z_mm": -0.02,+  "units": "metre",+  "upAxis": "Z",+  "layers": {+    "pad_outlines": {+      "material": "Footprint pads - teal dashed outlines - 50 percent opacity",+      "rgba": [+        0.0,+        0.902,+        0.863,+        0.5+      ],+      "pads": 8,+      "span_mm": 6.9,+      "dash_mm": 0.1725,+      "gap_mm": 0.1035,+      "pad_stroke_mm": 0.0414+    },+    "silkscreen": {+      "material": "Silkscreen reference lines - 30 percent opacity",+      "rgba": [+        0.92,+        0.96,+        1.0,+        0.3+      ],+      "footprint_items": 7,+      "pin1": {+        "source": "footprint silkscreen",+        "pad": "1"+      }+    },+    "signal_names": {+      "material": "Signal names - 50 percent opacity",+      "rgba": [+        0.92,+        0.96,+        1.0,+        0.5+      ],+      "font": "DejaVu Sans Mono",+      "labels": 8,+      "sides": "top + mirrored underside (single-sided)",+      "fallback_to_pad_number": 0+    }+  },+  "align": {+    "ok": true,+    "centre_offset_mm": 0.0,+    "tolerance_mm": 0.552,+    "orientation_flipped": false,+    "contacts_bbox_mm": [+      -3.0,+      3.0,+      -2.11,+      2.11+    ],+    "pads_bbox_mm": [+      -3.45,+      3.45,+      -2.205,+      2.205+    ],+    "seating_z_mm": 0.0+  },+  "sources": {+    "glb": "sp485een-l.glb",+    "glb_sha256": "f10b15a10c98e84fd5223191d2bfb66554fa8950956609c321bb34628d5e18cd",+    "footprint": "sp485een-l.kicad_mod",+    "footprint_sha256": "074ecb2092b24fa4b4b9cdd7c926fc587b0d7d6d21e7341e57935fd42d36894f",+    "pins": "page.json component.pins",+    "pins_sha256": "6a2060ae722805924e3e54064810f90acdd713781efdcd980c2ae591f93833df"+  },+  "generator": "adom-wiki 1.7.69 (component_hero)",+  "labels": [+    {+      "pad": "1",+      "text": "RO",+      "x": -3.6,+      "y": -1.905,+      "align": "right",+      "vertical": false,+      "h": 0.6+    },+    {+      "pad": "2",+      "text": "RE",+      "x": -3.6,+      "y": -0.635,+      "align": "right",+      "vertical": false,+      "h": 0.6+    },+    {+      "pad": "3",+      "text": "DE",+      "x": -3.6,+      "y": 0.635,+      "align": "right",+      "vertical": false,+      "h": 0.6+    },+    {+      "pad": "4",+      "text": "DI",+      "x": -3.6,+      "y": 1.905,+      "align": "right",+      "vertical": false,+      "h": 0.6+    },+    {+      "pad": "5",+      "text": "GND",+      "x": 3.6,+      "y": 1.905,+      "align": "left",+      "vertical": false,+      "h": 0.6+    },+    {+      "pad": "6",+      "text": "A",+      "x": 3.6,+      "y": 0.635,+      "align": "left",+      "vertical": false,+      "h": 0.6+    },+    {+      "pad": "7",+      "text": "B",+      "x": 3.6,+      "y": -0.635,+      "align": "left",+      "vertical": false,+      "h": 0.6+    },+    {+      "pad": "8",+      "text": "VCC",+      "x": 3.6,+      "y": -1.905,+      "align": "left",+      "vertical": false,+      "h": 0.6+    }+  ],+  "pads": [+    {+      "number": "1",+      "shape": "roundrect",+      "center_mm": [+        -2.475,+        -1.905+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    },+    {+      "number": "2",+      "shape": "roundrect",+      "center_mm": [+        -2.475,+        -0.635+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    },+    {+      "number": "3",+      "shape": "roundrect",+      "center_mm": [+        -2.475,+        0.635+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    },+    {+      "number": "4",+      "shape": "roundrect",+      "center_mm": [+        -2.475,+        1.905+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    },+    {+      "number": "5",+      "shape": "roundrect",+      "center_mm": [+        2.475,+        1.905+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    },+    {+      "number": "6",+      "shape": "roundrect",+      "center_mm": [+        2.475,+        0.635+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    },+    {+      "number": "7",+      "shape": "roundrect",+      "center_mm": [+        2.475,+        -0.635+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    },+    {+      "number": "8",+      "shape": "roundrect",+      "center_mm": [+        2.475,+        -1.905+      ],+      "size_mm": [+        1.95,+        0.6+      ],+      "rot": 0.0+    }+  ]+}
sp485een-l.lbr+3−9
@@ -50,7 +50,7 @@ <layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/> </layers> <library>-<description>MaxLinear RS-485 / RS-422 ICs, SOIC-8</description>+<description></description> <packages> <package name="SOIC-8_3.9x4.9mm_P1.27mm">   <description>SOIC-8, 3.9 x 4.9 mm, 1.27 mm pitch</description>@@ -86,7 +86,6 @@ </packages> <symbols> <symbol name="SP485EEN-L">-  <description>MaxLinear RS-485 / RS-422 ICs, SOIC-8</description>   <wire x1="-12.7" y1="5.08" x2="12.7" y2="5.08" width="0.254" layer="94"/>   <wire x1="12.7" y1="5.08" x2="12.7" y2="-7.62" width="0.254" layer="94"/>   <wire x1="12.7" y1="-7.62" x2="-12.7" y2="-7.62" width="0.254" layer="94"/>@@ -105,7 +104,7 @@ </symbols> <devicesets> <deviceset name="SP485EEN-L" prefix="U">-  <description>MaxLinear RS-485 / RS-422 ICs, SOIC-8</description>+  <description></description>   <gates>     <gate name="G$1" symbol="SP485EEN-L" x="0" y="0"/>   </gates>@@ -121,12 +120,7 @@         <connect gate="G$1" pin="A" pad="6"/>         <connect gate="G$1" pin="GND" pad="5"/>       </connects>-      <technologies>-        <technology name="">-          <attribute name="MPN" value="SP485EEN-L" constant="no"/>-          <attribute name="MANUFACTURER" value="MaxLinear" constant="no"/>-        </technology>-      </technologies>+      <technologies><technology name=""/></technologies>     </device>   </devices> </deviceset>
viewers/footprint.html+1−65
@@ -1,65 +1 @@-<!doctype html><html lang=en><head><meta charset=utf-8>-<meta name=viewport content="width=device-width,initial-scale=1"><title>RAY/SP485EEN-L footprint</title>-<style>-:root{--bg:#0d1117;--panel:#161b22;--edge:#30363d;--ink:#e6edf3;--mut:#8b949e;--acc:#00b8b0;--accb:#00e6dc;--hi:#6ea8fe}-*{box-sizing:border-box;margin:0}html,body{height:100%}-body{background:var(--bg);color:var(--ink);font-family:'Satoshi',system-ui,sans-serif;display:flex;flex-direction:column}-.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--edge);flex:none}-.bar .h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:700}-.bar .sp{flex:1}-.lyrtog{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--mut);background:#1a2130;border:1px solid var(--edge);border-radius:999px;padding:3px 9px;cursor:pointer;user-select:none}-.lyrtog.on{color:var(--ink);border-color:#485162}.lyrtog:not(.on){opacity:.5}-.lyrtog .d{width:8px;height:8px;border-radius:50%;background:#485162}-.stage{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--bg);cursor:grab;touch-action:none}-.stage.drag{cursor:grabbing}-.stage svg{position:absolute;inset:0;width:100%;height:100%}-.pingroup,.pad{cursor:pointer}-.pingroup.hi .pinvis{stroke:var(--hi)!important;stroke-width:7}-rect.pad.hi{stroke:var(--hi);stroke-width:.15;paint-order:stroke}-.lyr-off{display:none}-#tip{position:fixed;z-index:99;pointer-events:none;display:none;max-width:250px;background:#0d1117;border:1px solid var(--acc);border-radius:8px;padding:7px 10px;box-shadow:0 8px 26px #000a}-#tip .tn{font:700 12px ui-monospace,monospace;color:var(--accb)}-#tip .tt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-top:1px}-#tip .td{font-size:11px;color:var(--ink);margin-top:5px;line-height:1.4}-</style></head><body>-<div class=bar><span class=h>PCB footprint</span><span class=sp></span><button class="lyrtog on" data-lyr="copper"><span class="d" style="background:#e35d5d"></span>Copper</button><button class="lyrtog on" data-lyr="silk"><span class="d" style="background:#e6edf3"></span>Silkscreen</button><button class="lyrtog" data-lyr="fab"><span class="d" style="background:#8b949e"></span>Fab</button><button class="lyrtog" data-lyr="courtyard"><span class="d" style="background:#bc8cff"></span>Courtyard</button></div>-<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-4.100 -3.100 8.200 6.200' style='width:100%;height:100%'><line class='ly-silk' x1='-2.060' y1='-2.560' x2='2.060' y2='-2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='-2.465' x2='-2.060' y2='-2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='2.560' x2='-2.060' y2='2.465' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='-2.560' x2='2.060' y2='-2.465' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='2.465' x2='2.060' y2='2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='2.560' x2='-2.060' y2='2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-3.700' y1='-2.460' x2='-2.200' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-3.700' y1='2.460' x2='-3.700' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-2.700' x2='2.200' y2='-2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-2.460' x2='-2.200' y2='-2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='2.460' x2='-3.700' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='2.700' x2='-2.200' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-2.700' x2='2.200' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-2.460' x2='3.700' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='2.460' x2='2.200' y2='2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='2.700' x2='-2.200' y2='2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='-2.460' x2='3.700' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='2.460' x2='2.200' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='RO' x='-3.450' y='-2.205' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-1.905' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>1</text><rect class='ly-copper pad' data-num='2' data-name='RE' x='-3.450' y='-0.935' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-0.635' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>2</text><rect class='ly-copper pad' data-num='3' data-name='DE' x='-3.450' y='0.335' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='0.635' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text><rect class='ly-copper pad' data-num='4' data-name='DI' x='-3.450' y='1.605' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='1.905' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text><rect class='ly-copper pad' data-num='5' data-name='GND' x='1.500' y='1.605' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='1.905' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>5</text><rect class='ly-copper pad' data-num='6' data-name='A' x='1.500' y='0.335' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='0.635' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>6</text><rect class='ly-copper pad' data-num='7' data-name='B' x='1.500' y='-0.935' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-0.635' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>7</text><rect class='ly-copper pad' data-num='8' data-name='VCC' x='1.500' y='-2.205' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-1.905' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>8</text><polygon class='ly-silk adom-pin1' points='-2.600,-2.470 -2.840,-2.800 -2.360,-2.800' fill='#d8b4fe' stroke='none'><title>pin 1</title></polygon></svg></div>-<div id=tip></div>-<script>-var KIND="footprint", MPN="RAY/SP485EEN-L", PINS=[{"desc":"","name":"RO","number":"1","type":""},{"desc":"","name":"RE","number":"2","type":""},{"desc":"","name":"DE","number":"3","type":""},{"desc":"","name":"DI","number":"4","type":""},{"desc":"","name":"VCC","number":"8","type":""},{"desc":"","name":"B","number":"7","type":""},{"desc":"","name":"A","number":"6","type":""},{"desc":"","name":"GND","number":"5","type":""}];-var byNum={}; PINS.forEach(function(p){byNum[String(p.number)]=p;});-var stage=document.getElementById('stage'), svg=stage.querySelector('svg'), tip=document.getElementById('tip');-// ---- pan/zoom -----var vb=(svg.getAttribute('viewBox')||'0 0 100 100').split(/\s+/).map(Number), base=vb.slice();-function setVB(){svg.setAttribute('viewBox',vb.join(' '));}-stage.addEventListener('wheel',function(e){e.preventDefault();var r=stage.getBoundingClientRect();var mx=(e.clientX-r.left)/r.width,my=(e.clientY-r.top)/r.height;var f=e.deltaY<0?0.88:1.14;var nw=vb[2]*f,nh=vb[3]*f;vb[0]+=(vb[2]-nw)*mx;vb[1]+=(vb[3]-nh)*my;vb[2]=nw;vb[3]=nh;setVB();},{passive:false});-var pan=null;-stage.addEventListener('pointerdown',function(e){pan={x:e.clientX,y:e.clientY};stage.classList.add('drag');stage.setPointerCapture(e.pointerId);});-stage.addEventListener('pointermove',function(e){if(!pan)return;var r=stage.getBoundingClientRect();vb[0]-=(e.clientX-pan.x)/r.width*vb[2];vb[1]-=(e.clientY-pan.y)/r.height*vb[3];pan={x:e.clientX,y:e.clientY};setVB();});-function endPan(){pan=null;stage.classList.remove('drag');}-stage.addEventListener('pointerup',endPan);stage.addEventListener('pointerleave',endPan);-stage.addEventListener('dblclick',function(){vb=base.slice();setVB();});-// ---- cross-highlight bus -----function els(n){return [].slice.call(document.querySelectorAll('[data-num="'+n+'"]'));}-function clearHi(){[].slice.call(document.querySelectorAll('.hi')).forEach(function(e){e.classList.remove('hi');});}-function hi(n){els(n).forEach(function(e){e.classList.add('hi');});}-function post(n){try{parent.postMessage({type:'lbr-hover',pin:n===null?null:String(n),mpn:MPN},'*');}catch(_){}}-function showTip(n,x,y){var p=byNum[String(n)];if(!p)return;tip.innerHTML='<span class=tn></span><div class=tt></div><div class=td></div>';tip.querySelector('.tn').textContent=n+'  '+(p.name||'');tip.querySelector('.tt').textContent=p.type||'';var d=p.desc||'';if(d)tip.querySelector('.td').textContent=d;else tip.querySelector('.td').style.display='none';tip.style.display='block';tip.style.left=(x+14)+'px';tip.style.top=(y+12)+'px';}-[].slice.call(document.querySelectorAll('.pingroup,.pad')).forEach(function(g){-  var n=g.getAttribute('data-num');-  g.addEventListener('mouseenter',function(e){clearHi();hi(n);post(n);showTip(n,e.clientX,e.clientY);});-  g.addEventListener('mousemove',function(e){tip.style.left=(e.clientX+14)+'px';tip.style.top=(e.clientY+12)+'px';});-  g.addEventListener('mouseleave',function(){clearHi();post(null);tip.style.display='none';});-});-window.addEventListener('message',function(e){var d=e.data||{};if(d.type!=='lbr-hover')return;clearHi();if(d.pin!=null)hi(d.pin);});-// ---- footprint layer toggles -----[].slice.call(document.querySelectorAll('.lyrtog')).forEach(function(b){-  function apply(on){[].slice.call(document.querySelectorAll('.ly-'+b.getAttribute('data-lyr'))).forEach(function(el){el.classList.toggle('lyr-off',!on);});}-  apply(b.classList.contains('on'));-  b.addEventListener('click',function(){apply(b.classList.toggle('on'));});-});-// ---- auto-grow the host readme iframe -----function ph(){var h=Math.max(360,Math.min(16000,document.body.scrollHeight||420));parent.postMessage({type:'readme-height',height:h},'*');}-window.addEventListener('load',ph);setTimeout(ph,300);-</script>-</body></html>+<!doctype html><title>sp485een-l</title>\ No newline at end of file
viewers/symbol.html+1−65
@@ -1,65 +1 @@-<!doctype html><html lang=en><head><meta charset=utf-8>-<meta name=viewport content="width=device-width,initial-scale=1"><title>RAY/SP485EEN-L symbol</title>-<style>-:root{--bg:#0d1117;--panel:#161b22;--edge:#30363d;--ink:#e6edf3;--mut:#8b949e;--acc:#00b8b0;--accb:#00e6dc;--hi:#6ea8fe}-*{box-sizing:border-box;margin:0}html,body{height:100%}-body{background:var(--bg);color:var(--ink);font-family:'Satoshi',system-ui,sans-serif;display:flex;flex-direction:column}-.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--edge);flex:none}-.bar .h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:700}-.bar .sp{flex:1}-.lyrtog{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--mut);background:#1a2130;border:1px solid var(--edge);border-radius:999px;padding:3px 9px;cursor:pointer;user-select:none}-.lyrtog.on{color:var(--ink);border-color:#485162}.lyrtog:not(.on){opacity:.5}-.lyrtog .d{width:8px;height:8px;border-radius:50%;background:#485162}-.stage{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--bg);cursor:grab;touch-action:none}-.stage.drag{cursor:grabbing}-.stage svg{position:absolute;inset:0;width:100%;height:100%}-.pingroup,.pad{cursor:pointer}-.pingroup.hi .pinvis{stroke:var(--hi)!important;stroke-width:7}-rect.pad.hi{stroke:var(--hi);stroke-width:.15;paint-order:stroke}-.lyr-off{display:none}-#tip{position:fixed;z-index:99;pointer-events:none;display:none;max-width:250px;background:#0d1117;border:1px solid var(--acc);border-radius:8px;padding:7px 10px;box-shadow:0 8px 26px #000a}-#tip .tn{font:700 12px ui-monospace,monospace;color:var(--accb)}-#tip .tt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-top:1px}-#tip .td{font-size:11px;color:var(--ink);margin-top:5px;line-height:1.4}-</style></head><body>-<div class=bar><span class=h>Schematic symbol</span><span class=sp></span></div>-<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-750 -300 1500 600' style='width:100%;height:100%'><rect x='-500.0' y='-250.0' width='1000.0' height='500.0' fill='#e35d5d22' stroke='#e35d5d' stroke-width='4'/><g class='pingroup' data-num='1' data-name='RO'><line class='pinvis' x1='-700.0' y1='-150.0' x2='-500.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-150.0' x2='-500.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>1</text><text x='-470.0' y='-150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RO</text><g class='pingroup' data-num='2' data-name='RE'><line class='pinvis' x1='-700.0' y1='-50.0' x2='-500.0' y2='-50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-50.0' x2='-500.0' y2='-50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-5.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>2</text><text x='-470.0' y='-50.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RE</text><g class='pingroup' data-num='3' data-name='DE'><line class='pinvis' x1='-700.0' y1='50.0' x2='-500.0' y2='50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='50.0' x2='-500.0' y2='50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='95.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>3</text><text x='-470.0' y='50.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DE</text><g class='pingroup' data-num='4' data-name='DI'><line class='pinvis' x1='-700.0' y1='150.0' x2='-500.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='150.0' x2='-500.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>4</text><text x='-470.0' y='150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DI</text><g class='pingroup' data-num='8' data-name='VCC'><line class='pinvis' x1='700.0' y1='-150.0' x2='500.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-150.0' x2='500.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>8</text><text x='470.0' y='-150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>VCC</text><g class='pingroup' data-num='7' data-name='B'><line class='pinvis' x1='700.0' y1='-50.0' x2='500.0' y2='-50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-50.0' x2='500.0' y2='-50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-95.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>7</text><text x='470.0' y='-50.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>B</text><g class='pingroup' data-num='6' data-name='A'><line class='pinvis' x1='700.0' y1='50.0' x2='500.0' y2='50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='50.0' x2='500.0' y2='50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='5.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>6</text><text x='470.0' y='50.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>A</text><g class='pingroup' data-num='5' data-name='GND'><line class='pinvis' x1='700.0' y1='150.0' x2='500.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='150.0' x2='500.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>5</text><text x='470.0' y='150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>GND</text></svg></div>-<div id=tip></div>-<script>-var KIND="symbol", MPN="RAY/SP485EEN-L", PINS=[{"desc":"","name":"RO","number":"1","type":""},{"desc":"","name":"RE","number":"2","type":""},{"desc":"","name":"DE","number":"3","type":""},{"desc":"","name":"DI","number":"4","type":""},{"desc":"","name":"VCC","number":"8","type":""},{"desc":"","name":"B","number":"7","type":""},{"desc":"","name":"A","number":"6","type":""},{"desc":"","name":"GND","number":"5","type":""}];-var byNum={}; PINS.forEach(function(p){byNum[String(p.number)]=p;});-var stage=document.getElementById('stage'), svg=stage.querySelector('svg'), tip=document.getElementById('tip');-// ---- pan/zoom -----var vb=(svg.getAttribute('viewBox')||'0 0 100 100').split(/\s+/).map(Number), base=vb.slice();-function setVB(){svg.setAttribute('viewBox',vb.join(' '));}-stage.addEventListener('wheel',function(e){e.preventDefault();var r=stage.getBoundingClientRect();var mx=(e.clientX-r.left)/r.width,my=(e.clientY-r.top)/r.height;var f=e.deltaY<0?0.88:1.14;var nw=vb[2]*f,nh=vb[3]*f;vb[0]+=(vb[2]-nw)*mx;vb[1]+=(vb[3]-nh)*my;vb[2]=nw;vb[3]=nh;setVB();},{passive:false});-var pan=null;-stage.addEventListener('pointerdown',function(e){pan={x:e.clientX,y:e.clientY};stage.classList.add('drag');stage.setPointerCapture(e.pointerId);});-stage.addEventListener('pointermove',function(e){if(!pan)return;var r=stage.getBoundingClientRect();vb[0]-=(e.clientX-pan.x)/r.width*vb[2];vb[1]-=(e.clientY-pan.y)/r.height*vb[3];pan={x:e.clientX,y:e.clientY};setVB();});-function endPan(){pan=null;stage.classList.remove('drag');}-stage.addEventListener('pointerup',endPan);stage.addEventListener('pointerleave',endPan);-stage.addEventListener('dblclick',function(){vb=base.slice();setVB();});-// ---- cross-highlight bus -----function els(n){return [].slice.call(document.querySelectorAll('[data-num="'+n+'"]'));}-function clearHi(){[].slice.call(document.querySelectorAll('.hi')).forEach(function(e){e.classList.remove('hi');});}-function hi(n){els(n).forEach(function(e){e.classList.add('hi');});}-function post(n){try{parent.postMessage({type:'lbr-hover',pin:n===null?null:String(n),mpn:MPN},'*');}catch(_){}}-function showTip(n,x,y){var p=byNum[String(n)];if(!p)return;tip.innerHTML='<span class=tn></span><div class=tt></div><div class=td></div>';tip.querySelector('.tn').textContent=n+'  '+(p.name||'');tip.querySelector('.tt').textContent=p.type||'';var d=p.desc||'';if(d)tip.querySelector('.td').textContent=d;else tip.querySelector('.td').style.display='none';tip.style.display='block';tip.style.left=(x+14)+'px';tip.style.top=(y+12)+'px';}-[].slice.call(document.querySelectorAll('.pingroup,.pad')).forEach(function(g){-  var n=g.getAttribute('data-num');-  g.addEventListener('mouseenter',function(e){clearHi();hi(n);post(n);showTip(n,e.clientX,e.clientY);});-  g.addEventListener('mousemove',function(e){tip.style.left=(e.clientX+14)+'px';tip.style.top=(e.clientY+12)+'px';});-  g.addEventListener('mouseleave',function(){clearHi();post(null);tip.style.display='none';});-});-window.addEventListener('message',function(e){var d=e.data||{};if(d.type!=='lbr-hover')return;clearHi();if(d.pin!=null)hi(d.pin);});-// ---- footprint layer toggles -----[].slice.call(document.querySelectorAll('.lyrtog')).forEach(function(b){-  function apply(on){[].slice.call(document.querySelectorAll('.ly-'+b.getAttribute('data-lyr'))).forEach(function(el){el.classList.toggle('lyr-off',!on);});}-  apply(b.classList.contains('on'));-  b.addEventListener('click',function(){apply(b.classList.toggle('on'));});-});-// ---- auto-grow the host readme iframe -----function ph(){var h=Math.max(360,Math.min(16000,document.body.scrollHeight||420));parent.postMessage({type:'readme-height',height:h},'*');}-window.addEventListener('load',ph);setTimeout(ph,300);-</script>-</body></html>+<!doctype html><title>sp485een-l</title>\ No newline at end of file