diff --git a/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-3d.snap.png b/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-3d.snap.png
index 63302e9..9890575 100644
Binary files a/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-3d.snap.png and b/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-3d.snap.png differ
diff --git a/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-pcb.snap.svg b/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-pcb.snap.svg
index 5a6c936..573a34c 100644
--- a/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-pcb.snap.svg
+++ b/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-pcb.snap.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-schematic.snap.svg b/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-schematic.snap.svg
index f8d90a9..0e0e3ea 100644
--- a/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-schematic.snap.svg
+++ b/examples/MicrocontrollerRP2040WithUsbC/__snapshots__/MicrocontrollerRP2040WithUsbC.circuit-schematic.snap.svg
@@ -9,7 +9,7 @@
.port-label { fill: rgb(0, 100, 100); }
.component-name { fill: rgb(0, 100, 100); }
- D_VBUSR_3V3_EN100kΩC_IOVDD1100nFC_IOVDD2100nFC_IOVDD3100nFC_IOVDD4100nFC_IOVDD5100nFC_IOVDD6100nFR_RUN10kΩC_FLASH100nFC_USB_VDD100nFC_ADC100nFTYPE_C_16PIN_2MD_073_J_USB13EH114EH215pin13_alt116pin14_alt117A1B1218A4B919B820A521B722A623A724B625A826B527B4A928B1A12RP2040U11IOVDD62GPIO03GPIO14GPIO25GPIO36GPIO47GPIO58GPIO69GPIO710IOVDD511GPIO812GPIO913GPIO1014GPIO1115GPIO1216GPIO1317GPIO1418GPIO1519TESTEN20XIN21XOUT22IOVDD423DVDD224SWCLK25SWD26RUN27GPIO1628GPIO1729GPIO1830GPIO1931GPIO2032GPIO2133IOVDD334GPIO2235GPIO2336GPIO2437GPIO2538GPIO26_ADC039GPIO27_ADC140GPIO28_ADC241GPIO29_ADC342IOVDD243ADC_AVDD44VREG_IN45VREG_VOUT46USB_DM47USB_DP48USB_VDD49IOVDD150DVDD151QSPI_SD352QSPI_SCLK53QSPI_SD054QSPI_SD255QSPI_SD156QSPI_SS57GND/thermalpadW25Q16JVUXIQU21CS234GND56CLK78VCC9EPAP2112K_3_3TRG1U31VIN2GND3EN4NC5VOUTY112MHz / 12pFSW_BOOTSW_RUNgreenD1greenD_PWRR_BOOT10kΩR_LED330ΩR_PWR_LED330ΩR_CC15.1kΩR_CC25.1kΩR_USB127ΩR_USB227ΩC_VBUS10uFC_3V310uFC_CORE1uFC_USB1uFC_XIN18pFC_XOUT18pFL_AVDD600MHTP_SWCLKTP_GNDTP_SWDIOTP_3V3VSYSVBUSVBUSVBUSVBUSD_VBUSR_3V3_EN100kΩC_IOVDD1100nFC_IOVDD2100nFC_IOVDD3100nFC_IOVDD4100nFC_IOVDD5100nFC_IOVDD6100nFR_RUN10kΩC_FLASH100nFC_USB_VDD100nFC_ADC100nFTYPE_C_16PIN_2MD_073_J_USB13EH114EH215pin13_alt116pin14_alt117A1B1218A4B919B820A521B722A623A724B625A826B527B4A928B1A12RP2040U11IOVDD62GPIO03GPIO14GPIO25GPIO36GPIO47GPIO58GPIO69GPIO710IOVDD511GPIO812GPIO913GPIO1014GPIO1115GPIO1216GPIO1317GPIO1418GPIO1519TESTEN20XIN21XOUT22IOVDD423DVDD224SWCLK25SWD26RUN27GPIO1628GPIO1729GPIO1830GPIO1931GPIO2032GPIO2133IOVDD334GPIO2235GPIO2336GPIO2437GPIO2538GPIO26_ADC039GPIO27_ADC140GPIO28_ADC241GPIO29_ADC342IOVDD243ADC_AVDD44VREG_IN45VREG_VOUT46USB_DM47USB_DP48USB_VDD49IOVDD150DVDD151QSPI_SD352QSPI_SCLK53QSPI_SD054QSPI_SD255QSPI_SD156QSPI_SS57GND/thermalpadW25Q16JVUXIQU21CS234GND56CLK78VCC9EPAP2112K_3_3TRG1U31VIN2GND3EN4NC5VOUTY112MHz / 12pFSW_BOOTSW_RUNgreenD1greenD_PWRR_BOOT10kΩR_LED330ΩR_PWR_LED330ΩR_CC15.1kΩR_CC25.1kΩR_USB127ΩR_USB227ΩC_VBUS10uFC_3V310uFC_CORE1uFC_USB1uFC_XIN18pFC_XOUT18pFL_AVDD600MHTP_SWCLKTP_GNDTP_SWDIOTP_3V3VSYSVBUSVBUSVBUSVBUS
D_VBUSR_3V3_ENC_IOVDD1C_IOVDD2C_IOVDD3C_IOVDD4C_IOVDD5C_IOVDD6R_RUNC_FLASHC_USB_VDDC_ADCJ_USBU1U2U3Y1SW_BOOTSW_RUNR_BOOTR_LEDR_PWR_LEDR_CC1R_CC2R_USB1R_USB2C_VBUSC_3V3C_COREC_USBC_XINC_XOUTL_AVDDTP_SWCLKTP_GNDTP_SWDIOTP_3V3BOOTRUNPWRUSB-C+-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/lib/Microcontroller_RP2040/__snapshots__/Microcontroller_RP2040.circuit-schematic.snap.svg b/lib/Microcontroller_RP2040/__snapshots__/Microcontroller_RP2040.circuit-schematic.snap.svg
index 1027ff7..1b14a14 100644
--- a/lib/Microcontroller_RP2040/__snapshots__/Microcontroller_RP2040.circuit-schematic.snap.svg
+++ b/lib/Microcontroller_RP2040/__snapshots__/Microcontroller_RP2040.circuit-schematic.snap.svg
@@ -9,7 +9,7 @@
.port-label { fill: rgb(0, 100, 100); }
.component-name { fill: rgb(0, 100, 100); }
- D_VBUSR_3V3_EN100kΩC_IOVDD1100nFC_IOVDD2100nFC_IOVDD3100nFC_IOVDD4100nFC_IOVDD5100nFC_IOVDD6100nFR_RUN10kΩC_FLASH100nFC_USB_VDD100nFC_ADC100nFTYPE_C_16PIN_2MD_073_J_USB13EH114EH215pin13_alt116pin14_alt117A1B1218A4B919B820A521B722A623A724B625A826B527B4A928B1A12RP2040U11IOVDD62GPIO03GPIO14GPIO25GPIO36GPIO47GPIO58GPIO69GPIO710IOVDD511GPIO812GPIO913GPIO1014GPIO1115GPIO1216GPIO1317GPIO1418GPIO1519TESTEN20XIN21XOUT22IOVDD423DVDD224SWCLK25SWD26RUN27GPIO1628GPIO1729GPIO1830GPIO1931GPIO2032GPIO2133IOVDD334GPIO2235GPIO2336GPIO2437GPIO2538GPIO26_ADC039GPIO27_ADC140GPIO28_ADC241GPIO29_ADC342IOVDD243ADC_AVDD44VREG_IN45VREG_VOUT46USB_DM47USB_DP48USB_VDD49IOVDD150DVDD151QSPI_SD352QSPI_SCLK53QSPI_SD054QSPI_SD255QSPI_SD156QSPI_SS57GND/thermalpadW25Q16JVUXIQU21CS234GND56CLK78VCC9EPAP2112K_3_3TRG1U31VIN2GND3EN4NC5VOUTY112MHz / 12pFSW_BOOTSW_RUNgreenD1greenD_PWRR_BOOT10kΩR_LED330ΩR_PWR_LED330ΩR_CC15.1kΩR_CC25.1kΩR_USB127ΩR_USB227ΩC_VBUS10uFC_3V310uFC_CORE1uFC_USB1uFC_XIN18pFC_XOUT18pFL_AVDD600MHTP_SWCLKTP_GNDTP_SWDIOTP_3V3VSYSVBUSVBUSVBUSVBUSD_VBUSR_3V3_EN100kΩC_IOVDD1100nFC_IOVDD2100nFC_IOVDD3100nFC_IOVDD4100nFC_IOVDD5100nFC_IOVDD6100nFR_RUN10kΩC_FLASH100nFC_USB_VDD100nFC_ADC100nFTYPE_C_16PIN_2MD_073_J_USB13EH114EH215pin13_alt116pin14_alt117A1B1218A4B919B820A521B722A623A724B625A826B527B4A928B1A12RP2040U11IOVDD62GPIO03GPIO14GPIO25GPIO36GPIO47GPIO58GPIO69GPIO710IOVDD511GPIO812GPIO913GPIO1014GPIO1115GPIO1216GPIO1317GPIO1418GPIO1519TESTEN20XIN21XOUT22IOVDD423DVDD224SWCLK25SWD26RUN27GPIO1628GPIO1729GPIO1830GPIO1931GPIO2032GPIO2133IOVDD334GPIO2235GPIO2336GPIO2437GPIO2538GPIO26_ADC039GPIO27_ADC140GPIO28_ADC241GPIO29_ADC342IOVDD243ADC_AVDD44VREG_IN45VREG_VOUT46USB_DM47USB_DP48USB_VDD49IOVDD150DVDD151QSPI_SD352QSPI_SCLK53QSPI_SD054QSPI_SD255QSPI_SD156QSPI_SS57GND/thermalpadW25Q16JVUXIQU21CS234GND56CLK78VCC9EPAP2112K_3_3TRG1U31VIN2GND3EN4NC5VOUTY112MHz / 12pFSW_BOOTSW_RUNgreenD1greenD_PWRR_BOOT10kΩR_LED330ΩR_PWR_LED330ΩR_CC15.1kΩR_CC25.1kΩR_USB127ΩR_USB227ΩC_VBUS10uFC_3V310uFC_CORE1uFC_USB1uFC_XIN18pFC_XOUT18pFL_AVDD600MHTP_SWCLKTP_GNDTP_SWDIOTP_3V3VSYSVBUSVBUSVBUSVBUS {
const { name = "LED1", ...restProps } = props
return (
- {/*
- The XINGLIGHT datasheet numbers cathode as pad 1 and anode as
- pad 2, opposite tscircuit's generic LED source-pin numbering.
- Keep the standard schematic symbol semantics and swap only the
- physical pad-to-source-port mapping here.
- */}
-
-
-
-
- }
+ footprint="res_p1.498mm_pw0.8mm_ph0.8mm"
cadModel={{
objUrl:
"https://modelcdn.tscircuit.com/easyeda_models/assets/C965799.obj?uuid=d0740cb8891c49a88b6949cb978926f3",
diff --git a/tests/test.test.tsx b/tests/test.test.tsx
index 6747a7b..6726ca4 100644
--- a/tests/test.test.tsx
+++ b/tests/test.test.tsx
@@ -459,13 +459,13 @@ test("Microcontroller_RP2040 renders its complete support circuit", async () =>
.sort((a, b) => (a.pin_number ?? 0) - (b.pin_number ?? 0))
expect(ledPorts[0].pin_number).toBe(1)
- expect(ledPorts[0].port_hints).toContain("anode")
- expect(ledPorts[0].port_hints).toContain("pos")
- expect(ledPorts[0].port_hints).not.toContain("cathode")
+ expect(ledPorts[0].port_hints).toContain("cathode")
+ expect(ledPorts[0].port_hints).toContain("neg")
+ expect(ledPorts[0].port_hints).not.toContain("anode")
expect(ledPorts[1].pin_number).toBe(2)
- expect(ledPorts[1].port_hints).toContain("cathode")
- expect(ledPorts[1].port_hints).toContain("neg")
- expect(ledPorts[1].port_hints).not.toContain("anode")
+ expect(ledPorts[1].port_hints).toContain("anode")
+ expect(ledPorts[1].port_hints).toContain("pos")
+ expect(ledPorts[1].port_hints).not.toContain("cathode")
const pcbComponent = circuit.db.pcb_component.getWhere({
source_component_id: ledComponent.source_component_id,
@@ -473,23 +473,21 @@ test("Microcontroller_RP2040 renders its complete support circuit", async () =>
const pcbPads = circuit.db.pcb_smtpad.list({
pcb_component_id: pcbComponent.pcb_component_id,
})
- const cathodePad = pcbPads.find((pad) =>
- pad.port_hints?.includes("cathode"),
+ const cathodePcbPort = circuit.db.pcb_port.getWhere({
+ source_port_id: ledPorts[0].source_port_id,
+ })!
+ const anodePcbPort = circuit.db.pcb_port.getWhere({
+ source_port_id: ledPorts[1].source_port_id,
+ })!
+ const cathodePad = pcbPads.find(
+ (pad) => pad.pcb_port_id === cathodePcbPort.pcb_port_id,
)!
- const anodePad = pcbPads.find((pad) => pad.port_hints?.includes("anode"))!
-
- expect(cathodePad.port_hints).toContain("pin2")
- expect(anodePad.port_hints).toContain("pin1")
- expect(cathodePad.pcb_port_id).toBe(
- circuit.db.pcb_port.getWhere({
- source_port_id: ledPorts[1].source_port_id,
- })!.pcb_port_id,
- )
- expect(anodePad.pcb_port_id).toBe(
- circuit.db.pcb_port.getWhere({
- source_port_id: ledPorts[0].source_port_id,
- })!.pcb_port_id,
- )
+ const anodePad = pcbPads.find(
+ (pad) => pad.pcb_port_id === anodePcbPort.pcb_port_id,
+ )!
+
+ expect(cathodePad.port_hints).toContain("1")
+ expect(anodePad.port_hints).toContain("2")
}
expect(
circuitJson.filter((element) => element.type.endsWith("_error")),