Compare commits

..

36 commits

Author SHA1 Message Date
Wojciech Kaczmarski
ede647d8a1 added GND vias
- updated PDF render
2025-07-28 16:25:31 +03:00
Vlastimil Slinták
617b2f8dea Fixed board edge and position of 3.5 mm jack
The 3.5 mm jack footprint from the standard KiCAD library had to be
modified. The PCB edge was moved 0.85 mm outward to match the C62
connector and PCB layout.
2025-07-28 15:01:55 +02:00
Vlastimil Slinták
0fb8105e8f Fixed PCB-edge/component clearance
Some components were too close to the PCB edge where aluminum heat-sink
is located.
2025-07-28 14:18:42 +02:00
Vlastimil Slinták
18a4669905 Added more GND vias 2025-07-28 13:03:59 +02:00
Vlastimil Slinták
c512de5327 Added thermal relieves for GND on the THT components
* USB connector
* Volume pot
* 2.5 mm jack
2025-07-28 13:01:23 +02:00
Vlastimil Slinták
f3bbd66b32 Fixed resistor R48 symbol to "small" version
To keep resistor symbols consistent on the page.
2025-07-28 12:57:04 +02:00
Vlastimil Slinták
e5cc15379f Fixed text about the "mounting holes" 2025-07-28 12:55:35 +02:00
Vlastimil Slinták
3085ffed1b Swapped signal names RF_IN and RF_OUT 2025-07-28 12:52:30 +02:00
Vlastimil Slinták
dbb4c2f84d Completed PCB layout
* DRC without warnings or errors.
* All traces connected.
2025-07-28 10:45:15 +02:00
Vlastimil Slinták
d5c2138aa9 Changed MCLK audio signal for the 12.288 MHz oscillator 2025-07-27 20:38:41 +02:00
Vlastimil Slinták
60a6897928 Added series resistors to the DEBUG_DEV_* signals 2025-07-27 16:01:33 +02:00
Vlastimil Slinták
208d591c06 Fixed footprint of the battery connector
Mounting holes were inside copper pad.
2025-07-27 16:01:30 +02:00
Vlastimil Slinták
2748ca3e79 Added DRC exclusions and modified constrains 2025-07-27 16:01:27 +02:00
Vlastimil Slinták
25fd1dbf6b Removed copper rectangle from the SMA footprint 2025-07-27 14:48:22 +02:00
Vlastimil Slinták
2b92e0630f Fixed footprint of the MCM-iMX93
The pads had "paste" enabled but with negative offset making the paste
layer zero size. Real "paste" was defined as a custom polygon.

This commit fixes issues, leaving paste layer as per manufacturer's
specification.
2025-07-27 14:48:19 +02:00
Vlastimil Slinták
4486060207 Fixed project constrains 2025-07-27 14:48:15 +02:00
Vlastimil Slinták
1b4f01f643 Fixed pinout of the Kenwood connector and added RX/TX for debug 2025-07-27 14:48:03 +02:00
Vlastimil Slinták
01788e135a Changed keyboard tracks to narrower netclass for easier layout 2025-07-27 13:18:26 +02:00
Vlastimil Slinták
cde5906146 Connected battery voltage to the SoM ADC input 2025-07-27 13:18:23 +02:00
Vlastimil Slinták
aaddc26a66 Removed two bottom mounting holes 2025-07-27 13:18:19 +02:00
Wojciech Kaczmarski
b5e0472232 tiny changes
- rearranged the `SWITCH_ON_OFF` connection on the root page slightly
- updated the date
- updated PDF render
2025-07-27 13:18:14 +02:00
Vlastimil Slinták
9c84da9c5d Changed resistor value for the volume to 15 kΩ 2025-07-25 23:00:56 +02:00
Vlastimil Slinták
60d3c486a2 Changed LED power from 5V to 3.3 V and fixed their resistor values 2025-07-25 17:13:08 +02:00
Vlastimil Slinták
2e4c51446d Assigned RF_SW_CTRL signal to the pin 104 on SoM 2025-07-25 15:46:11 +02:00
Vlastimil Slinták
4f32e46534 Swapped RF inputs of the BGS12P2L6 for better PCB routing 2025-07-25 15:46:07 +02:00
Vlastimil Slinták
263a8eb3ec Fixed 3D model path of the QFN50P500 footprint 2025-07-24 15:52:39 +02:00
Vlastimil Slinták
0346643fbd Changed footprint of the C16 capacitor from 1206 to 0402 2025-07-24 15:52:11 +02:00
Vlastimil Slinták
acea0becbf Added USB netclass to the USB traces near SoM 2025-07-24 15:51:39 +02:00
Vlastimil Slinták
27d041e961 Fixed minor schematic issues 2025-07-24 15:50:56 +02:00
Vlastimil Slinták
2ca84fc714 Fixed value of the C39 capacitor to 10u from 100n 2025-07-24 15:49:15 +02:00
Vlastimil Slinták
4ee92867ba Changed R1-R4 footprints from 0603 to 0402
Original footprint was a mistake.
2025-07-24 10:07:51 +02:00
Vlastimil Slinták
eee650e197 Fixed majority of ERC warnings and errors 2025-07-24 09:50:35 +02:00
Vlastimil Slinták
150fefc463 Fixed MCM-iMX93 symbol, added pads G25-G28 2025-07-24 09:17:13 +02:00
Vlastimil Slinták
7c3232996a Added silkscreen and courtyard to the TSLP footprint 2025-07-24 09:12:32 +02:00
Vlastimil Slinták
23500908d9 Assigned missing footprints 2025-07-24 09:11:57 +02:00
Vlastimil Slinták
546f37411e Connected display pins 6-12 and 14 to the GND
Based on the original Retevis C62 PCB, these pins are grounded.
2025-07-23 12:13:48 +02:00
49 changed files with 48733 additions and 165531 deletions

View file

@ -1,62 +0,0 @@
name: CI
on:
push:
branches: [ main ]
jobs:
build-web:
runs-on: ubuntu-latest
container:
image: ghcr.io/slintak/kicad-builder:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Everything
run: make
- name: Upload Fabrication Files
uses: actions/upload-artifact@v4
with:
name: build-fabrication
path: build/web/files/
if-no-files-found: error
- name: Upload Web Files
uses: actions/upload-artifact@v4
with:
name: build-web
path: build/web/
if-no-files-found: error
# Deploy job
deploy:
# Add a dependency to the build job
needs: [build-web]
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Get Web Files
uses: actions/download-artifact@v4
with:
name: build-web
path: build/
- name: Upload Pages Artifact
uses: actions/upload-pages-artifact@v3
with:
path: build/
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

3
.gitignore vendored
View file

@ -29,6 +29,3 @@ fp-info-cache
# Exported BOM files # Exported BOM files
*.xml *.xml
#*.csv #*.csv
# Build directory
build/

1
CNAME
View file

@ -1 +0,0 @@
linht-radio.eu

View file

@ -1,89 +0,0 @@
.PHONY: all clean
BOARD = linht-hw
FABHOUSES = jlcpcb pcbway
# Markdown processing
MARKDOWN_SRC := $(wildcard *.md)
MARKDOWN_HTML := $(patsubst %.md, build/%.html, $(MARKDOWN_SRC))
MARKDOWN_EXT := tables fenced_code codehilite attr_list def_list admonition toc
MARKDOWN_ARGS := $(foreach e,$(MARKDOWN_EXT),-x $(e))
# Copy templates
TEMPLATE_SRC_DIR := present/template
TEMPLATE_BUILD_DIR := build
TEMPLATE_OUTPUT_DIR := build/web
TEMPLATE_RENDER_DIR := $(TEMPLATE_OUTPUT_DIR)/imgs
TEMPLATE_FAB_DIR := $(TEMPLATE_OUTPUT_DIR)/files
TEMPLATE_J2 := $(wildcard $(TEMPLATE_SRC_DIR)/*.html.j2)
TEMPLATE_JSON := $(wildcard $(TEMPLATE_SRC_DIR)/*.json)
COPIED_J2 := $(patsubst $(TEMPLATE_SRC_DIR)/%, $(TEMPLATE_BUILD_DIR)/%, $(TEMPLATE_J2))
COPIED_JSON := $(patsubst $(TEMPLATE_SRC_DIR)/%, $(TEMPLATE_BUILD_DIR)/%, $(TEMPLATE_JSON))
RENDERED_HTML := $(patsubst build/%.html.j2, build/web/%.html, $(COPIED_J2))
RENDER_ARGS := --preset follow_pcb_editor --background transparent --quality high -w 1440 -h 1080
STATIC_DIRS := $(shell find present/template -mindepth 1 -maxdepth 1 -type d)
GERBER_ZIPS = $(foreach fab,$(FABHOUSES),$(TEMPLATE_FAB_DIR)/gerbers_$(fab).zip)
all: render models fabrication web
web: $(MARKDOWN_HTML) $(COPIED_J2) $(COPIED_JSON) $(RENDERED_HTML)
fabrication: $(TEMPLATE_BUILD_DIR)/panel/$(BOARD)_panel.kicad_pcb $(BOARD).kicad_sch $(GERBER_ZIPS)
@mkdir -p $(TEMPLATE_FAB_DIR)
kicad-cli sch export pdf $(word 2,$^) -o $(TEMPLATE_FAB_DIR)/$(BOARD)_schematic.pdf
kicad-cli sch export pdf -b -n -o $(TEMPLATE_FAB_DIR)/$(BOARD)_schematic_bw.pdf $(word 2,$^)
kicad-cli sch export python-bom $(word 2,$^) -o $(TEMPLATE_FAB_DIR)/$(BOARD)_bom.xml
xsltproc -o $(TEMPLATE_FAB_DIR)/$(BOARD)_bom.csv present/bom2grouped_csv_jlcpcb.xsl $(TEMPLATE_FAB_DIR)/$(BOARD)_bom.xml
#
kicad-cli pcb export pos $< --side both --format csv --units mm -o $(TEMPLATE_FAB_DIR)/$(BOARD)_pos.csv
kicad-cli pcb export pos $< --side both --format ascii --units mm -o $(TEMPLATE_FAB_DIR)/$(BOARD)_pos.txt
sed -e '1 s/Ref/Designator/' -e '1 s/PosX/Mid X/' -e '1 s/PosY/Mid Y/' -e '1 s/Rot/Rotation/' -e '1 s/Side/Layer/' $(TEMPLATE_FAB_DIR)/$(BOARD)_pos.csv > $(TEMPLATE_FAB_DIR)/$(BOARD)_pos_jlcpcb.csv
models: $(BOARD).kicad_pcb
kicad-cli pcb export step --subst-models $< -o $(TEMPLATE_FAB_DIR)/$(BOARD)_model.step ; \
rc=$$?; if [ $$rc -ne 0 ] && [ $$rc -ne 2 ]; then exit $$rc; fi
kicad-cli pcb export vrml $< -o $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml
@gzip -c $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml > $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml.gz
@xz -f $(TEMPLATE_FAB_DIR)/$(BOARD)_model.step
@xz -f $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml
@touch $(TEMPLATE_FAB_DIR)
render: $(BOARD).kicad_pcb
@mkdir -p $(TEMPLATE_RENDER_DIR)
kicad-cli pcb render $(RENDER_ARGS) --side top -o $(TEMPLATE_RENDER_DIR)/$(BOARD)-front.png $^
kicad-cli pcb render $(RENDER_ARGS) --side bottom -o $(TEMPLATE_RENDER_DIR)/$(BOARD)-back.png $^
kicad-cli pcb render $(RENDER_ARGS) --side top --rotate "315,0,315" -o $(TEMPLATE_RENDER_DIR)/$(BOARD)-preview.png $^
$(TEMPLATE_FAB_DIR)/gerbers_%.zip: $(TEMPLATE_BUILD_DIR)/panel/$(BOARD)_panel.kicad_pcb
@mkdir -p $(TEMPLATE_FAB_DIR)
kikit fab $* --no-drc $< $(TEMPLATE_BUILD_DIR)/fab_$*
@cp $(TEMPLATE_BUILD_DIR)/fab_$*/gerbers.zip $@
$(TEMPLATE_BUILD_DIR)/panel/$(BOARD)_panel.kicad_pcb: $(BOARD).kicad_pcb
@mkdir -p $(TEMPLATE_BUILD_DIR)/panel
kikit panelize -p ./panel.json $< $@
# Convert .md → build/.html using python-markdown
build/%.html: %.md
@mkdir -p build
python3 -m markdown $(MARKDOWN_ARGS) $< > $@
build/%.html.j2: present/template/%.html.j2
@mkdir -p build
@cp $< $@
build/%.json: present/template/%.json
@cp $< $@
build/web/%.html: build/%.html.j2 build/%.json build/README.html
@mkdir -p build/web
@rsync -a $(STATIC_DIRS) build/web/
JINJA2_PATH=build jinja2 --format=json -D datetime="$$(date '+%Y-%m-%d %H:%M UTC')" $< build/$*.json -o $@
clean:
rm -rf build

340
README.md
View file

@ -1,332 +1,42 @@
# LinHT-hw
**Open-source, Linux-based, SDR handheld transceiver**
[![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa] [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
![GitHub Actions](https://github.com/M17-Project/LinHT-hw/actions/workflows/main.yml/badge.svg)
[![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://m17-project.github.io/LinHT-hw/)
![Status](https://img.shields.io/badge/status-active%20development-orange)
## What is LinHT? # LinHT-hw
Open-source hardware, Linux-based, SDR handheld transceiver. [OpenHT](https://github.com/M17-Project/OpenHT-hw) successor with greatly simplified hardware - no FPGAs involved.
This project offers a replacement board for the Retevis C62 radio, greatly expanding its capabilities.
**LinHT** is an open-source handheld **software-defined radio (SDR) transceiver** ## Hardware
built around a modern Linux System-on-Module and a true IQ RF front-end. The device uses an [MCM-iMX93](https://www.compulab.com/products/computer-on-modules/mcm-imx93-nxp-i-mx-93-som-smd-system-on-module) System on Module (SoM) running Linux. The RF front-end is based on the [Semtech SX1255](https://www.semtech.com/products/wireless-rf/lora-core/sx1255). The chip is used as a complete IQ modulator/demodulator, allowing for true all-mode support.
It is the **successor of the OpenHT project**, with focus on: ### Resources
**CPU:**
- Dual-core ARM Cortex-A55 @ 1.7GHz
- ARM Cortex-M33 coprocessor @ 250MHz
- Floating Point Unit
- ARM Ethos U-65 microNPU (Neural Processing Unit with Tensor Flow Lite support)
* simpler and more maintainable hardware, **Memory:**
* no FPGA in the signal path, - 2GB LPDDR4
* tight integration with Linux, GNU Radio, and modern SDR tooling, - 64GB eMMC
* long-term openness and hackability.
LinHT is developed by members of the [**M17 community**](https://m17project.org) and is intended primarily **RF:**
for **radio amateurs, SDR experimenters, and developers**. - 500kHz bandwidth complete IQ transceiver
This repository contains the **hardware design files** for LinHT. ## Software
Developers can use C/C++/Python as well as (or in conjunction with) GNU Radio flowgraphs. Tools such as gcc are built-in. The Linux image will be published later.
> ⚠️ **Important**<br> ### Supported modes (so far):
> LinHT is **not a consumer product** yet.<br> * M17 - transmission and reception,
> It is an experimental, community-driven open hardware project. * TETRA - reception only,
* Demo 64QAM transmission at 2Mbps
## Key ideas behind LinHT Other modes can be added later (analog FM/AM/SSB, FreeDV, APRS, etc.).
* **True SDR**: IQ baseband access, not FM-only
* **Linux-first**: no microcontroller firmware lock-in
* **No FPGA**: easier development, lower entry barrier
* **Open everything**: hardware, software, toolchains
* **Hackable handheld**: not just another black box walkie-talkie
## Hardware overview
LinHT is built around a Linux SoM and a wideband IQ transceiver.
* **System on Module:** [CompuLab MCM-iMX93](https://www.compulab.com/products/computer-on-modules/mcm-imx93-nxp-i-mx-93-som-smd-system-on-module)
* **RF front-end:** [Semtech SX1255](https://www.semtech.com/products/wireless-rf/lora-core/sx1255)
**CPU**
* Dual-core ARM Cortex-A55 @ 1.7 GHz
* ARM Cortex-M33 coprocessor @ 250 MHz
* Floating-Point Unit
* ARM Ethos-U65 microNPU (TensorFlow Lite support)
**Memory**
* 2 GB LPDDR4
* 32 GB eMMC
### RF capabilities (revision B target)
| Parameter | Value |
| --------------- | ------------------------------------------------------------- |
| Frequency range | **UHF band** (exact limits depend on PA/filter configuration) |
| Bandwidth | up to **500 kHz IQ** |
| Architecture | Direct IQ (complex baseband) |
| TX power | up to **~5 W** (revision B, internal PA) |
| RX features | Programmable attenuation, gain control |
| Modes | FM, SSB, M17, experimental digital modes |
> 📌 **UHF only!**<br>
> VHF support is frequently requested, but **is not planned for revision B**.
> The current priority is **stability, manufacturability, and software maturity**.
## Software overview
LinHT runs a **custom Yocto-based Linux distribution** designed for SDR and
embedded radio use.
### Supported development models
* C / C++
* Python
* GNU Radio flowgraphs
* SoapySDR
* Custom DSP pipelines
Standard Linux tools (gcc, gdb, strace, etc.) are available directly on the device.
### Supported modes (current status)
* ✅ FM (TX/RX) with pre-/de-emphasis and CTCSS
* ✅ SSB (TX/RX)
* ✅ **M17** (TX/RX)
* ✅ TETRA (RX only)
* 🧪 Experimental 64-QAM @ 2 Mbps
* ⏳ Planned / possible: FreeDV, APRS, packet radio, custom modulations
## Hardware revisions
LinHT is developed iteratively. Each revision serves a specific purpose.
| Revision | Status | Purpose |
| ---------- | --------------------------------------------- | -------------------------------------------- |
| **Rev. A** | <span style="color:green">Completed</span> | Early prototype, architecture validation |
| **Rev. B** | <span style="color:orange">In progress</span> | Feature-complete, manufacturing-ready design |
### Revision A
* Manufactured earlier in 2025
* **4 assembled prototype units**
* Used to:
* validate the Linux + SDR architecture,
* bring up SX1255 under Linux,
* start software and DSP development,
* identify mechanical, RF, and power issues
* Revision A was **never intended for production**.
### Revision B (current focus)
* Incorporates lessons learned from Rev. A
* Major improvements:
* redesigned power supply
* internal PA (~5 W)
* improved RF path and attenuation for RX
* cleaner layout and grounding
* **Not yet released for manufacturing**
> 📅 **February 2026 status**<br>
> A test batch of Revision B PCBs is currently being assembled.<br>
> Please check this page later for updates.
## Repository contents
This repository contains:
* KiCad 9.0 project files
* Schematics
* PCB layout
* Manufacturing outputs (generated automatically)
Gerbers, BOM, pick-and-place files, and schematics are:
* generated automatically via **GitHub Actions**
* published on [**GitHub Pages**](https://m17-project.github.io/LinHT-hw/)
## Required hardware (donor radio)
LinHT is designed as a **replacement mainboard** for the
**Retevis C62 handheld radio**. You will need:
* a Retevis C62 (donor device)
* its:
* enclosure
* display
* keypad
* battery
* connectors
More details (Rev. A focused, older but useful): [LinHT Open SDR Handheld For Radio Amateurs](https://uart.cz/2811/linht-open-sdr-handheld-for-radio-amateurs/)
## Firmware images
Prebuilt Linux images for LinHT are available here:
[https://m17project.org/linht/](https://m17project.org/linht/)
Documentation:
* [https://wiki.m17foundation.org/index.php?title=LinHT_Image_Build](https://wiki.m17foundation.org/index.php?title=LinHT_Image_Build)
Yocto layers:
* [meta-linht-hardware](https://github.com/M17-Project/meta-linht-hardware)
* [meta-linht-software](https://github.com/M17-Project/meta-linht-software)
* [meta-linht-sdr](https://github.com/M17-Project/meta-linht-sdr)
## Flashing the device
Flashing is done using **NXP Universal Update Utility (uuu)**.
1. Boot LinHT into flash mode
(hold the secondary side button while powering on)
2. Flash using:
```bash
uuu -v -b emmc_all imx-boot-mcm-imx93-sd.bin-flash_singleboot linht-image-mcm-imx93.rootfs.wic.zst
```
Tool download: [mfgtools](https://github.com/nxp-imx/mfgtools/releases)
To access LinHTs USB network device on Windows, install the **RNDIS driver**: [microsoft.com USB RNDIS Gadget](https://www.catalog.update.microsoft.com/Search.aspx?q=USB%20RNDIS%20Gadget)
## Documentation & Wiki
Primary documentation lives on the **M17 Wiki**:
* [LinHT overview](https://wiki.m17foundation.org/index.php?title=LinHT)
* [Image build instructions](https://wiki.m17foundation.org/index.php?title=LinHT_Image_Build)
* [Image usage & manual](https://wiki.m17foundation.org/index.php?title=LinHT_Image_Manual)
## Contributing
LinHT is a **community project** and contributions are welcome. The best way to
get involved is [**joining the M17 Discord**](https://discord.gg/4brEP8wwVp), look for channel: **#linht**.
This is the preferred place to:
* discuss ideas,
* coordinate work,
* ask questions,
* avoid duplicated effort.
Other ways to contribute:
* Open issues in this repository (design notes, questions, suggestions)
* Help on the **software side** (especially welcome):
* Yocto recipes
* device tree improvements
* CI / GitHub Actions
* build automation
* Explore and extend [LinHT-utils](https://github.com/M17-Project/LinHT-utils)
If youre an experienced **embedded Linux or SDR developer**, we would love
your help.
## FAQ Frequently Asked Questions
### ❓ Where can I buy LinHT hardware?
You currently **cannot buy LinHT as a product**. To build LinHT, you need to:
* manufacture the PCB yourself (using provided Gerbers),
* source components,
* assemble the board,
* use a **Retevis C62** handheld radio as a donor for:
* enclosure,
* display,
* keypad,
* battery,
* connectors.
This may change in the future.
### ❓ Is LinHT suitable for everyday radio use?
Not yet. And maybe never in the "consumer radio" sense. LinHT is currently best
suited for:
* developers,
* radio amateurs comfortable with Linux,
* SDR experimenters,
* people who enjoy building and debugging hardware.
You should **not** expect:
* plug-and-play user experience,
* polished UI,
* certification,
* warranty,
* commercial-grade RF compliance.
### ❓ Does LinHT support VHF?
**No, not in revision B.**
VHF support is a **frequently requested feature**, but it is
**not planned for revision B**, adding another band significantly increases:
* RF complexity,
* filtering requirements,
* PCB area,
* development time.
Right now, the project is focused on:
* stabilizing the hardware,
* finishing revision B,
* improving software and DSP,
* validating the new power amplifier and RF chain.
VHF is **not ruled out** for future revisions, but it is
**not a current priority**.
### ❓ Is LinHT certified / legal to transmit with?
LinHT itself is **not certified**. Responsibility lies with the builder and
the operator. LinHT is intended primarily for:
* amateur radio use,
* experimental licenses,
* lab and research environments.
Always follow your local radio regulations.
### ❓ I want to help. Where do I start?
The best starting point is **discussion**. Join the M17 Discord, channel: **#linht**.
Good ways to contribute:
* software development (Yocto, drivers, tooling),
* testing and feedback,
* documentation,
* RF/DSP experiments,
* CI and automation improvements.
If youre unsure where to help - just ask.
## License ## License
This work is licensed under a
This project is licensed under: **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International** [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].
You are free to:
* share
* adapt
Under the conditions:
* attribution
* non-commercial use
* share alike
[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa] [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
## Acknowledgements
LinHT is developed by the **M17 community**, with contributions from many individuals.
Thanks to everyone testing prototypes, reviewing schematics, writing software, and sharing ideas.
[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/ [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
[cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg [cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -6,8 +6,8 @@
(paper "A4") (paper "A4")
(title_block (title_block
(title "LinHT - Linux-based SDR handheld transceiver") (title "LinHT - Linux-based SDR handheld transceiver")
(date "2025-12-03") (date "28 July 2025")
(rev "B") (rev "A")
(company "M17 Foundation") (company "M17 Foundation")
(comment 1 "Author: Wojciech SP5WWP, Andy OE3ANC, Vlastimil OK5VAS") (comment 1 "Author: Wojciech SP5WWP, Andy OE3ANC, Vlastimil OK5VAS")
) )
@ -2647,6 +2647,74 @@
) )
(uuid "fa833251-a7e9-4893-a194-b2100761c6ff") (uuid "fa833251-a7e9-4893-a194-b2100761c6ff")
) )
(symbol
(lib_id "Device:R")
(at 219.71 68.58 90)
(mirror x)
(unit 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(uuid "0d386b5e-d94c-4449-83ef-e4e91b1c4869")
(property "Reference" "R40"
(at 219.71 66.04 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "220R"
(at 219.71 71.3162 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
(at 219.71 66.802 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "~"
(at 219.71 68.58 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "Resistor"
(at 219.71 68.58 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2"
(uuid "3bbb4d23-f1fc-4866-a9b1-143e90b71d22")
)
(pin "1"
(uuid "7537af09-0138-4ba3-8355-9904a02d4440")
)
(instances
(project ""
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
(reference "R40")
(unit 1)
)
)
)
)
(symbol (symbol
(lib_id "power:GND") (lib_id "power:GND")
(at 201.93 106.68 0) (at 201.93 106.68 0)
@ -2834,42 +2902,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25744"
(at 101.6 82.55 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 101.6 82.55 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 101.6 82.55 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1002TCE"
(at 101.6 82.55 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2" (pin "2"
(uuid "e8b8c3c6-e522-4a52-9658-909d72e4cba3") (uuid "e8b8c3c6-e522-4a52-9658-909d72e4cba3")
) )
@ -3075,42 +3107,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C40912"
(at 109.22 128.27 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "BSS138-7-F"
(at 109.22 128.27 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" "621-BSS138-7-F"
(at 109.22 128.27 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 109.22 128.27 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "3" (pin "3"
(uuid "0a917df0-9299-45f7-ae9e-f72ca7d9c80f") (uuid "0a917df0-9299-45f7-ae9e-f72ca7d9c80f")
) )
@ -3134,7 +3130,7 @@
(at 209.55 90.17 0) (at 209.55 90.17 0)
(unit 1) (unit 1)
(exclude_from_sim no) (exclude_from_sim no)
(in_bom no) (in_bom yes)
(on_board yes) (on_board yes)
(dnp no) (dnp no)
(fields_autoplaced yes) (fields_autoplaced yes)
@ -3191,15 +3187,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 209.55 90.17 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "26f6cc8c-9741-4094-84b5-991ccf6febd2") (uuid "26f6cc8c-9741-4094-84b5-991ccf6febd2")
) )
@ -3220,7 +3207,7 @@
(at 119.38 85.09 0) (at 119.38 85.09 0)
(unit 1) (unit 1)
(exclude_from_sim no) (exclude_from_sim no)
(in_bom no) (in_bom yes)
(on_board yes) (on_board yes)
(dnp no) (dnp no)
(fields_autoplaced yes) (fields_autoplaced yes)
@ -3270,15 +3257,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 119.38 85.09 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "7" (pin "7"
(uuid "ff102b72-fdaa-4283-90e7-5c3b707a1af4") (uuid "ff102b72-fdaa-4283-90e7-5c3b707a1af4")
) )
@ -3403,42 +3381,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25792"
(at 101.6 134.62 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 101.6 134.62 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 101.6 134.62 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF4702TCE"
(at 101.6 134.62 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2" (pin "2"
(uuid "f483c974-11a2-47b6-a4cc-9dd3a076901e") (uuid "f483c974-11a2-47b6-a4cc-9dd3a076901e")
) )
@ -3509,42 +3451,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C1525"
(at 101.6 111.76 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "CL05B104KO5NNNC"
(at 101.6 111.76 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" "187-CL05B104KO5NNNC"
(at 101.6 111.76 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 101.6 111.76 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "c13552a1-1d91-4951-8bc7-e86be7f274b0") (uuid "c13552a1-1d91-4951-8bc7-e86be7f274b0")
) )
@ -3626,110 +3532,6 @@
) )
) )
) )
(symbol
(lib_id "Device:R")
(at 219.71 68.58 90)
(unit 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(uuid "88ab9ffc-03c0-449f-8a59-8ae0ec3541c7")
(property "Reference" "R16"
(at 219.71 63.4195 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "100R"
(at 219.71 65.8438 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
(at 219.71 70.358 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "~"
(at 219.71 68.58 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "Resistor"
(at 219.71 68.58 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC" "C25076"
(at 219.71 68.58 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 219.71 68.58 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 219.71 68.58 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1000TCE"
(at 219.71 68.58 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1"
(uuid "a56e0848-1776-441e-a4e1-764458c5dbec")
)
(pin "2"
(uuid "4686f9fe-5b2f-4f5c-bbe5-4540319d0b34")
)
(instances
(project "linht-hw"
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
(reference "R16")
(unit 1)
)
)
)
)
(symbol (symbol
(lib_id "Device:R") (lib_id "Device:R")
(at 185.42 99.06 90) (at 185.42 99.06 90)
@ -3783,42 +3585,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25076"
(at 185.42 99.06 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 185.42 99.06 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 185.42 99.06 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1000TCE"
(at 185.42 99.06 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "ad6c253e-c7f8-4df2-82aa-c33ec8ccc222") (uuid "ad6c253e-c7f8-4df2-82aa-c33ec8ccc222")
) )
@ -3892,42 +3658,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C40912"
(at 199.39 99.06 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "BSS138-7-F"
(at 199.39 99.06 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" "621-BSS138-7-F"
(at 199.39 99.06 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 199.39 99.06 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2" (pin "2"
(uuid "8dd6579a-30e4-4a39-94c2-e41c54e0f4b0") (uuid "8dd6579a-30e4-4a39-94c2-e41c54e0f4b0")
) )
@ -4001,42 +3731,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25077"
(at 111.76 116.84 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 111.76 116.84 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 111.76 116.84 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF100JTCE"
(at 111.76 116.84 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "04da3803-7cea-4efb-84d0-a06e26074b95") (uuid "04da3803-7cea-4efb-84d0-a06e26074b95")
) )
@ -4052,110 +3746,6 @@
) )
) )
) )
(symbol
(lib_id "Device:R")
(at 219.71 80.01 90)
(unit 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(uuid "a6458ba4-4e62-4cb6-8514-14b12d8041d7")
(property "Reference" "R15"
(at 219.71 74.8495 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "100R"
(at 219.71 77.2738 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
(at 219.71 81.788 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "~"
(at 219.71 80.01 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "Resistor"
(at 219.71 80.01 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC" "C25076"
(at 219.71 80.01 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 219.71 80.01 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 219.71 80.01 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1000TCE"
(at 219.71 80.01 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1"
(uuid "3a0f4633-7121-4a68-a73c-180579691375")
)
(pin "2"
(uuid "96f0a8b8-8ae1-4afe-ad12-f02840ba38d2")
)
(instances
(project "linht-hw"
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
(reference "R15")
(unit 1)
)
)
)
)
(symbol (symbol
(lib_id "Device:LED") (lib_id "Device:LED")
(at 209.55 68.58 0) (at 209.55 68.58 0)
@ -4218,33 +3808,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25503345"
(at 209.55 68.58 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "XL-1005SURC"
(at 209.55 68.58 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 209.55 68.58 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "87f3e6c7-9c0b-4eab-ab64-ebd4ba9c6425") (uuid "87f3e6c7-9c0b-4eab-ab64-ebd4ba9c6425")
) )
@ -4388,33 +3951,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C965793"
(at 209.55 80.01 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "XL-1005UGC"
(at 209.55 80.01 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 209.55 80.01 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "8438c2f5-0991-4864-8a7b-f40f2021a4bf") (uuid "8438c2f5-0991-4864-8a7b-f40f2021a4bf")
) )
@ -4617,42 +4153,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25792"
(at 191.77 105.41 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 191.77 105.41 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 191.77 105.41 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF4702TCE"
(at 191.77 105.41 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2" (pin "2"
(uuid "dfde15b1-dfe1-4438-b940-1880772a0526") (uuid "dfde15b1-dfe1-4438-b940-1880772a0526")
) )
@ -4721,42 +4221,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25082"
(at 219.71 90.17 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 219.71 90.17 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 219.71 90.17 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1500TCE"
(at 219.71 90.17 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2" (pin "2"
(uuid "3fdbef8a-54e7-4309-8dba-74107ebe359e") (uuid "3fdbef8a-54e7-4309-8dba-74107ebe359e")
) )
@ -4772,6 +4236,74 @@
) )
) )
) )
(symbol
(lib_id "Device:R")
(at 219.71 80.01 90)
(mirror x)
(unit 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(uuid "e84ab908-db69-42fb-b1ca-195af8de0d78")
(property "Reference" "R41"
(at 219.71 77.47 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "220R"
(at 219.71 82.7462 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
(at 219.71 78.232 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "~"
(at 219.71 80.01 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "Resistor"
(at 219.71 80.01 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2"
(uuid "7d2eee4a-3f34-4cd9-801a-f9b9b6f0d56a")
)
(pin "1"
(uuid "0c144a0c-c9b1-42c7-a738-d93a80281a39")
)
(instances
(project "linht-hw"
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
(reference "R41")
(unit 1)
)
)
)
)
(symbol (symbol
(lib_id "Device:R") (lib_id "Device:R")
(at 102.87 64.77 90) (at 102.87 64.77 90)
@ -4825,42 +4357,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25744"
(at 102.87 64.77 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 102.87 64.77 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 102.87 64.77 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1002TCE"
(at 102.87 64.77 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2" (pin "2"
(uuid "a074cf4e-adca-47b6-b17d-a40c88706fa9") (uuid "a074cf4e-adca-47b6-b17d-a40c88706fa9")
) )
@ -4929,42 +4425,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25076"
(at 95.25 128.27 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 95.25 128.27 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 95.25 128.27 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1000TCE"
(at 95.25 128.27 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "76294ca3-6f2b-426d-84d7-d754a13c8138") (uuid "76294ca3-6f2b-426d-84d7-d754a13c8138")
) )

File diff suppressed because it is too large Load diff

View file

@ -6,8 +6,8 @@
(paper "A4") (paper "A4")
(title_block (title_block
(title "LinHT - Linux-based SDR handheld transceiver") (title "LinHT - Linux-based SDR handheld transceiver")
(date "2025-12-03") (date "28 July 2025")
(rev "B") (rev "A")
(company "M17 Foundation") (company "M17 Foundation")
(comment 1 "Author: Wojciech SP5WWP, Andy OE3ANC, Vlastimil OK5VAS") (comment 1 "Author: Wojciech SP5WWP, Andy OE3ANC, Vlastimil OK5VAS")
) )
@ -2279,42 +2279,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25792"
(at 165.1 101.6 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 165.1 101.6 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 165.1 101.6 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF4702TCE"
(at 165.1 101.6 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "2" (pin "2"
(uuid "ac3ca4e9-33e3-4e9a-8e7e-f234f122d2ae") (uuid "ac3ca4e9-33e3-4e9a-8e7e-f234f122d2ae")
) )
@ -2450,15 +2414,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 55.88 114.3 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "27a69361-e298-497b-b45d-512bd0954e22") (uuid "27a69361-e298-497b-b45d-512bd0954e22")
) )
@ -2524,15 +2479,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 55.88 118.11 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "b49e1642-5ab3-4a68-88ce-fcb095bd1e53") (uuid "b49e1642-5ab3-4a68-88ce-fcb095bd1e53")
) )
@ -2600,42 +2546,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C542965"
(at 154.94 83.82 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 154.94 83.82 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 154.94 83.82 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "ERJPA2F1500X"
(at 154.94 83.82 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "2259c10c-90fb-4862-9168-59927e8dd43f") (uuid "2259c10c-90fb-4862-9168-59927e8dd43f")
) )
@ -2906,42 +2816,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C25076"
(at 171.45 95.25 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" ""
(at 171.45 95.25 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 171.45 95.25 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "0402WGF1000TCE"
(at 171.45 95.25 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "48d5333e-0bea-4f19-a512-ffff28461cbf") (uuid "48d5333e-0bea-4f19-a512-ffff28461cbf")
) )
@ -3076,15 +2950,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 55.88 110.49 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "527fae63-5afd-4eea-88b1-a2254f7f0b8a") (uuid "527fae63-5afd-4eea-88b1-a2254f7f0b8a")
) )
@ -3150,15 +3015,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 55.88 100.33 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "af641070-2291-4f46-a574-0ef525df7fe7") (uuid "af641070-2291-4f46-a574-0ef525df7fe7")
) )
@ -3251,15 +3107,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 123.19 92.71 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "c1fae89d-1cc8-4b69-b6e0-97c447335ffd") (uuid "c1fae89d-1cc8-4b69-b6e0-97c447335ffd")
) )
@ -3373,15 +3220,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC Part" ""
(at 55.88 104.14 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1" (pin "1"
(uuid "ac7ce14b-8f85-48be-aa3f-eaf8bbadfb50") (uuid "ac7ce14b-8f85-48be-aa3f-eaf8bbadfb50")
) )
@ -3452,42 +3290,6 @@
(hide yes) (hide yes)
) )
) )
(property "LCSC" "C40912"
(at 157.48 95.25 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "MPN" "BSS138-7-F"
(at 157.48 95.25 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "PN" "621-BSS138-7-F"
(at 157.48 95.25 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "LCSC Part" ""
(at 157.48 95.25 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "3" (pin "3"
(uuid "02da6969-4e38-435a-8d88-5c4a60b2828a") (uuid "02da6969-4e38-435a-8d88-5c4a60b2828a")
) )

File diff suppressed because it is too large Load diff

View file

@ -37,9 +37,9 @@
"other_text_thickness": 0.15, "other_text_thickness": 0.15,
"other_text_upright": false, "other_text_upright": false,
"pads": { "pads": {
"drill": 0.4, "drill": 0.0,
"height": 2.2, "height": 0.8,
"width": 1.2 "width": 0.9
}, },
"silk_line_width": 0.1, "silk_line_width": 0.1,
"silk_text_italic": false, "silk_text_italic": false,
@ -48,7 +48,7 @@
"silk_text_thickness": 0.1, "silk_text_thickness": 0.1,
"silk_text_upright": false, "silk_text_upright": false,
"zones": { "zones": {
"min_clearance": 0.3 "min_clearance": 0.25
} }
}, },
"diff_pair_dimensions": [ "diff_pair_dimensions": [
@ -61,11 +61,75 @@
"drc_exclusions": [ "drc_exclusions": [
[ [
"clearance|108775500|119310000|02a1131b-98f8-4e77-8f06-f91a9c7aba4e|17b7483f-1cbe-4de4-ba83-99e1a907f329", "clearance|108775500|119310000|02a1131b-98f8-4e77-8f06-f91a9c7aba4e|17b7483f-1cbe-4de4-ba83-99e1a907f329",
"" "Issue on the SoM pads. Cannot be changed."
],
[
"clearance|108775500|147150000|875a586a-b6f8-446d-92be-309cbf386f2b|4640940c-4b09-4b89-a059-588f57d65d4c",
"Issue on the SoM pads. Cannot be changed."
],
[
"clearance|109655000|119230500|074758df-e958-4e73-be7f-4dfd6804f3ff|17b7483f-1cbe-4de4-ba83-99e1a907f329",
"Issue on the SoM pads. Cannot be changed."
], ],
[ [
"clearance|110455000|119230500|74cf3d9e-d74b-46d4-83e5-241b865105e9|074758df-e958-4e73-be7f-4dfd6804f3ff", "clearance|110455000|119230500|74cf3d9e-d74b-46d4-83e5-241b865105e9|074758df-e958-4e73-be7f-4dfd6804f3ff",
"" "Issue on the SoM pads. Cannot be changed."
],
[
"clearance|136695000|147230500|6889461f-d423-48e6-8283-8de91e37efdc|207471ee-754b-404a-8b96-396a39adc988",
"Issue on the SoM pads. Cannot be changed."
],
[
"clearance|136775500|119310000|d6b7ecae-dd7a-4ec0-a319-0f117f19c4c5|9b81ce62-143f-4658-9bb9-668591ad0a1c",
"Issue on the SoM pads. Cannot be changed."
],
[
"copper_edge_clearance|112509209|58949920|03d19b7e-9558-4124-a267-234a8f0ace49|9b260ba5-f26e-48f4-9ea4-04358fa6e982",
"The position is based on Retevis C62 PCB. Cannot be fixed."
],
[
"copper_edge_clearance|129790791|58949920|0d5b0537-8fe6-47f6-9503-be269d94b127|922fe643-095a-4cd2-9172-72199f43c5bb",
"The position is based on Retevis C62 PCB. Cannot be fixed."
],
[
"copper_edge_clearance|144461667|104586667|b422425c-0c90-4b54-842e-7b420b48375d|cc164661-e2f4-4504-ac01-434a0bed9f26",
"The position is based on Retevis C62 PCB. Cannot be fixed."
],
[
"copper_edge_clearance|144461667|106936667|b422425c-0c90-4b54-842e-7b420b48375d|423c32fc-85d1-46fa-bcc2-eb5f4e13210d",
"Issue on the SoM pads. Cannot be changed."
],
[
"copper_edge_clearance|144461667|109911667|b422425c-0c90-4b54-842e-7b420b48375d|e00e4eb5-1851-4420-9c95-9dfcd0d05258",
"The position is based on Retevis C62 PCB. Cannot be fixed."
],
[
"copper_edge_clearance|144461667|77711667|4747d55e-dc7b-403d-a56b-37e5f739398f|950e3813-2f64-4fd1-9a21-de77ee11ae8b",
"Issue on the SoM pads. Cannot be changed."
],
[
"copper_edge_clearance|144461667|81661667|4747d55e-dc7b-403d-a56b-37e5f739398f|b06f97e2-981b-48f8-99e4-2db9d51b107e",
"Issue on the SoM pads. Cannot be changed."
],
[
"copper_edge_clearance|145500000|139800000|1151be58-d470-4469-a797-27dfea5d2c12|1aace2c9-1106-4343-a0d8-822e8f701172",
"The position is based on Retevis C62 PCB. Cannot be fixed."
],
[
"hole_clearance|120380172|113050000|98cd3cc8-2d84-43f9-984e-8b7ef3a2b545|399e6287-2303-4313-8030-2400bf21b165",
"Battery connector BT-003 has hole near pads."
],
[
"hole_clearance|121925000|113050000|98cd3cc8-2d84-43f9-984e-8b7ef3a2b545|56ca1394-1396-441a-a7d3-21273f9847eb",
"Battery connector BT-003 has hole near pads."
],
[
"hole_clearance|124525000|113050000|dcce17cc-1795-475e-a72b-90d607241fe3|56ca1394-1396-441a-a7d3-21273f9847eb",
"Battery connector BT-003 has hole near pads."
],
[
"hole_clearance|126069828|113050000|dcce17cc-1795-475e-a72b-90d607241fe3|5d78c74e-cc0d-4c8e-bdb9-ab1a815128e9",
"Battery connector BT-003 has hole near pads."
] ]
], ],
"meta": { "meta": {
@ -75,7 +139,7 @@
"annular_width": "error", "annular_width": "error",
"clearance": "error", "clearance": "error",
"connection_width": "warning", "connection_width": "warning",
"copper_edge_clearance": "ignore", "copper_edge_clearance": "error",
"copper_sliver": "warning", "copper_sliver": "warning",
"courtyards_overlap": "error", "courtyards_overlap": "error",
"creepage": "error", "creepage": "error",
@ -88,7 +152,7 @@
"footprint_filters_mismatch": "ignore", "footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning", "footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore", "footprint_type_mismatch": "ignore",
"hole_clearance": "ignore", "hole_clearance": "error",
"hole_to_hole": "warning", "hole_to_hole": "warning",
"holes_co_located": "warning", "holes_co_located": "warning",
"invalid_outline": "error", "invalid_outline": "error",
@ -110,7 +174,7 @@
"pth_inside_courtyard": "ignore", "pth_inside_courtyard": "ignore",
"shorting_items": "error", "shorting_items": "error",
"silk_edge_clearance": "ignore", "silk_edge_clearance": "ignore",
"silk_over_copper": "ignore", "silk_over_copper": "warning",
"silk_overlap": "warning", "silk_overlap": "warning",
"skew_out_of_range": "error", "skew_out_of_range": "error",
"solder_mask_bridge": "error", "solder_mask_bridge": "error",
@ -462,7 +526,6 @@
"single_global_label": "ignore", "single_global_label": "ignore",
"unannotated": "error", "unannotated": "error",
"unconnected_wire_endpoint": "warning", "unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error", "unit_value_mismatch": "error",
"unresolved_variable": "error", "unresolved_variable": "error",
"wire_dangling": "error" "wire_dangling": "error"
@ -480,7 +543,7 @@
"classes": [ "classes": [
{ {
"bus_width": 12, "bus_width": 12,
"clearance": 0.11, "clearance": 0.12,
"diff_pair_gap": 0.25, "diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25, "diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2, "diff_pair_width": 0.2,
@ -507,12 +570,12 @@
"via_drill": 0.3 "via_drill": 0.3
}, },
{ {
"clearance": 0.17, "clearance": 0.1,
"name": "RF", "name": "RF",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 1, "priority": 1,
"schematic_color": "rgb(132, 0, 132)", "schematic_color": "rgb(132, 0, 132)",
"track_width": 0.2, "track_width": 0.234,
"via_diameter": 0.6, "via_diameter": 0.6,
"via_drill": 0.3 "via_drill": 0.3
}, },
@ -546,30 +609,12 @@
"/Connectors/xUDP": [ "/Connectors/xUDP": [
"USB" "USB"
], ],
"/RF/ATT_IN_OUT": [
"RF"
],
"/RF/RF_IN": [ "/RF/RF_IN": [
"RF" "RF"
], ],
"/RF/RF_IN_ATT": [
"RF"
],
"/RF/RF_OUT": [ "/RF/RF_OUT": [
"RF" "RF"
], ],
"Net-(C52-Pad2)": [
"RF"
],
"Net-(C54-Pad2)": [
"RF"
],
"Net-(C55-Pad1)": [
"RF"
],
"Net-(C56-Pad2)": [
"RF"
],
"Net-(FL1-IN)": [ "Net-(FL1-IN)": [
"RF" "RF"
], ],
@ -596,29 +641,12 @@
], ],
"Net-(U2-RF_OUT_2)": [ "Net-(U2-RF_OUT_2)": [
"RF" "RF"
],
"Net-(U9-RF1)": [
"RF"
],
"Net-(U9-RF2)": [
"RF"
],
"Net-(U9-RF3)": [
"RF"
] ]
}, },
"netclass_patterns": [ "netclass_patterns": [
{ {
"netclass": "Narrow", "netclass": "Narrow",
"pattern": "/Keyboard/D." "pattern": "/Keyboard/D."
},
{
"netclass": "Narrow",
"pattern": "GND"
},
{
"netclass": "Default",
"pattern": ""
} }
] ]
}, },
@ -766,29 +794,11 @@
"label": "LCSC", "label": "LCSC",
"name": "LCSC", "name": "LCSC",
"show": true "show": true
},
{
"group_by": false,
"label": "LCSC Part",
"name": "LCSC Part",
"show": false
},
{
"group_by": false,
"label": "Sim.Device",
"name": "Sim.Device",
"show": false
},
{
"group_by": false,
"label": "MP",
"name": "MP",
"show": false
} }
], ],
"filter_string": "", "filter_string": "",
"group_symbols": true, "group_symbols": true,
"include_excluded_from_bom": false, "include_excluded_from_bom": true,
"name": "", "name": "",
"sort_asc": true, "sort_asc": true,
"sort_field": "Reference" "sort_field": "Reference"
@ -865,10 +875,6 @@
[ [
"5f168690-b6ac-4b3d-aad0-4e97277dc85d", "5f168690-b6ac-4b3d-aad0-4e97277dc85d",
"Connectors" "Connectors"
],
[
"0b7c638a-0bf4-4df2-9e8c-e9dd4f727b29",
"GNSS"
] ]
], ],
"text_variables": {} "text_variables": {}

File diff suppressed because it is too large Load diff

BIN
linht-hw.pdf Normal file

Binary file not shown.

View file

@ -10,7 +10,7 @@
| | V_SOM | Pin 6 | 5V | | | | | V_SOM | Pin 6 | 5V | | |
| | ADC_IN3 | Pin 7 | | | | | | ADC_IN3 | Pin 7 | | | |
| | ADC_IN2 | Pin 8 | | | | | | ADC_IN2 | Pin 8 | | | |
| | ADC_IN1 | Pin 9 | | | | | | ADC_IN1 | Pin 9 | U_BATT_MON | | |
| | ADC_IN0 | Pin 10 | VOL_ADC | | | | | ADC_IN0 | Pin 10 | VOL_ADC | | |
| | V_SOM | Pin 11 | 5V | | | | | V_SOM | Pin 11 | 5V | | |
| | TAMPER0 | Pin 12 | | | | | | TAMPER0 | Pin 12 | | | |
@ -50,7 +50,7 @@
| | POR_B_3P3 | Pin 46 | | | | | | POR_B_3P3 | Pin 46 | | | |
| SAI3_TX_SYNC | GPIO2_IO[26] | Pin 47 | I2S1_WS | 3.3V | MX93_PAD_GPIO_IO26__SAI3_TX_SYNC | | SAI3_TX_SYNC | GPIO2_IO[26] | Pin 47 | I2S1_WS | 3.3V | MX93_PAD_GPIO_IO26__SAI3_TX_SYNC |
| GPIO2_IO[27] | GPIO2_IO[27] | Pin 48 | | 3.3V | MX93_PAD_GPIO_IO27__GPIO2_IO27 | | GPIO2_IO[27] | GPIO2_IO[27] | Pin 48 | | 3.3V | MX93_PAD_GPIO_IO27__GPIO2_IO27 |
| GPIO4_IO[15] | ENET2_MDIO | Pin 49 | JACK_DETECT | 1.8V | MX93_PAD_ENET2_MDIO__GPIO4_IO15 | | GPIO4_IO[15] | ENET2_MDIO | Pin 49 | | 1.8V | MX93_PAD_ENET2_MDIO__GPIO4_IO15 |
| GPIO4_IO[14] | ENET2_MDC | Pin 50 | | 1.8V | MX93_PAD_ENET2_MDC__GPIO4_IO14 | | GPIO4_IO[14] | ENET2_MDC | Pin 50 | | 1.8V | MX93_PAD_ENET2_MDC__GPIO4_IO14 |
| GPIO4_IO[16] | ENET2_TD3 | Pin 51 | KBD_D1 | 1.8V | MX93_PAD_ENET2_TD3__GPIO4_IO16 | | GPIO4_IO[16] | ENET2_TD3 | Pin 51 | KBD_D1 | 1.8V | MX93_PAD_ENET2_TD3__GPIO4_IO16 |
| GPIO4_IO[19] | ENET2_TD0 | Pin 52 | KBD_D2 | 1.8V | MX93_PAD_ENET2_TD0__GPIO4_IO19 | | GPIO4_IO[19] | ENET2_TD0 | Pin 52 | KBD_D2 | 1.8V | MX93_PAD_ENET2_TD0__GPIO4_IO19 |
@ -68,8 +68,8 @@
| UART1_RX | UART1_RX | Pin 64 | UART_RX | | | | UART1_RX | UART1_RX | Pin 64 | UART_RX | | |
| GPIO3_IO[7] | SDIO2_RESET_B | Pin 65 | | 3.3V/1.8V | MX93_PAD_SD2_RESET_B__GPIO3_IO07 | | GPIO3_IO[7] | SDIO2_RESET_B | Pin 65 | | 3.3V/1.8V | MX93_PAD_SD2_RESET_B__GPIO3_IO07 |
| SAI1_TX_DATA[0] | SAI1_TX_DATA[0] | Pin 66 | I2S0_DOUT | | MX93_PAD_SAI1_TXD0__SAI1_TX_DATA00 | | SAI1_TX_DATA[0] | SAI1_TX_DATA[0] | Pin 66 | I2S0_DOUT | | MX93_PAD_SAI1_TXD0__SAI1_TX_DATA00 |
| GPIO3_IO[6] | SDIO2_DATA3 | Pin 67 | | 3.3V/1.8V | MX93_PAD_SD2_DATA3__GPIO3_IO06 | | GPIO3_IO[6] | SDIO2_DATA3 | Pin 67 | MIC_GAIN | 3.3V/1.8V | MX93_PAD_SD2_DATA3__GPIO3_IO06 |
| GPIO3_IO[5] | SDIO2_DATA2 | Pin 68 | | 3.3V/1.8V | MX93_PAD_SD2_DATA2__GPIO3_IO05 | | GPIO3_IO[5] | SDIO2_DATA2 | Pin 68 | /MIC_MUTE | 3.3V/1.8V | MX93_PAD_SD2_DATA2__GPIO3_IO05 |
| GPIO3_IO[2] | SDIO2_CMD | Pin 69 | | 3.3V/1.8V | MX93_PAD_SD2_CMD__GPIO3_IO02 | | GPIO3_IO[2] | SDIO2_CMD | Pin 69 | | 3.3V/1.8V | MX93_PAD_SD2_CMD__GPIO3_IO02 |
| GPIO3_IO[1] | SDIO2_CLK | Pin 70 | | 3.3V/1.8V | MX93_PAD_SD2_CLK__GPIO3_IO01 | | GPIO3_IO[1] | SDIO2_CLK | Pin 70 | | 3.3V/1.8V | MX93_PAD_SD2_CLK__GPIO3_IO01 |
| | RESERVED | Pin 71 | | | | | | RESERVED | Pin 71 | | | |
@ -84,35 +84,35 @@
| GPIO3_IO[31] | JTAG_TDO | Pin 80 | | 1.8V | MX93_PAD_DAP_TDO_TRACESWO__GPIO3_IO31 | | GPIO3_IO[31] | JTAG_TDO | Pin 80 | | 1.8V | MX93_PAD_DAP_TDO_TRACESWO__GPIO3_IO31 |
| GPIO4_IO[6] | ENET1_TX_CTL | Pin 81 | | 1.8V | MX93_PAD_ENET1_TX_CTL__GPIO4_IO06 | | GPIO4_IO[6] | ENET1_TX_CTL | Pin 81 | | 1.8V | MX93_PAD_ENET1_TX_CTL__GPIO4_IO06 |
| GPIO4_IO[4] | ENET1_TD1 | Pin 82 | | 1.8V | MX93_PAD_ENET1_TD1__GPIO4_IO04 | | GPIO4_IO[4] | ENET1_TD1 | Pin 82 | | 1.8V | MX93_PAD_ENET1_TD1__GPIO4_IO04 |
| GPIO4_IO[3] | ENET1_TD2 | Pin 83 | GNSS_RST | 1.8V | MX93_PAD_ENET1_TD2__GPIO4_IO03 | | GPIO4_IO[3] | ENET1_TD2 | Pin 83 | | 1.8V | MX93_PAD_ENET1_TD2__GPIO4_IO03 |
| GPIO4_IO[5] | ENET1_TD0 | Pin 84 | GNSS_TX | 1.8V | MX93_PAD_ENET1_TD0__GPIO4_IO05 | | GPIO4_IO[5] | ENET1_TD0 | Pin 84 | | 1.8V | MX93_PAD_ENET1_TD0__GPIO4_IO05 |
| GPIO4_IO[2] | ENET1_TD3 | Pin 85 | GNSS_WAKEUP | 1.8V | MX93_PAD_ENET1_TD3__GPIO4_IO02 | | GPIO4_IO[2] | ENET1_TD3 | Pin 85 | | 1.8V | MX93_PAD_ENET1_TD3__GPIO4_IO02 |
| GPIO4_IO[7] | ENET1_TXC | Pin 86 | | 1.8V | MX93_PAD_ENET1_TXC__GPIO4_IO07 | | GPIO4_IO[7] | ENET1_TXC | Pin 86 | | 1.8V | MX93_PAD_ENET1_TXC__GPIO4_IO07 |
| GPIO4_IO[8] | ENET1_RX_CTL | Pin 87 | GNSS_PPS | 1.8V | MX93_PAD_ENET1_RX_CTL__GPIO4_IO08 | | GPIO4_IO[8] | ENET1_RX_CTL | Pin 87 | | 1.8V | MX93_PAD_ENET1_RX_CTL__GPIO4_IO08 |
| GPIO4_IO[10] | ENET1_RD0 | Pin 88 | GNSS_RX | 1.8V | MX93_PAD_ENET1_RD0__GPIO4_IO10 | | GPIO4_IO[10] | ENET1_RD0 | Pin 88 | | 1.8V | MX93_PAD_ENET1_RD0__GPIO4_IO10 |
| GPIO4_IO[9] | ENET1_RXC | Pin 89 | | 1.8V | MX93_PAD_ENET1_RXC__GPIO4_IO09 | | GPIO4_IO[9] | ENET1_RXC | Pin 89 | | 1.8V | MX93_PAD_ENET1_RXC__GPIO4_IO09 |
| GPIO4_IO[11] | ENET1_RD1 | Pin 90 | | 1.8V | MX93_PAD_ENET1_RD1__GPIO4_IO11 | | GPIO4_IO[11] | ENET1_RD1 | Pin 90 | | 1.8V | MX93_PAD_ENET1_RD1__GPIO4_IO11 |
| GPIO4_IO[12] | ENET1_RD2 | Pin 91 | | 1.8V | MX93_PAD_ENET1_RD2__GPIO4_IO12 | | GPIO4_IO[12] | ENET1_RD2 | Pin 91 | | 1.8V | MX93_PAD_ENET1_RD2__GPIO4_IO12 |
| GPIO4_IO[13] | ENET1_RD3 | Pin 92 | | 1.8V | MX93_PAD_ENET1_RD3__GPIO4_IO13 | | GPIO4_IO[13] | ENET1_RD3 | Pin 92 | | 1.8V | MX93_PAD_ENET1_RD3__GPIO4_IO13 |
| GPIO4_IO[1] | ENET1_MDIO | Pin 93 | | 1.8V | MX93_PAD_ENET1_MDIO__GPIO4_IO01 | | GPIO4_IO[1] | ENET1_MDIO | Pin 93 | | 1.8V | MX93_PAD_ENET1_MDIO__GPIO4_IO01 |
| GPIO4_IO[0] | ENET1_MDC | Pin 94 | | 1.8V | MX93_PAD_ENET1_MDC__GPIO4_IO00 | | GPIO4_IO[0] | ENET1_MDC | Pin 94 | | 1.8V | MX93_PAD_ENET1_MDC__GPIO4_IO00 |
| GPIO2_IO[25] | GPIO2_IO[25] | Pin 95 | KBD_PWM | 3.3V | MX93_PAD_GPIO_IO25__GPIO2_IO25 | | GPIO2_IO[25] | GPIO2_IO[25] | Pin 95 | | 3.3V | MX93_PAD_GPIO_IO25__GPIO2_IO25 |
| GPIO2_IO[23] | GPIO2_IO[23] | Pin 96 | | 3.3V | MX93_PAD_GPIO_IO23__GPIO2_IO23 | | GPIO2_IO[23] | GPIO2_IO[23] | Pin 96 | | 3.3V | MX93_PAD_GPIO_IO23__GPIO2_IO23 |
| I2C3_SCL | GPIO2_IO[29] | Pin 97 | I2C_SCL | 3.3V | MX93_PAD_GPIO_IO29__LPI2C3_SCL | | I2C3_SCL | GPIO2_IO[29] | Pin 97 | I2C_SCL | 3.3V | MX93_PAD_GPIO_IO29__LPI2C3_SCL |
| I2C3_SDA | GPIO2_IO[28] | Pin 98 | I2C_SDA | 3.3V | MX93_PAD_GPIO_IO28__LPI2C3_SDA | | I2C3_SDA | GPIO2_IO[28] | Pin 98 | I2C_SDA | 3.3V | MX93_PAD_GPIO_IO28__LPI2C3_SDA |
| TPM3_CH3 | GPIO2_IO[24] | Pin 99 | LCD_PWM | 3.3V | MX93_PAD_GPIO_IO24__TPM3_CH3 | | TPM3_CH3 | GPIO2_IO[24] | Pin 99 | LCD_PWM | 3.3V | MX93_PAD_GPIO_IO24__TPM3_CH3 |
| SAI3_MCLK | GPIO2_IO[17] | Pin 100 | SPI1_MCLK | 3.3V | MX93_PAD_GPIO_IO17__SAI3_MCLK | | SAI3_MCLK | GPIO2_IO[17] | Pin 100 | SPI1_MCLK | 3.3V | MX93_PAD_GPIO_IO17__SAI3_MCLK |
| SAI3_TX_BCLK | GPIO2_IO[16] | Pin 101 | I2S1_CLK | 3.3V | MX93_PAD_GPIO_IO16__SAI3_TX_BCLK | | SAI3_TX_BCLK | GPIO2_IO[16] | Pin 101 | I2S1_CLK | 3.3V | MX93_PAD_GPIO_IO16__SAI3_TX_BCLK |
| GPIO2_IO[14] | GPIO2_IO[14] | Pin 102 | | 3.3V | MX93_PAD_GPIO_IO14__GPIO2_IO14 | | GPIO2_IO[14] | GPIO2_IO[14] | Pin 102 | ON/OFF_SW | 3.3V | MX93_PAD_GPIO_IO14__GPIO2_IO14 |
| GPIO2_IO[15] | GPIO2_IO[15] | Pin 103 | RF_SW_CTRL | 3.3V | MX93_PAD_GPIO_IO15__GPIO2_IO15 | | GPIO2_IO[15] | GPIO2_IO[15] | Pin 103 | | 3.3V | MX93_PAD_GPIO_IO15__GPIO2_IO15 |
| GPIO2_IO[13] | GPIO2_IO[13] | Pin 104 | RF_ATT_LE2 | 3.3V | MX93_PAD_GPIO_IO13__GPIO2_IO13 | | GPIO2_IO[13] | GPIO2_IO[13] | Pin 104 | RF_SW_CTRL | 3.3V | MX93_PAD_GPIO_IO13__GPIO2_IO13 |
| TPM3_CH2 | GPIO2_IO[12] | Pin 105 | RF_ATT_LE1 | 3.3V | MX93_PAD_GPIO_IO12__TPM3_CH2 | | TPM3_CH2 | GPIO2_IO[12] | Pin 105 | KBD_PWM | 3.3V | MX93_PAD_GPIO_IO12__TPM3_CH2 |
| GPIO2_IO[7] | GPIO2_IO[7] | Pin 106 | RF_ATT_CLK | 3.3V | MX93_PAD_GPIO_IO07__GPIO2_IO07 | | GPIO2_IO[7] | GPIO2_IO[7] | Pin 106 | | 3.3V | MX93_PAD_GPIO_IO07__GPIO2_IO07 |
| GPIO2_IO[6] | GPIO2_IO[6] | Pin 107 | RF_ATT_DATA | 3.3V | MX93_PAD_GPIO_IO06__GPIO2_IO06 | | GPIO2_IO[6] | GPIO2_IO[6] | Pin 107 | | 3.3V | MX93_PAD_GPIO_IO06__GPIO2_IO06 |
| SPI6_SCK | GPIO2_IO[3] | Pin 108 | SPI1_SCK | 3.3V | MX93_PAD_GPIO_IO03__LPSPI6_SCK | | SPI6_SCK | GPIO2_IO[3] | Pin 108 | SPI1_SCK | 3.3V | MX93_PAD_GPIO_IO03__LPSPI6_SCK |
| GPIO3_IO[20] | SDIO3_CLK | Pin 109 | | 1.8V | MX93_PAD_SD3_CLK__GPIO3_IO20 | | GPIO3_IO[20] | SDIO3_CLK | Pin 109 | | 1.8V | MX93_PAD_SD3_CLK__GPIO3_IO20 |
| GPIO3_IO[24] | SDIO3_DATA2 | Pin 110 | | 1.8V | MX93_PAD_SD3_DATA2__GPIO3_IO24 | | GPIO3_IO[24] | SDIO3_DATA2 | Pin 110 | | 1.8V | MX93_PAD_SD3_DATA2__GPIO3_IO24 |
| GPIO3_IO[25] | SDIO3_DATA3 | Pin 111 | RF_PA_ENABLE | 1.8V | MX93_PAD_SD3_DATA3__GPIO3_IO25 | | GPIO3_IO[25] | SDIO3_DATA3 | Pin 111 | | 1.8V | MX93_PAD_SD3_DATA3__GPIO3_IO25 |
| GPIO3_IO[23] | SDIO3_DATA1 | Pin 112 | EXT_PTT | 1.8V | MX93_PAD_SD3_DATA1__GPIO3_IO23 | | GPIO3_IO[23] | SDIO3_DATA1 | Pin 112 | EXT_PTT | 1.8V | MX93_PAD_SD3_DATA1__GPIO3_IO23 |
| GPIO3_IO[21] | SDIO3_CMD | Pin 113 | INT_PTT | 1.8V | MX93_PAD_SD3_CMD__GPIO3_IO21 | | GPIO3_IO[21] | SDIO3_CMD | Pin 113 | INT_PTT | 1.8V | MX93_PAD_SD3_CMD__GPIO3_IO21 |
| GPIO3_IO[22] | SDIO3_DATA0 | Pin 114 | SIDE_BTN | 1.8V | MX93_PAD_SD3_DATA0__GPIO3_IO22 | | GPIO3_IO[22] | SDIO3_DATA0 | Pin 114 | SIDE_BTN | 1.8V | MX93_PAD_SD3_DATA0__GPIO3_IO22 |

View file

@ -1,30 +0,0 @@
{
"tabs": {
"type": "full",
"patchcorners": "False"
},
"cuts": {
"type": "vcuts"
},
"framing": {
"type": "frame",
"width": "11mm"
},
"tooling": {
"type": "4hole",
"hoffset": "5mm",
"voffset": "25mm"
},
"fiducials": {
"type": "3fid",
"hoffset": "5mm",
"voffset": "20mm"
},
"text": {
"type": "simple",
"voffset": "3mm",
"width": "2.0mm",
"height": "2.0mm",
"text": "LinHT PCB"
}
}

View file

@ -1,930 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP AP214'),'1');
FILE_NAME('ANT_ANT8010LL05R1516A_PUL','2025-11-26T08:41:00',(''),(''),'','','');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN'));
ENDSEC;
DATA;
#1=SHAPE_DEFINITION_REPRESENTATION(#2,#3);
#2=PRODUCT_DEFINITION_SHAPE('',$,#4);
#3=SHAPE_REPRESENTATION('',(#188,#484,#780,#1077,#19),#11);
#4=PRODUCT_DEFINITION('design','example product_definition',#6,#5);
#5=PRODUCT_DEFINITION_CONTEXT('3D Mechanical Parts',#10,'design');
#6=PRODUCT_DEFINITION_FORMATION('1.0','first version',#8);
#7=APPLICATION_PROTOCOL_DEFINITION('international standard','automotive_design',2003,#10);
#8=PRODUCT('product','part','',(#9));
#9=PRODUCT_CONTEXT('3D Mechanical Parts',#10,'mechanical');
#10=APPLICATION_CONTEXT('Core Data for Automotive Mechanical Design Process');
#11=(GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#12)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#13,#14,#18)) REPRESENTATION_CONTEXT('ID1','3D'));
#12=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-005),#13,'DISTANCE_ACCURACY_VALUE','Maximum model space distance between geometric entities at asserted connectivities');
#13=(LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.));
#14=(CONVERSION_BASED_UNIT('degree',#16) NAMED_UNIT(#15) PLANE_ANGLE_UNIT());
#15=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#16=MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.01745329252),#17);
#17=(NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.));
#18=(NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT());
#19=AXIS2_PLACEMENT_3D('',#20,#21,#22);
#20=CARTESIAN_POINT('',(0.0,0.0,0.0));
#21=DIRECTION('',(0.0,0.0,1.0));
#22=DIRECTION('',(1.0,0.0,0.0));
#25=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION($,(#190,#239,#288,#337,#386,#435,#486,#535,#584,#633,#682,#731,#782,#831,#880,#929,#978,#1027,#1079,#1128,#1177,#1226,#1275,#1344,#1413,#1482,#1551,#1600,#1649,#1698),#11);
#26=PRODUCT_CATEGORY_RELATIONSHIP('','',#27,#28);
#27=PRODUCT_CATEGORY('part','');
#28=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#8));
#34=PRESENTATION_STYLE_ASSIGNMENT((#35,#40));
#35=SURFACE_STYLE_USAGE(.BOTH.,#36);
#36=SURFACE_SIDE_STYLE('',(#37));
#37=SURFACE_STYLE_FILL_AREA(#38);
#38=FILL_AREA_STYLE('',(#39));
#39=FILL_AREA_STYLE_COLOUR('',#41);
#40=CURVE_STYLE('',#42,POSITIVE_LENGTH_MEASURE(0.1),#41);
#41=COLOUR_RGB('Aluminum',0.725,0.725,0.725);
#42=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#43=PRESENTATION_STYLE_ASSIGNMENT((#44,#49));
#44=SURFACE_STYLE_USAGE(.BOTH.,#45);
#45=SURFACE_SIDE_STYLE('',(#46));
#46=SURFACE_STYLE_FILL_AREA(#47);
#47=FILL_AREA_STYLE('',(#48));
#48=FILL_AREA_STYLE_COLOUR('',#50);
#49=CURVE_STYLE('',#51,POSITIVE_LENGTH_MEASURE(0.1),#50);
#50=COLOUR_RGB('Brown',0.459,0.345,0.176);
#51=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#52=PRESENTATION_STYLE_ASSIGNMENT((#53,#58));
#53=SURFACE_STYLE_USAGE(.BOTH.,#54);
#54=SURFACE_SIDE_STYLE('',(#55));
#55=SURFACE_STYLE_FILL_AREA(#56);
#56=FILL_AREA_STYLE('',(#57));
#57=FILL_AREA_STYLE_COLOUR('',#59);
#58=CURVE_STYLE('',#60,POSITIVE_LENGTH_MEASURE(0.1),#59);
#59=COLOUR_RGB('Pin1Wrap',0.98,0.706,0.176);
#60=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#61=PRESENTATION_STYLE_ASSIGNMENT((#62,#67));
#62=SURFACE_STYLE_USAGE(.BOTH.,#63);
#63=SURFACE_SIDE_STYLE('',(#64));
#64=SURFACE_STYLE_FILL_AREA(#65);
#65=FILL_AREA_STYLE('',(#66));
#66=FILL_AREA_STYLE_COLOUR('',#68);
#67=CURVE_STYLE('',#69,POSITIVE_LENGTH_MEASURE(0.1),#68);
#68=COLOUR_RGB('HeatTab',0.588,0.588,0.588);
#69=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#70=PRESENTATION_STYLE_ASSIGNMENT((#71,#76));
#71=SURFACE_STYLE_USAGE(.BOTH.,#72);
#72=SURFACE_SIDE_STYLE('',(#73));
#73=SURFACE_STYLE_FILL_AREA(#74);
#74=FILL_AREA_STYLE('',(#75));
#75=FILL_AREA_STYLE_COLOUR('',#77);
#76=CURVE_STYLE('',#78,POSITIVE_LENGTH_MEASURE(0.1),#77);
#77=COLOUR_RGB('Black',0.196,0.196,0.196);
#78=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#79=PRESENTATION_STYLE_ASSIGNMENT((#80,#85));
#80=SURFACE_STYLE_USAGE(.BOTH.,#81);
#81=SURFACE_SIDE_STYLE('',(#82));
#82=SURFACE_STYLE_FILL_AREA(#83);
#83=FILL_AREA_STYLE('',(#84));
#84=FILL_AREA_STYLE_COLOUR('',#86);
#85=CURVE_STYLE('',#87,POSITIVE_LENGTH_MEASURE(0.1),#86);
#86=COLOUR_RGB('Gold',0.843,0.686,0.0);
#87=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#88=PRESENTATION_STYLE_ASSIGNMENT((#89,#94));
#89=SURFACE_STYLE_USAGE(.BOTH.,#90);
#90=SURFACE_SIDE_STYLE('',(#91));
#91=SURFACE_STYLE_FILL_AREA(#92);
#92=FILL_AREA_STYLE('',(#93));
#93=FILL_AREA_STYLE_COLOUR('',#95);
#94=CURVE_STYLE('',#96,POSITIVE_LENGTH_MEASURE(0.1),#95);
#95=COLOUR_RGB('Tan',0.784,0.686,0.51);
#96=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#97=PRESENTATION_STYLE_ASSIGNMENT((#98,#103));
#98=SURFACE_STYLE_USAGE(.BOTH.,#99);
#99=SURFACE_SIDE_STYLE('',(#100));
#100=SURFACE_STYLE_FILL_AREA(#101);
#101=FILL_AREA_STYLE('',(#102));
#102=FILL_AREA_STYLE_COLOUR('',#104);
#103=CURVE_STYLE('',#105,POSITIVE_LENGTH_MEASURE(0.1),#104);
#104=COLOUR_RGB('Gray',0.431,0.431,0.431);
#105=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#106=PRESENTATION_STYLE_ASSIGNMENT((#107,#112));
#107=SURFACE_STYLE_USAGE(.BOTH.,#108);
#108=SURFACE_SIDE_STYLE('',(#109));
#109=SURFACE_STYLE_FILL_AREA(#110);
#110=FILL_AREA_STYLE('',(#111));
#111=FILL_AREA_STYLE_COLOUR('',#113);
#112=CURVE_STYLE('',#114,POSITIVE_LENGTH_MEASURE(0.1),#113);
#113=COLOUR_RGB('Red',0.6,0.0,0.0);
#114=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#115=PRESENTATION_STYLE_ASSIGNMENT((#116,#121));
#116=SURFACE_STYLE_USAGE(.BOTH.,#117);
#117=SURFACE_SIDE_STYLE('',(#118));
#118=SURFACE_STYLE_FILL_AREA(#119);
#119=FILL_AREA_STYLE('',(#120));
#120=FILL_AREA_STYLE_COLOUR('',#122);
#121=CURVE_STYLE('',#123,POSITIVE_LENGTH_MEASURE(0.1),#122);
#122=COLOUR_RGB('Blue',0.157,0.157,0.588);
#123=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#124=PRESENTATION_STYLE_ASSIGNMENT((#125,#130));
#125=SURFACE_STYLE_USAGE(.BOTH.,#126);
#126=SURFACE_SIDE_STYLE('',(#127));
#127=SURFACE_STYLE_FILL_AREA(#128);
#128=FILL_AREA_STYLE('',(#129));
#129=FILL_AREA_STYLE_COLOUR('',#131);
#130=CURVE_STYLE('',#132,POSITIVE_LENGTH_MEASURE(0.1),#131);
#131=COLOUR_RGB('Maroon',0.294,0.0,0.0);
#132=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#133=PRESENTATION_STYLE_ASSIGNMENT((#134,#139));
#134=SURFACE_STYLE_USAGE(.BOTH.,#135);
#135=SURFACE_SIDE_STYLE('',(#136));
#136=SURFACE_STYLE_FILL_AREA(#137);
#137=FILL_AREA_STYLE('',(#138));
#138=FILL_AREA_STYLE_COLOUR('',#140);
#139=CURVE_STYLE('',#141,POSITIVE_LENGTH_MEASURE(0.1),#140);
#140=COLOUR_RGB('Green',0.0,0.294,0.0);
#141=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#142=PRESENTATION_STYLE_ASSIGNMENT((#143,#148));
#143=SURFACE_STYLE_USAGE(.BOTH.,#144);
#144=SURFACE_SIDE_STYLE('',(#145));
#145=SURFACE_STYLE_FILL_AREA(#146);
#146=FILL_AREA_STYLE('',(#147));
#147=FILL_AREA_STYLE_COLOUR('',#149);
#148=CURVE_STYLE('',#150,POSITIVE_LENGTH_MEASURE(0.1),#149);
#149=COLOUR_RGB('Pin1',0.588,0.588,0.059);
#150=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#151=PRESENTATION_STYLE_ASSIGNMENT((#152,#157));
#152=SURFACE_STYLE_USAGE(.BOTH.,#153);
#153=SURFACE_SIDE_STYLE('',(#154));
#154=SURFACE_STYLE_FILL_AREA(#155);
#155=FILL_AREA_STYLE('',(#156));
#156=FILL_AREA_STYLE_COLOUR('',#158);
#157=CURVE_STYLE('',#159,POSITIVE_LENGTH_MEASURE(0.1),#158);
#158=COLOUR_RGB('Pin1Rad',0.588,0.588,0.588);
#159=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#160=PRESENTATION_STYLE_ASSIGNMENT((#161,#166));
#161=SURFACE_STYLE_USAGE(.BOTH.,#162);
#162=SURFACE_SIDE_STYLE('',(#163));
#163=SURFACE_STYLE_FILL_AREA(#164);
#164=FILL_AREA_STYLE('',(#165));
#165=FILL_AREA_STYLE_COLOUR('',#167);
#166=CURVE_STYLE('',#168,POSITIVE_LENGTH_MEASURE(0.1),#167);
#167=COLOUR_RGB('Pin1Axial',0.98,0.706,0.176);
#168=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#169=PRESENTATION_STYLE_ASSIGNMENT((#170,#175));
#170=SURFACE_STYLE_USAGE(.BOTH.,#171);
#171=SURFACE_SIDE_STYLE('',(#172));
#172=SURFACE_STYLE_FILL_AREA(#173);
#173=FILL_AREA_STYLE('',(#174));
#174=FILL_AREA_STYLE_COLOUR('',#176);
#175=CURVE_STYLE('',#177,POSITIVE_LENGTH_MEASURE(0.1),#176);
#176=COLOUR_RGB('Pin1Tant',0.459,0.345,0.176);
#177=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#178=PRESENTATION_STYLE_ASSIGNMENT((#179,#184));
#179=SURFACE_STYLE_USAGE(.BOTH.,#180);
#180=SURFACE_SIDE_STYLE('',(#181));
#181=SURFACE_STYLE_FILL_AREA(#182);
#182=FILL_AREA_STYLE('',(#183));
#183=FILL_AREA_STYLE_COLOUR('',#185);
#184=CURVE_STYLE('',#186,POSITIVE_LENGTH_MEASURE(0.1),#185);
#185=COLOUR_RGB('Shroud',0.235,0.235,0.235);
#186=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#188=MANIFOLD_SOLID_BREP($,#189);
#189=CLOSED_SHELL('',(#191,#240,#289,#338,#387,#436));
#190=STYLED_ITEM('',(#43),#191);
#191=ADVANCED_FACE('',(#197),#192,.T.);
#192=PLANE('',#193);
#193=AXIS2_PLACEMENT_3D('',#194,#195,#196);
#194=CARTESIAN_POINT('',(-3.061,-0.48,0.117));
#195=DIRECTION('',(0.0,-1.0,0.0));
#196=DIRECTION('',(0.,0.,1.));
#197=FACE_OUTER_BOUND('',#198,.T.);
#198=EDGE_LOOP('',(#199,#209,#219,#229));
#202=CARTESIAN_POINT('',(3.061,-0.48,0.117));
#201=VERTEX_POINT('',#202);
#204=CARTESIAN_POINT('',(-3.061,-0.48,0.117));
#203=VERTEX_POINT('',#204);
#200=EDGE_CURVE('',#201,#203,#205,.T.);
#205=LINE('',#202,#207);
#207=VECTOR('',#208,6.1214);
#208=DIRECTION('',(-1.0,0.0,0.0));
#199=ORIENTED_EDGE('',*,*,#200,.F.);
#212=CARTESIAN_POINT('',(3.061,-0.48,1.077));
#211=VERTEX_POINT('',#212);
#210=EDGE_CURVE('',#211,#201,#215,.T.);
#215=LINE('',#212,#217);
#217=VECTOR('',#218,0.959394285714286);
#218=DIRECTION('',(0.0,0.0,-1.0));
#209=ORIENTED_EDGE('',*,*,#210,.F.);
#222=CARTESIAN_POINT('',(-3.061,-0.48,1.077));
#221=VERTEX_POINT('',#222);
#220=EDGE_CURVE('',#221,#211,#225,.T.);
#225=LINE('',#222,#227);
#227=VECTOR('',#228,6.1214);
#228=DIRECTION('',(1.0,0.0,0.0));
#219=ORIENTED_EDGE('',*,*,#220,.F.);
#230=EDGE_CURVE('',#203,#221,#235,.T.);
#235=LINE('',#204,#237);
#237=VECTOR('',#238,0.959394285714286);
#238=DIRECTION('',(0.0,0.0,1.0));
#229=ORIENTED_EDGE('',*,*,#230,.F.);
#239=STYLED_ITEM('',(#43),#240);
#240=ADVANCED_FACE('',(#246),#241,.T.);
#241=PLANE('',#242);
#242=AXIS2_PLACEMENT_3D('',#243,#244,#245);
#243=CARTESIAN_POINT('',(3.061,-0.48,0.117));
#244=DIRECTION('',(1.0,0.0,0.0));
#245=DIRECTION('',(0.,0.,1.));
#246=FACE_OUTER_BOUND('',#247,.T.);
#247=EDGE_LOOP('',(#248,#258,#268,#278));
#251=CARTESIAN_POINT('',(3.061,0.48,0.117));
#250=VERTEX_POINT('',#251);
#249=EDGE_CURVE('',#250,#201,#254,.T.);
#254=LINE('',#251,#256);
#256=VECTOR('',#257,0.959394285714286);
#257=DIRECTION('',(0.0,-1.0,0.0));
#248=ORIENTED_EDGE('',*,*,#249,.F.);
#261=CARTESIAN_POINT('',(3.061,0.48,1.077));
#260=VERTEX_POINT('',#261);
#259=EDGE_CURVE('',#260,#250,#264,.T.);
#264=LINE('',#261,#266);
#266=VECTOR('',#267,0.959394285714286);
#267=DIRECTION('',(0.0,0.0,-1.0));
#258=ORIENTED_EDGE('',*,*,#259,.F.);
#269=EDGE_CURVE('',#211,#260,#274,.T.);
#274=LINE('',#212,#276);
#276=VECTOR('',#277,0.959394285714286);
#277=DIRECTION('',(0.0,1.0,0.0));
#268=ORIENTED_EDGE('',*,*,#269,.F.);
#278=ORIENTED_EDGE('',*,*,#210,.T.);
#288=STYLED_ITEM('',(#43),#289);
#289=ADVANCED_FACE('',(#295),#290,.T.);
#290=PLANE('',#291);
#291=AXIS2_PLACEMENT_3D('',#292,#293,#294);
#292=CARTESIAN_POINT('',(3.061,0.48,0.117));
#293=DIRECTION('',(0.0,1.0,0.0));
#294=DIRECTION('',(0.,0.,1.));
#295=FACE_OUTER_BOUND('',#296,.T.);
#296=EDGE_LOOP('',(#297,#307,#317,#327));
#300=CARTESIAN_POINT('',(-3.061,0.48,0.117));
#299=VERTEX_POINT('',#300);
#298=EDGE_CURVE('',#299,#250,#303,.T.);
#303=LINE('',#300,#305);
#305=VECTOR('',#306,6.1214);
#306=DIRECTION('',(1.0,0.0,0.0));
#297=ORIENTED_EDGE('',*,*,#298,.F.);
#310=CARTESIAN_POINT('',(-3.061,0.48,1.077));
#309=VERTEX_POINT('',#310);
#308=EDGE_CURVE('',#309,#299,#313,.T.);
#313=LINE('',#310,#315);
#315=VECTOR('',#316,0.959394285714286);
#316=DIRECTION('',(0.0,0.0,-1.0));
#307=ORIENTED_EDGE('',*,*,#308,.F.);
#318=EDGE_CURVE('',#260,#309,#323,.T.);
#323=LINE('',#261,#325);
#325=VECTOR('',#326,6.1214);
#326=DIRECTION('',(-1.0,0.0,0.0));
#317=ORIENTED_EDGE('',*,*,#318,.F.);
#327=ORIENTED_EDGE('',*,*,#259,.T.);
#337=STYLED_ITEM('',(#43),#338);
#338=ADVANCED_FACE('',(#344),#339,.T.);
#339=PLANE('',#340);
#340=AXIS2_PLACEMENT_3D('',#341,#342,#343);
#341=CARTESIAN_POINT('',(-3.061,0.48,0.117));
#342=DIRECTION('',(-1.0,0.0,0.0));
#343=DIRECTION('',(0.,0.,1.));
#344=FACE_OUTER_BOUND('',#345,.T.);
#345=EDGE_LOOP('',(#346,#356,#366,#376));
#347=EDGE_CURVE('',#203,#299,#352,.T.);
#352=LINE('',#204,#354);
#354=VECTOR('',#355,0.959394285714286);
#355=DIRECTION('',(0.0,1.0,0.0));
#346=ORIENTED_EDGE('',*,*,#347,.F.);
#356=ORIENTED_EDGE('',*,*,#230,.T.);
#367=EDGE_CURVE('',#309,#221,#372,.T.);
#372=LINE('',#310,#374);
#374=VECTOR('',#375,0.959394285714286);
#375=DIRECTION('',(0.0,-1.0,0.0));
#366=ORIENTED_EDGE('',*,*,#367,.F.);
#376=ORIENTED_EDGE('',*,*,#308,.T.);
#386=STYLED_ITEM('',(#43),#387);
#387=ADVANCED_FACE('',(#393),#388,.T.);
#388=PLANE('',#389);
#389=AXIS2_PLACEMENT_3D('',#390,#391,#392);
#390=CARTESIAN_POINT('',(-3.061,0.48,0.117));
#391=DIRECTION('',(0.0,0.0,-1.0));
#392=DIRECTION('',(0.,1.,0.));
#393=FACE_OUTER_BOUND('',#394,.T.);
#394=EDGE_LOOP('',(#395,#405,#415,#425));
#395=ORIENTED_EDGE('',*,*,#298,.T.);
#405=ORIENTED_EDGE('',*,*,#249,.T.);
#415=ORIENTED_EDGE('',*,*,#200,.T.);
#425=ORIENTED_EDGE('',*,*,#347,.T.);
#435=STYLED_ITEM('',(#43),#436);
#436=ADVANCED_FACE('',(#442),#437,.T.);
#437=PLANE('',#438);
#438=AXIS2_PLACEMENT_3D('',#439,#440,#441);
#439=CARTESIAN_POINT('',(-3.061,-0.48,1.077));
#440=DIRECTION('',(0.0,0.0,1.0));
#441=DIRECTION('',(0.,1.,0.));
#442=FACE_OUTER_BOUND('',#443,.T.);
#443=EDGE_LOOP('',(#444,#454,#464,#474));
#444=ORIENTED_EDGE('',*,*,#220,.T.);
#454=ORIENTED_EDGE('',*,*,#269,.T.);
#464=ORIENTED_EDGE('',*,*,#318,.T.);
#474=ORIENTED_EDGE('',*,*,#367,.T.);
#484=MANIFOLD_SOLID_BREP($,#485);
#485=CLOSED_SHELL('',(#487,#536,#585,#634,#683,#732));
#486=STYLED_ITEM('',(#34),#487);
#487=ADVANCED_FACE('',(#493),#488,.T.);
#488=PLANE('',#489);
#489=AXIS2_PLACEMENT_3D('',#490,#491,#492);
#490=CARTESIAN_POINT('',(3.061,-0.597,0.0));
#491=DIRECTION('',(0.0,-1.0,0.0));
#492=DIRECTION('',(0.,0.,1.));
#493=FACE_OUTER_BOUND('',#494,.T.);
#494=EDGE_LOOP('',(#495,#505,#515,#525));
#498=CARTESIAN_POINT('',(4.102,-0.597,0.0));
#497=VERTEX_POINT('',#498);
#500=CARTESIAN_POINT('',(3.061,-0.597,0.0));
#499=VERTEX_POINT('',#500);
#496=EDGE_CURVE('',#497,#499,#501,.T.);
#501=LINE('',#498,#503);
#503=VECTOR('',#504,1.0414);
#504=DIRECTION('',(-1.0,0.0,0.0));
#495=ORIENTED_EDGE('',*,*,#496,.F.);
#508=CARTESIAN_POINT('',(4.102,-0.597,1.194));
#507=VERTEX_POINT('',#508);
#506=EDGE_CURVE('',#507,#497,#511,.T.);
#511=LINE('',#508,#513);
#513=VECTOR('',#514,1.1938);
#514=DIRECTION('',(0.0,0.0,-1.0));
#505=ORIENTED_EDGE('',*,*,#506,.F.);
#518=CARTESIAN_POINT('',(3.061,-0.597,1.194));
#517=VERTEX_POINT('',#518);
#516=EDGE_CURVE('',#517,#507,#521,.T.);
#521=LINE('',#518,#523);
#523=VECTOR('',#524,1.0414);
#524=DIRECTION('',(1.0,0.0,0.0));
#515=ORIENTED_EDGE('',*,*,#516,.F.);
#526=EDGE_CURVE('',#499,#517,#531,.T.);
#531=LINE('',#500,#533);
#533=VECTOR('',#534,1.1938);
#534=DIRECTION('',(0.0,0.0,1.0));
#525=ORIENTED_EDGE('',*,*,#526,.F.);
#535=STYLED_ITEM('',(#34),#536);
#536=ADVANCED_FACE('',(#542),#537,.T.);
#537=PLANE('',#538);
#538=AXIS2_PLACEMENT_3D('',#539,#540,#541);
#539=CARTESIAN_POINT('',(4.102,-0.597,0.0));
#540=DIRECTION('',(1.0,0.0,0.0));
#541=DIRECTION('',(0.,0.,1.));
#542=FACE_OUTER_BOUND('',#543,.T.);
#543=EDGE_LOOP('',(#544,#554,#564,#574));
#547=CARTESIAN_POINT('',(4.102,0.597,0.0));
#546=VERTEX_POINT('',#547);
#545=EDGE_CURVE('',#546,#497,#550,.T.);
#550=LINE('',#547,#552);
#552=VECTOR('',#553,1.1938);
#553=DIRECTION('',(0.0,-1.0,0.0));
#544=ORIENTED_EDGE('',*,*,#545,.F.);
#557=CARTESIAN_POINT('',(4.102,0.597,1.194));
#556=VERTEX_POINT('',#557);
#555=EDGE_CURVE('',#556,#546,#560,.T.);
#560=LINE('',#557,#562);
#562=VECTOR('',#563,1.1938);
#563=DIRECTION('',(0.0,0.0,-1.0));
#554=ORIENTED_EDGE('',*,*,#555,.F.);
#565=EDGE_CURVE('',#507,#556,#570,.T.);
#570=LINE('',#508,#572);
#572=VECTOR('',#573,1.1938);
#573=DIRECTION('',(0.0,1.0,0.0));
#564=ORIENTED_EDGE('',*,*,#565,.F.);
#574=ORIENTED_EDGE('',*,*,#506,.T.);
#584=STYLED_ITEM('',(#34),#585);
#585=ADVANCED_FACE('',(#591),#586,.T.);
#586=PLANE('',#587);
#587=AXIS2_PLACEMENT_3D('',#588,#589,#590);
#588=CARTESIAN_POINT('',(4.102,0.597,0.0));
#589=DIRECTION('',(0.0,1.0,0.0));
#590=DIRECTION('',(0.,0.,1.));
#591=FACE_OUTER_BOUND('',#592,.T.);
#592=EDGE_LOOP('',(#593,#603,#613,#623));
#596=CARTESIAN_POINT('',(3.061,0.597,0.0));
#595=VERTEX_POINT('',#596);
#594=EDGE_CURVE('',#595,#546,#599,.T.);
#599=LINE('',#596,#601);
#601=VECTOR('',#602,1.0414);
#602=DIRECTION('',(1.0,0.0,0.0));
#593=ORIENTED_EDGE('',*,*,#594,.F.);
#606=CARTESIAN_POINT('',(3.061,0.597,1.194));
#605=VERTEX_POINT('',#606);
#604=EDGE_CURVE('',#605,#595,#609,.T.);
#609=LINE('',#606,#611);
#611=VECTOR('',#612,1.1938);
#612=DIRECTION('',(0.0,0.0,-1.0));
#603=ORIENTED_EDGE('',*,*,#604,.F.);
#614=EDGE_CURVE('',#556,#605,#619,.T.);
#619=LINE('',#557,#621);
#621=VECTOR('',#622,1.0414);
#622=DIRECTION('',(-1.0,0.0,0.0));
#613=ORIENTED_EDGE('',*,*,#614,.F.);
#623=ORIENTED_EDGE('',*,*,#555,.T.);
#633=STYLED_ITEM('',(#34),#634);
#634=ADVANCED_FACE('',(#640),#635,.T.);
#635=PLANE('',#636);
#636=AXIS2_PLACEMENT_3D('',#637,#638,#639);
#637=CARTESIAN_POINT('',(3.061,0.597,0.0));
#638=DIRECTION('',(-1.0,0.0,0.0));
#639=DIRECTION('',(0.,0.,1.));
#640=FACE_OUTER_BOUND('',#641,.T.);
#641=EDGE_LOOP('',(#642,#652,#662,#672));
#643=EDGE_CURVE('',#499,#595,#648,.T.);
#648=LINE('',#500,#650);
#650=VECTOR('',#651,1.1938);
#651=DIRECTION('',(0.0,1.0,0.0));
#642=ORIENTED_EDGE('',*,*,#643,.F.);
#652=ORIENTED_EDGE('',*,*,#526,.T.);
#663=EDGE_CURVE('',#605,#517,#668,.T.);
#668=LINE('',#606,#670);
#670=VECTOR('',#671,1.1938);
#671=DIRECTION('',(0.0,-1.0,0.0));
#662=ORIENTED_EDGE('',*,*,#663,.F.);
#672=ORIENTED_EDGE('',*,*,#604,.T.);
#682=STYLED_ITEM('',(#34),#683);
#683=ADVANCED_FACE('',(#689),#684,.T.);
#684=PLANE('',#685);
#685=AXIS2_PLACEMENT_3D('',#686,#687,#688);
#686=CARTESIAN_POINT('',(3.061,0.597,0.0));
#687=DIRECTION('',(0.0,0.0,-1.0));
#688=DIRECTION('',(0.,1.,0.));
#689=FACE_OUTER_BOUND('',#690,.T.);
#690=EDGE_LOOP('',(#691,#701,#711,#721));
#691=ORIENTED_EDGE('',*,*,#594,.T.);
#701=ORIENTED_EDGE('',*,*,#545,.T.);
#711=ORIENTED_EDGE('',*,*,#496,.T.);
#721=ORIENTED_EDGE('',*,*,#643,.T.);
#731=STYLED_ITEM('',(#34),#732);
#732=ADVANCED_FACE('',(#738),#733,.T.);
#733=PLANE('',#734);
#734=AXIS2_PLACEMENT_3D('',#735,#736,#737);
#735=CARTESIAN_POINT('',(3.061,-0.597,1.194));
#736=DIRECTION('',(0.0,0.0,1.0));
#737=DIRECTION('',(0.,1.,0.));
#738=FACE_OUTER_BOUND('',#739,.T.);
#739=EDGE_LOOP('',(#740,#750,#760,#770));
#740=ORIENTED_EDGE('',*,*,#516,.T.);
#750=ORIENTED_EDGE('',*,*,#565,.T.);
#760=ORIENTED_EDGE('',*,*,#614,.T.);
#770=ORIENTED_EDGE('',*,*,#663,.T.);
#780=MANIFOLD_SOLID_BREP($,#781);
#781=CLOSED_SHELL('',(#783,#832,#881,#930,#979,#1028));
#782=STYLED_ITEM('',(#34),#783);
#783=ADVANCED_FACE('',(#789),#784,.T.);
#784=PLANE('',#785);
#785=AXIS2_PLACEMENT_3D('',#786,#787,#788);
#786=CARTESIAN_POINT('',(-4.102,-0.597,0.0));
#787=DIRECTION('',(0.0,-1.0,0.0));
#788=DIRECTION('',(0.,0.,1.));
#789=FACE_OUTER_BOUND('',#790,.T.);
#790=EDGE_LOOP('',(#791,#801,#811,#821));
#794=CARTESIAN_POINT('',(-3.061,-0.597,0.0));
#793=VERTEX_POINT('',#794);
#796=CARTESIAN_POINT('',(-4.102,-0.597,0.0));
#795=VERTEX_POINT('',#796);
#792=EDGE_CURVE('',#793,#795,#797,.T.);
#797=LINE('',#794,#799);
#799=VECTOR('',#800,1.0414);
#800=DIRECTION('',(-1.0,0.0,0.0));
#791=ORIENTED_EDGE('',*,*,#792,.F.);
#804=CARTESIAN_POINT('',(-3.061,-0.597,1.194));
#803=VERTEX_POINT('',#804);
#802=EDGE_CURVE('',#803,#793,#807,.T.);
#807=LINE('',#804,#809);
#809=VECTOR('',#810,1.1938);
#810=DIRECTION('',(0.0,0.0,-1.0));
#801=ORIENTED_EDGE('',*,*,#802,.F.);
#814=CARTESIAN_POINT('',(-4.102,-0.597,1.194));
#813=VERTEX_POINT('',#814);
#812=EDGE_CURVE('',#813,#803,#817,.T.);
#817=LINE('',#814,#819);
#819=VECTOR('',#820,1.0414);
#820=DIRECTION('',(1.0,0.0,0.0));
#811=ORIENTED_EDGE('',*,*,#812,.F.);
#822=EDGE_CURVE('',#795,#813,#827,.T.);
#827=LINE('',#796,#829);
#829=VECTOR('',#830,1.1938);
#830=DIRECTION('',(0.0,0.0,1.0));
#821=ORIENTED_EDGE('',*,*,#822,.F.);
#831=STYLED_ITEM('',(#34),#832);
#832=ADVANCED_FACE('',(#838),#833,.T.);
#833=PLANE('',#834);
#834=AXIS2_PLACEMENT_3D('',#835,#836,#837);
#835=CARTESIAN_POINT('',(-3.061,-0.597,0.0));
#836=DIRECTION('',(1.0,0.0,0.0));
#837=DIRECTION('',(0.,0.,1.));
#838=FACE_OUTER_BOUND('',#839,.T.);
#839=EDGE_LOOP('',(#840,#850,#860,#870));
#843=CARTESIAN_POINT('',(-3.061,0.597,0.0));
#842=VERTEX_POINT('',#843);
#841=EDGE_CURVE('',#842,#793,#846,.T.);
#846=LINE('',#843,#848);
#848=VECTOR('',#849,1.1938);
#849=DIRECTION('',(0.0,-1.0,0.0));
#840=ORIENTED_EDGE('',*,*,#841,.F.);
#853=CARTESIAN_POINT('',(-3.061,0.597,1.194));
#852=VERTEX_POINT('',#853);
#851=EDGE_CURVE('',#852,#842,#856,.T.);
#856=LINE('',#853,#858);
#858=VECTOR('',#859,1.1938);
#859=DIRECTION('',(0.0,0.0,-1.0));
#850=ORIENTED_EDGE('',*,*,#851,.F.);
#861=EDGE_CURVE('',#803,#852,#866,.T.);
#866=LINE('',#804,#868);
#868=VECTOR('',#869,1.1938);
#869=DIRECTION('',(0.0,1.0,0.0));
#860=ORIENTED_EDGE('',*,*,#861,.F.);
#870=ORIENTED_EDGE('',*,*,#802,.T.);
#880=STYLED_ITEM('',(#34),#881);
#881=ADVANCED_FACE('',(#887),#882,.T.);
#882=PLANE('',#883);
#883=AXIS2_PLACEMENT_3D('',#884,#885,#886);
#884=CARTESIAN_POINT('',(-3.061,0.597,0.0));
#885=DIRECTION('',(0.0,1.0,0.0));
#886=DIRECTION('',(0.,0.,1.));
#887=FACE_OUTER_BOUND('',#888,.T.);
#888=EDGE_LOOP('',(#889,#899,#909,#919));
#892=CARTESIAN_POINT('',(-4.102,0.597,0.0));
#891=VERTEX_POINT('',#892);
#890=EDGE_CURVE('',#891,#842,#895,.T.);
#895=LINE('',#892,#897);
#897=VECTOR('',#898,1.0414);
#898=DIRECTION('',(1.0,0.0,0.0));
#889=ORIENTED_EDGE('',*,*,#890,.F.);
#902=CARTESIAN_POINT('',(-4.102,0.597,1.194));
#901=VERTEX_POINT('',#902);
#900=EDGE_CURVE('',#901,#891,#905,.T.);
#905=LINE('',#902,#907);
#907=VECTOR('',#908,1.1938);
#908=DIRECTION('',(0.0,0.0,-1.0));
#899=ORIENTED_EDGE('',*,*,#900,.F.);
#910=EDGE_CURVE('',#852,#901,#915,.T.);
#915=LINE('',#853,#917);
#917=VECTOR('',#918,1.0414);
#918=DIRECTION('',(-1.0,0.0,0.0));
#909=ORIENTED_EDGE('',*,*,#910,.F.);
#919=ORIENTED_EDGE('',*,*,#851,.T.);
#929=STYLED_ITEM('',(#34),#930);
#930=ADVANCED_FACE('',(#936),#931,.T.);
#931=PLANE('',#932);
#932=AXIS2_PLACEMENT_3D('',#933,#934,#935);
#933=CARTESIAN_POINT('',(-4.102,0.597,0.0));
#934=DIRECTION('',(-1.0,0.0,0.0));
#935=DIRECTION('',(0.,0.,1.));
#936=FACE_OUTER_BOUND('',#937,.T.);
#937=EDGE_LOOP('',(#938,#948,#958,#968));
#939=EDGE_CURVE('',#795,#891,#944,.T.);
#944=LINE('',#796,#946);
#946=VECTOR('',#947,1.1938);
#947=DIRECTION('',(0.0,1.0,0.0));
#938=ORIENTED_EDGE('',*,*,#939,.F.);
#948=ORIENTED_EDGE('',*,*,#822,.T.);
#959=EDGE_CURVE('',#901,#813,#964,.T.);
#964=LINE('',#902,#966);
#966=VECTOR('',#967,1.1938);
#967=DIRECTION('',(0.0,-1.0,0.0));
#958=ORIENTED_EDGE('',*,*,#959,.F.);
#968=ORIENTED_EDGE('',*,*,#900,.T.);
#978=STYLED_ITEM('',(#34),#979);
#979=ADVANCED_FACE('',(#985),#980,.T.);
#980=PLANE('',#981);
#981=AXIS2_PLACEMENT_3D('',#982,#983,#984);
#982=CARTESIAN_POINT('',(-4.102,0.597,0.0));
#983=DIRECTION('',(0.0,0.0,-1.0));
#984=DIRECTION('',(0.,1.,0.));
#985=FACE_OUTER_BOUND('',#986,.T.);
#986=EDGE_LOOP('',(#987,#997,#1007,#1017));
#987=ORIENTED_EDGE('',*,*,#890,.T.);
#997=ORIENTED_EDGE('',*,*,#841,.T.);
#1007=ORIENTED_EDGE('',*,*,#792,.T.);
#1017=ORIENTED_EDGE('',*,*,#939,.T.);
#1027=STYLED_ITEM('',(#34),#1028);
#1028=ADVANCED_FACE('',(#1034),#1029,.T.);
#1029=PLANE('',#1030);
#1030=AXIS2_PLACEMENT_3D('',#1031,#1032,#1033);
#1031=CARTESIAN_POINT('',(-4.102,-0.597,1.194));
#1032=DIRECTION('',(0.0,0.0,1.0));
#1033=DIRECTION('',(0.,1.,0.));
#1034=FACE_OUTER_BOUND('',#1035,.T.);
#1035=EDGE_LOOP('',(#1036,#1046,#1056,#1066));
#1036=ORIENTED_EDGE('',*,*,#812,.T.);
#1046=ORIENTED_EDGE('',*,*,#861,.T.);
#1056=ORIENTED_EDGE('',*,*,#910,.T.);
#1066=ORIENTED_EDGE('',*,*,#959,.T.);
#1077=MANIFOLD_SOLID_BREP($,#1078);
#1078=CLOSED_SHELL('',(#1080,#1129,#1178,#1227,#1276,#1345,#1414,#1483,#1552,#1601,#1650,#1699));
#1079=STYLED_ITEM('',(#52),#1080);
#1080=ADVANCED_FACE('',(#1086),#1081,.T.);
#1081=PLANE('',#1082);
#1082=AXIS2_PLACEMENT_3D('',#1083,#1084,#1085);
#1083=CARTESIAN_POINT('',(-2.449,0.482,0.115));
#1084=DIRECTION('',(0.0,0.0,-1.0));
#1085=DIRECTION('',(0.,1.,0.));
#1086=FACE_OUTER_BOUND('',#1087,.T.);
#1087=EDGE_LOOP('',(#1088,#1098,#1108,#1118));
#1091=CARTESIAN_POINT('',(-1.836,0.482,0.115));
#1090=VERTEX_POINT('',#1091);
#1093=CARTESIAN_POINT('',(-2.449,0.482,0.115));
#1092=VERTEX_POINT('',#1093);
#1089=EDGE_CURVE('',#1090,#1092,#1094,.T.);
#1094=LINE('',#1091,#1096);
#1096=VECTOR('',#1097,0.61214);
#1097=DIRECTION('',(-1.0,0.0,0.0));
#1088=ORIENTED_EDGE('',*,*,#1089,.F.);
#1101=CARTESIAN_POINT('',(-1.836,-0.482,0.115));
#1100=VERTEX_POINT('',#1101);
#1099=EDGE_CURVE('',#1100,#1090,#1104,.T.);
#1104=LINE('',#1101,#1106);
#1106=VECTOR('',#1107,0.964474285714287);
#1107=DIRECTION('',(0.0,1.0,0.0));
#1098=ORIENTED_EDGE('',*,*,#1099,.F.);
#1111=CARTESIAN_POINT('',(-2.449,-0.482,0.115));
#1110=VERTEX_POINT('',#1111);
#1109=EDGE_CURVE('',#1110,#1100,#1114,.T.);
#1114=LINE('',#1111,#1116);
#1116=VECTOR('',#1117,0.61214);
#1117=DIRECTION('',(1.0,0.0,0.0));
#1108=ORIENTED_EDGE('',*,*,#1109,.F.);
#1119=EDGE_CURVE('',#1092,#1110,#1124,.T.);
#1124=LINE('',#1093,#1126);
#1126=VECTOR('',#1127,0.964474285714287);
#1127=DIRECTION('',(0.0,-1.0,0.0));
#1118=ORIENTED_EDGE('',*,*,#1119,.F.);
#1128=STYLED_ITEM('',(#52),#1129);
#1129=ADVANCED_FACE('',(#1135),#1130,.T.);
#1130=PLANE('',#1131);
#1131=AXIS2_PLACEMENT_3D('',#1132,#1133,#1134);
#1132=CARTESIAN_POINT('',(-2.449,-0.482,0.115));
#1133=DIRECTION('',(0.0,-1.0,0.0));
#1134=DIRECTION('',(0.,0.,1.));
#1135=FACE_OUTER_BOUND('',#1136,.T.);
#1136=EDGE_LOOP('',(#1137,#1147,#1157,#1167));
#1137=ORIENTED_EDGE('',*,*,#1109,.T.);
#1150=CARTESIAN_POINT('',(-1.836,-0.482,1.079));
#1149=VERTEX_POINT('',#1150);
#1148=EDGE_CURVE('',#1149,#1100,#1153,.T.);
#1153=LINE('',#1150,#1155);
#1155=VECTOR('',#1156,0.964474285714287);
#1156=DIRECTION('',(0.0,0.0,-1.0));
#1147=ORIENTED_EDGE('',*,*,#1148,.F.);
#1160=CARTESIAN_POINT('',(-2.449,-0.482,1.079));
#1159=VERTEX_POINT('',#1160);
#1158=EDGE_CURVE('',#1159,#1149,#1163,.T.);
#1163=LINE('',#1160,#1165);
#1165=VECTOR('',#1166,0.61214);
#1166=DIRECTION('',(1.0,0.0,0.0));
#1157=ORIENTED_EDGE('',*,*,#1158,.F.);
#1168=EDGE_CURVE('',#1110,#1159,#1173,.T.);
#1173=LINE('',#1111,#1175);
#1175=VECTOR('',#1176,0.964474285714287);
#1176=DIRECTION('',(0.0,0.0,1.0));
#1167=ORIENTED_EDGE('',*,*,#1168,.F.);
#1177=STYLED_ITEM('',(#52),#1178);
#1178=ADVANCED_FACE('',(#1184),#1179,.T.);
#1179=PLANE('',#1180);
#1180=AXIS2_PLACEMENT_3D('',#1181,#1182,#1183);
#1181=CARTESIAN_POINT('',(-1.836,0.482,0.115));
#1182=DIRECTION('',(0.0,1.0,0.0));
#1183=DIRECTION('',(0.,0.,1.));
#1184=FACE_OUTER_BOUND('',#1185,.T.);
#1185=EDGE_LOOP('',(#1186,#1196,#1206,#1216));
#1186=ORIENTED_EDGE('',*,*,#1089,.T.);
#1199=CARTESIAN_POINT('',(-2.449,0.482,1.079));
#1198=VERTEX_POINT('',#1199);
#1197=EDGE_CURVE('',#1198,#1092,#1202,.T.);
#1202=LINE('',#1199,#1204);
#1204=VECTOR('',#1205,0.964474285714287);
#1205=DIRECTION('',(0.0,0.0,-1.0));
#1196=ORIENTED_EDGE('',*,*,#1197,.F.);
#1209=CARTESIAN_POINT('',(-1.836,0.482,1.079));
#1208=VERTEX_POINT('',#1209);
#1207=EDGE_CURVE('',#1208,#1198,#1212,.T.);
#1212=LINE('',#1209,#1214);
#1214=VECTOR('',#1215,0.61214);
#1215=DIRECTION('',(-1.0,0.0,0.0));
#1206=ORIENTED_EDGE('',*,*,#1207,.F.);
#1217=EDGE_CURVE('',#1090,#1208,#1222,.T.);
#1222=LINE('',#1091,#1224);
#1224=VECTOR('',#1225,0.964474285714287);
#1225=DIRECTION('',(0.0,0.0,1.0));
#1216=ORIENTED_EDGE('',*,*,#1217,.F.);
#1226=STYLED_ITEM('',(#52),#1227);
#1227=ADVANCED_FACE('',(#1233),#1228,.T.);
#1228=PLANE('',#1229);
#1229=AXIS2_PLACEMENT_3D('',#1230,#1231,#1232);
#1230=CARTESIAN_POINT('',(-2.449,-0.482,1.079));
#1231=DIRECTION('',(0.0,0.0,1.0));
#1232=DIRECTION('',(0.,1.,0.));
#1233=FACE_OUTER_BOUND('',#1234,.T.);
#1234=EDGE_LOOP('',(#1235,#1245,#1255,#1265));
#1235=ORIENTED_EDGE('',*,*,#1158,.T.);
#1246=EDGE_CURVE('',#1208,#1149,#1251,.T.);
#1251=LINE('',#1209,#1253);
#1253=VECTOR('',#1254,0.964474285714287);
#1254=DIRECTION('',(0.0,-1.0,0.0));
#1245=ORIENTED_EDGE('',*,*,#1246,.F.);
#1255=ORIENTED_EDGE('',*,*,#1207,.T.);
#1266=EDGE_CURVE('',#1159,#1198,#1271,.T.);
#1271=LINE('',#1160,#1273);
#1273=VECTOR('',#1274,0.964474285714287);
#1274=DIRECTION('',(0.0,1.0,0.0));
#1265=ORIENTED_EDGE('',*,*,#1266,.F.);
#1275=STYLED_ITEM('',(#52),#1276);
#1276=ADVANCED_FACE('',(#1282),#1277,.T.);
#1277=PLANE('',#1278);
#1278=AXIS2_PLACEMENT_3D('',#1279,#1280,#1281);
#1279=CARTESIAN_POINT('',(-1.836,-0.482,0.115));
#1280=DIRECTION('',(1.0,0.0,0.0));
#1281=DIRECTION('',(0.,0.,1.));
#1282=FACE_OUTER_BOUND('',#1283,.T.);
#1283=EDGE_LOOP('',(#1284,#1294,#1304,#1314,#1324,#1334));
#1284=ORIENTED_EDGE('',*,*,#1099,.T.);
#1294=ORIENTED_EDGE('',*,*,#1217,.T.);
#1307=CARTESIAN_POINT('',(-1.836,0.48,1.077));
#1306=VERTEX_POINT('',#1307);
#1305=EDGE_CURVE('',#1306,#1208,#1310,.T.);
#1310=LINE('',#1307,#1312);
#1312=VECTOR('',#1313,0.00359210244842771);
#1313=DIRECTION('',(0.0,0.707,0.707));
#1304=ORIENTED_EDGE('',*,*,#1305,.F.);
#1317=CARTESIAN_POINT('',(-1.836,0.48,0.117));
#1316=VERTEX_POINT('',#1317);
#1315=EDGE_CURVE('',#1316,#1306,#1320,.T.);
#1320=LINE('',#1317,#1322);
#1322=VECTOR('',#1323,0.959394285714286);
#1323=DIRECTION('',(0.0,0.0,1.0));
#1314=ORIENTED_EDGE('',*,*,#1315,.F.);
#1327=CARTESIAN_POINT('',(-1.836,-0.48,0.117));
#1326=VERTEX_POINT('',#1327);
#1325=EDGE_CURVE('',#1326,#1316,#1330,.T.);
#1330=LINE('',#1327,#1332);
#1332=VECTOR('',#1333,0.959394285714286);
#1333=DIRECTION('',(0.0,1.0,0.0));
#1324=ORIENTED_EDGE('',*,*,#1325,.F.);
#1335=EDGE_CURVE('',#1100,#1326,#1340,.T.);
#1340=LINE('',#1101,#1342);
#1342=VECTOR('',#1343,0.00359210244842768);
#1343=DIRECTION('',(0.0,0.707,0.707));
#1334=ORIENTED_EDGE('',*,*,#1335,.F.);
#1344=STYLED_ITEM('',(#52),#1345);
#1345=ADVANCED_FACE('',(#1351),#1346,.T.);
#1346=PLANE('',#1347);
#1347=AXIS2_PLACEMENT_3D('',#1348,#1349,#1350);
#1348=CARTESIAN_POINT('',(-1.836,-0.482,0.115));
#1349=DIRECTION('',(1.0,0.0,0.0));
#1350=DIRECTION('',(0.,0.,1.));
#1351=FACE_OUTER_BOUND('',#1352,.T.);
#1352=EDGE_LOOP('',(#1353,#1363,#1373,#1383,#1393,#1403));
#1353=ORIENTED_EDGE('',*,*,#1335,.T.);
#1366=CARTESIAN_POINT('',(-1.836,-0.48,1.077));
#1365=VERTEX_POINT('',#1366);
#1364=EDGE_CURVE('',#1365,#1326,#1369,.T.);
#1369=LINE('',#1366,#1371);
#1371=VECTOR('',#1372,0.959394285714286);
#1372=DIRECTION('',(0.0,0.0,-1.0));
#1363=ORIENTED_EDGE('',*,*,#1364,.F.);
#1374=EDGE_CURVE('',#1306,#1365,#1379,.T.);
#1379=LINE('',#1307,#1381);
#1381=VECTOR('',#1382,0.959394285714286);
#1382=DIRECTION('',(0.0,-1.0,0.0));
#1373=ORIENTED_EDGE('',*,*,#1374,.F.);
#1383=ORIENTED_EDGE('',*,*,#1305,.T.);
#1393=ORIENTED_EDGE('',*,*,#1246,.T.);
#1403=ORIENTED_EDGE('',*,*,#1148,.T.);
#1413=STYLED_ITEM('',(#52),#1414);
#1414=ADVANCED_FACE('',(#1420),#1415,.T.);
#1415=PLANE('',#1416);
#1416=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419);
#1417=CARTESIAN_POINT('',(-2.449,0.482,0.115));
#1418=DIRECTION('',(-1.0,0.0,0.0));
#1419=DIRECTION('',(0.,0.,1.));
#1420=FACE_OUTER_BOUND('',#1421,.T.);
#1421=EDGE_LOOP('',(#1422,#1432,#1442,#1452,#1462,#1472));
#1422=ORIENTED_EDGE('',*,*,#1119,.T.);
#1435=CARTESIAN_POINT('',(-2.449,-0.48,0.117));
#1434=VERTEX_POINT('',#1435);
#1433=EDGE_CURVE('',#1434,#1110,#1438,.T.);
#1438=LINE('',#1435,#1440);
#1440=VECTOR('',#1441,0.00359210244842768);
#1441=DIRECTION('',(0.0,-0.707,-0.707));
#1432=ORIENTED_EDGE('',*,*,#1433,.F.);
#1445=CARTESIAN_POINT('',(-2.449,0.48,0.117));
#1444=VERTEX_POINT('',#1445);
#1443=EDGE_CURVE('',#1444,#1434,#1448,.T.);
#1448=LINE('',#1445,#1450);
#1450=VECTOR('',#1451,0.959394285714286);
#1451=DIRECTION('',(0.0,-1.0,0.0));
#1442=ORIENTED_EDGE('',*,*,#1443,.F.);
#1455=CARTESIAN_POINT('',(-2.449,0.48,1.077));
#1454=VERTEX_POINT('',#1455);
#1453=EDGE_CURVE('',#1454,#1444,#1458,.T.);
#1458=LINE('',#1455,#1460);
#1460=VECTOR('',#1461,0.959394285714286);
#1461=DIRECTION('',(0.0,0.0,-1.0));
#1452=ORIENTED_EDGE('',*,*,#1453,.F.);
#1463=EDGE_CURVE('',#1198,#1454,#1468,.T.);
#1468=LINE('',#1199,#1470);
#1470=VECTOR('',#1471,0.00359210244842771);
#1471=DIRECTION('',(0.0,-0.707,-0.707));
#1462=ORIENTED_EDGE('',*,*,#1463,.F.);
#1472=ORIENTED_EDGE('',*,*,#1197,.T.);
#1482=STYLED_ITEM('',(#52),#1483);
#1483=ADVANCED_FACE('',(#1489),#1484,.T.);
#1484=PLANE('',#1485);
#1485=AXIS2_PLACEMENT_3D('',#1486,#1487,#1488);
#1486=CARTESIAN_POINT('',(-2.449,-0.48,0.117));
#1487=DIRECTION('',(-1.0,0.0,0.0));
#1488=DIRECTION('',(0.,0.,1.));
#1489=FACE_OUTER_BOUND('',#1490,.T.);
#1490=EDGE_LOOP('',(#1491,#1501,#1511,#1521,#1531,#1541));
#1491=ORIENTED_EDGE('',*,*,#1433,.T.);
#1501=ORIENTED_EDGE('',*,*,#1168,.T.);
#1511=ORIENTED_EDGE('',*,*,#1266,.T.);
#1521=ORIENTED_EDGE('',*,*,#1463,.T.);
#1534=CARTESIAN_POINT('',(-2.449,-0.48,1.077));
#1533=VERTEX_POINT('',#1534);
#1532=EDGE_CURVE('',#1533,#1454,#1537,.T.);
#1537=LINE('',#1534,#1539);
#1539=VECTOR('',#1540,0.959394285714286);
#1540=DIRECTION('',(0.0,1.0,0.0));
#1531=ORIENTED_EDGE('',*,*,#1532,.F.);
#1542=EDGE_CURVE('',#1434,#1533,#1547,.T.);
#1547=LINE('',#1435,#1549);
#1549=VECTOR('',#1550,0.959394285714286);
#1550=DIRECTION('',(0.0,0.0,1.0));
#1541=ORIENTED_EDGE('',*,*,#1542,.F.);
#1551=STYLED_ITEM('',(#52),#1552);
#1552=ADVANCED_FACE('',(#1558),#1553,.T.);
#1553=PLANE('',#1554);
#1554=AXIS2_PLACEMENT_3D('',#1555,#1556,#1557);
#1555=CARTESIAN_POINT('',(-2.449,0.48,0.117));
#1556=DIRECTION('',(0.0,-1.0,0.0));
#1557=DIRECTION('',(0.,0.,1.));
#1558=FACE_OUTER_BOUND('',#1559,.T.);
#1559=EDGE_LOOP('',(#1560,#1570,#1580,#1590));
#1561=EDGE_CURVE('',#1316,#1444,#1566,.T.);
#1566=LINE('',#1317,#1568);
#1568=VECTOR('',#1569,0.61214);
#1569=DIRECTION('',(-1.0,0.0,0.0));
#1560=ORIENTED_EDGE('',*,*,#1561,.F.);
#1570=ORIENTED_EDGE('',*,*,#1315,.T.);
#1581=EDGE_CURVE('',#1454,#1306,#1586,.T.);
#1586=LINE('',#1455,#1588);
#1588=VECTOR('',#1589,0.61214);
#1589=DIRECTION('',(1.0,0.0,0.0));
#1580=ORIENTED_EDGE('',*,*,#1581,.F.);
#1590=ORIENTED_EDGE('',*,*,#1453,.T.);
#1600=STYLED_ITEM('',(#52),#1601);
#1601=ADVANCED_FACE('',(#1607),#1602,.T.);
#1602=PLANE('',#1603);
#1603=AXIS2_PLACEMENT_3D('',#1604,#1605,#1606);
#1604=CARTESIAN_POINT('',(-1.836,-0.48,0.117));
#1605=DIRECTION('',(0.0,1.0,0.0));
#1606=DIRECTION('',(0.,0.,1.));
#1607=FACE_OUTER_BOUND('',#1608,.T.);
#1608=EDGE_LOOP('',(#1609,#1619,#1629,#1639));
#1610=EDGE_CURVE('',#1434,#1326,#1615,.T.);
#1615=LINE('',#1435,#1617);
#1617=VECTOR('',#1618,0.61214);
#1618=DIRECTION('',(1.0,0.0,0.0));
#1609=ORIENTED_EDGE('',*,*,#1610,.F.);
#1619=ORIENTED_EDGE('',*,*,#1542,.T.);
#1630=EDGE_CURVE('',#1365,#1533,#1635,.T.);
#1635=LINE('',#1366,#1637);
#1637=VECTOR('',#1638,0.61214);
#1638=DIRECTION('',(-1.0,0.0,0.0));
#1629=ORIENTED_EDGE('',*,*,#1630,.F.);
#1639=ORIENTED_EDGE('',*,*,#1364,.T.);
#1649=STYLED_ITEM('',(#52),#1650);
#1650=ADVANCED_FACE('',(#1656),#1651,.T.);
#1651=PLANE('',#1652);
#1652=AXIS2_PLACEMENT_3D('',#1653,#1654,#1655);
#1653=CARTESIAN_POINT('',(-2.449,-0.48,0.117));
#1654=DIRECTION('',(0.0,0.0,1.0));
#1655=DIRECTION('',(0.,1.,0.));
#1656=FACE_OUTER_BOUND('',#1657,.T.);
#1657=EDGE_LOOP('',(#1658,#1668,#1678,#1688));
#1658=ORIENTED_EDGE('',*,*,#1610,.T.);
#1668=ORIENTED_EDGE('',*,*,#1325,.T.);
#1678=ORIENTED_EDGE('',*,*,#1561,.T.);
#1688=ORIENTED_EDGE('',*,*,#1443,.T.);
#1698=STYLED_ITEM('',(#52),#1699);
#1699=ADVANCED_FACE('',(#1705),#1700,.T.);
#1700=PLANE('',#1701);
#1701=AXIS2_PLACEMENT_3D('',#1702,#1703,#1704);
#1702=CARTESIAN_POINT('',(-1.836,-0.48,1.077));
#1703=DIRECTION('',(0.0,0.0,-1.0));
#1704=DIRECTION('',(0.,1.,0.));
#1705=FACE_OUTER_BOUND('',#1706,.T.);
#1706=EDGE_LOOP('',(#1707,#1717,#1727,#1737));
#1707=ORIENTED_EDGE('',*,*,#1630,.T.);
#1717=ORIENTED_EDGE('',*,*,#1532,.T.);
#1727=ORIENTED_EDGE('',*,*,#1581,.T.);
#1737=ORIENTED_EDGE('',*,*,#1374,.T.);
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,141 +0,0 @@
#VRML V2.0 utf8
# 3D model generated by easyeda2kicad.py (https://github.com/uPesy/easyeda2kicad.py)
Shape{
appearance Appearance {
material Material {
diffuseColor 1.0 1.0 1.0
specularColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
ambientIntensity 0.2
transparency 0
shininess 0.5
}
}
geometry IndexedFaceSet {
ccw TRUE
solid FALSE
coord DEF co Coordinate {
point [
1.063 0.3937 0.4291, 1.0236 0.3937 0.4291, 1.063 0.1181 0.4291, 1.0236 0.1181 0.4291, 0.6693 0.3937 -0.0039, 1.063 0.3937 -0.0039, 0.6693 -0.3937 -0.0039, 1.063 -0.3937 -0.0039, 0.6693 0.3937 0.0354, 0.6693 -0.3937 0.0354, 1.0236 0.3937 0.0354, 1.0236 -0.3937 0.0354, 1.0236 0.1181 0.3504, 1.0236 -0.1181 0.3504, 1.0236 -0.1181 0.4291, 1.0236 -0.3937 0.4291, 1.063 -0.3937 0.4291, 1.063 -0.1181 0.4291, 1.063 -0.1181 0.3504, 1.063 0.1181 0.3504, -1.0236 0.3937 0.4291, -1.063 0.3937 0.4291, -1.0236 0.1181 0.4291, -1.063 0.1181 0.4291, -1.063 0.3937 -0.0039, -0.6693 0.3937 -0.0039, -1.063 -0.3937 -0.0039, -0.6693 -0.3937 -0.0039, -0.6693 0.3937 0.0354, -0.6693 -0.3937 0.0354, -1.0236 0.3937 0.0354, -1.0236 -0.3937 0.0354, -1.0236 -0.1181 0.4291, -1.0236 -0.3937 0.4291, -1.0236 -0.1181 0.3504, -1.0236 0.1181 0.3504, -1.063 -0.3937 0.4291, -1.063 -0.1181 0.4291, -1.063 0.1181 0.3504, -1.063 -0.1181 0.3504, -1.063 -0.1181 0.3504
]
}
coordIndex [
0,1,2,-1,2,1,3,-1,4,5,6,-1,6,5,7,-1,8,4,9,-1,9,4,6,-1,10,8,11,-1,11,8,9,-1,3,1,12,-1,12,1,10,-1,12,10,13,-1,13,10,11,-1,13,11,14,-1,14,11,15,-1,15,16,14,-1,14,16,17,-1,17,16,18,-1,18,16,7,-1,18,7,19,-1,19,7,5,-1,19,5,2,-1,2,5,0,-1,1,0,10,-1,10,0,5,-1,10,5,8,-1,8,5,4,-1,9,6,11,-1,11,6,7,-1,11,7,15,-1,15,7,16,-1,19,2,12,-1,12,2,3,-1,18,19,13,-1,13,19,12,-1,17,18,14,-1,14,18,13,-1,20,21,22,-1,22,21,23,-1,24,25,26,-1,26,25,27,-1,25,28,27,-1,27,28,29,-1,28,30,29,-1,29,30,31,-1,32,33,34,-1,34,33,31,-1,34,31,35,-1,35,31,30,-1,35,30,22,-1,22,30,20,-1,36,33,37,-1,37,33,32,-1,23,21,38,-1,38,21,24,-1,38,24,39,-1,39,24,26,-1,39,26,37,-1,37,26,36,-1,28,25,30,-1,30,25,24,-1,30,24,20,-1,20,24,21,-1,33,36,31,-1,31,36,26,-1,31,26,29,-1,29,26,27,-1,23,38,22,-1,22,38,35,-1,38,39,35,-1,35,39,34,-1,39,37,34,-1,34,37,32,-1,
]
}
}
Shape{
appearance Appearance {
material Material {
diffuseColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
specularColor 0.25098039215686274 0.25098039215686274 0.25098039215686274
ambientIntensity 0.2
transparency 0
shininess 0.5
}
}
geometry IndexedFaceSet {
ccw TRUE
solid FALSE
coord DEF co Coordinate {
point [
-0.2222 0.1878 0.7874, -0.2222 -0.0715 0.7874, -0.1646 -0.0715 0.7874, 0.2712 -0.2059 0.7874, 0.2865 -0.132 0.7874, 0.2147 0.1446 0.7874, 0.3151 -0.0463 0.7874, -0.0135 -0.0379 0.7874, -0.0493 -0.0379 0.7874, -0.0493 -0.2059 0.7874, 0.4596 0.1578 0.7874, 0.4 0.0392 0.7874, 1.0236 -0.8071 0.7874, 0.3589 -0.063 0.7874, 0.3342 -0.1476 0.7874, 0.324 -0.2059 0.7874, 0.1379 0.0835 0.7874, 0.1353 0.0567 0.7874, 0.1283 0.0353 0.7874, 0.1173 0.0175 0.7874, 0.3595 0.0546 0.7874, 0.3935 0.1204 0.7874, 0.4068 0.1446 0.7874, 0.4596 0.1878 0.7874, 1.0236 0.8071 0.7874, 1.0169 0.858 0.7874, 0.0526 -0.0218 0.7874, 0.0526 -0.0231 0.7874, 0.0565 -0.0206 0.7874, 0.0704 -0.0335 0.7874, 0.0878 -0.0074 0.7874, 0.9972 0.9055 0.7874, 0.966 0.9463 0.7874, 0.9252 0.9776 0.7874, 0.1085 0.0079 0.7874, 0.0835 -0.0464 0.7874, 0.8268 -1.0039 0.7874, 0.8777 -0.9972 0.7874, 0.1811 -0.2059 0.7874, 0.9252 -0.9776 0.7874, 0.966 -0.9463 0.7874, 0.1067 -0.0797 0.7874, 0.111 -0.0868 0.7874, 0.9972 -0.9055 0.7874, 1.0169 -0.858 0.7874, 0.1235 -0.2059 0.7874, 0.0596 -0.0951 0.7874, 0.0387 -0.0639 0.7874, 0.025 -0.0503 0.7874, 0.013 -0.0431 0.7874, -0.0015 -0.0388 0.7874, -0.2702 -0.2059 0.7874, -0.2702 -0.1147 0.7874, -0.4526 -0.1147 0.7874, -1.0169 0.858 0.7874, -1.0236 0.8071 0.7874, -0.3134 0.1166 0.7874, -0.966 -0.9463 0.7874, -0.2222 -0.2059 0.7874, -0.9972 -0.9055 0.7874, -1.0169 -0.858 0.7874, -0.8268 -1.0039 0.7874, -0.1021 -0.2059 0.7874, -0.8777 -0.9972 0.7874, -0.9252 -0.9776 0.7874, -0.3826 0.0137 0.7874, -1.0236 -0.8071 0.7874, -0.4526 -0.0737 0.7874, 0.0493 0.1852 0.7874, 0.078 0.1771 0.7874, 0.2147 0.1878 0.7874, 0.0994 0.1652 0.7874, -0.1021 0.1878 0.7874, 0.0166 0.1878 0.7874, -0.8268 1.0039 0.7874, 0.8268 1.0039 0.7874, 0.8777 0.9972 0.7874, 0.1099 0.1565 0.7874, 0.1229 0.1407 0.7874, 0.1321 0.1217 0.7874, 0.1374 0.0958 0.7874, -0.8777 0.9972 0.7874, -0.9252 0.9776 0.7874, -0.966 0.9463 0.7874, -0.9972 0.9055 0.7874, -0.2222 -0.1147 0.7874, -0.1646 -0.1147 0.7874, -0.2735 0.1878 0.7874, 0.8268 -1.0039 0.0, -0.0274 -1.0039 0.0, 0.5118 -0.4724 0.0, -0.5118 -0.4724 0.0, -0.5118 -0.0566 0.0, -0.0274 -0.0566 0.0, -1.0169 -0.858 0.0, -1.0236 -0.8071 0.0, -0.8268 -1.0039 0.0, -1.0236 -0.4724 0.0, -0.8777 -0.9972 0.0, -0.9252 -0.9776 0.0, -0.966 -0.9463 0.0, -0.9972 -0.9055 0.0, 0.0951 -0.0566 0.0, 0.0998 -0.0573 0.0, 0.103 -0.0573 0.0, 0.5118 -0.0566 0.0, 1.0236 -0.4724 0.0, 1.0236 -0.8071 0.0, 0.8777 -0.9972 0.0, 0.9252 -0.9776 0.0, 0.966 -0.9463 0.0, 1.0169 -0.858 0.0, 0.9972 -0.9055 0.0, -0.0274 1.0039 0.0, -0.0159 -0.0429 0.0, -0.0159 -0.0559 0.0, 0.0475 -0.0559 0.0, -0.013 0.0493 0.0, 0.0317 0.0493 0.0, 0.0317 0.0104 0.0, 0.0705 -0.0498 0.0, 0.0705 -0.0368 0.0, 0.0475 0.0622 0.0, 0.0831 -0.0549 0.0, 0.5118 0.4724 0.0, 1.0236 0.4724 0.0, 0.8268 1.0039 0.0, 1.0236 0.8071 0.0, 1.0169 0.858 0.0, 0.0317 -0.0026 0.0, 0.0317 -0.0429 0.0, -0.0101 -0.0026 0.0, -0.0101 0.0104 0.0, 0.8777 0.9972 0.0, 0.9252 0.9776 0.0, 0.9972 0.9055 0.0, 0.966 0.9463 0.0, 0.229 -0.0559 0.0, 0.11 -0.0566 0.0, 0.1685 -0.0559 0.0, 0.1176 -0.0558 0.0, 0.129 -0.0519 0.0, -0.013 0.0622 0.0, 0.1098 0.0494 0.0, 0.1187 0.0462 0.0, 0.0727 -0.038 0.0, 0.1269 0.0407 0.0, 0.134 0.0329 0.0, 0.1426 0.0019 0.0, 0.1414 -0.0109 0.0, 0.1382 -0.021 0.0, 0.1119 -0.0431 0.0, 0.1009 -0.0444 0.0, 0.1205 -0.04 0.0, 0.1277 -0.0351 0.0, 0.1333 -0.0292 0.0, 0.0852 -0.0426 0.0, 0.1522 0.0311 0.0, 0.1453 0.0422 0.0, 0.2131 0.0622 0.0, 0.1389 0.0237 0.0, 0.142 0.0111 0.0, 0.1346 0.0524 0.0, 0.229 0.0622 0.0, 0.1385 -0.0458 0.0, 0.1474 -0.0365 0.0, 0.1685 -0.0429 0.0, 0.1537 -0.0252 0.0, 0.2131 -0.0429 0.0, 0.1573 -0.0127 0.0, 0.1584 0.0009 0.0, 0.1567 0.0177 0.0, 0.1234 0.0589 0.0, 0.1102 0.0627 0.0, 0.0983 0.0637 0.0, 0.0842 0.0627 0.0, 0.0705 0.059 0.0, 0.0705 0.0431 0.0, 0.0839 0.0488 0.0, 0.0982 0.0507 0.0, -0.1426 -0.0559 0.0, -0.1281 -0.0235 0.0, -0.1213 -0.0341 0.0, -0.5118 0.4724 0.0, -1.0236 0.4724 0.0, -1.0236 0.8071 0.0, -0.8268 1.0039 0.0, -0.8777 0.9972 0.0, -0.1116 -0.0434 0.0, -0.0993 -0.0505 0.0, -0.0857 -0.0546 0.0, -0.2319 -0.0559 0.0, -0.2492 -0.0559 0.0, -0.2031 0.0622 0.0, -0.1873 0.0622 0.0, -0.071 -0.0559 0.0, -0.0389 -0.0559 0.0, -0.0389 0.0622 0.0, -0.0723 0.0622 0.0, -0.1161 0.0468 0.0, -0.1245 0.0376 0.0, -0.13 0.0274 0.0, -0.1599 -0.0559 0.0, -0.1712 -0.0228 0.0, -0.22 -0.0228 0.0, -0.0893 0.0604 0.0, -0.1031 0.0556 0.0, -0.116 0.0469 0.0, -1.0169 0.858 0.0, -0.9972 0.9055 0.0, -0.9252 0.9776 0.0, -0.966 0.9463 0.0, -0.1331 0.0158 0.0, -0.134 0.0047 0.0, -0.1323 -0.0111 0.0, -1.0236 -0.437 0.0354, -1.0236 0.437 0.0354, 1.0236 0.437 0.0354, 1.0236 -0.437 0.0354, 0.5472 -0.437 0.0354, 0.5472 0.437 0.0354, -0.5472 -0.437 0.0354, -0.5472 0.437 0.0354, -0.5472 0.437 0.0354
]
}
coordIndex [
0,1,2,-1,3,4,5,-1,5,4,6,-1,7,8,9,-1,10,11,12,-1,12,11,13,-1,13,14,12,-1,12,14,15,-1,12,15,3,-1,16,17,3,-1,3,17,18,-1,3,18,19,-1,6,20,5,-1,5,20,21,-1,5,21,22,-1,10,12,23,-1,23,12,24,-1,23,24,25,-1,26,27,28,-1,28,27,29,-1,28,29,30,-1,25,31,23,-1,23,31,32,-1,23,32,33,-1,30,29,34,-1,34,29,35,-1,34,35,19,-1,36,37,38,-1,38,37,39,-1,38,39,40,-1,35,41,19,-1,19,41,42,-1,19,42,3,-1,3,42,38,-1,3,38,12,-1,40,43,38,-1,38,43,44,-1,38,44,12,-1,45,46,9,-1,9,46,47,-1,9,47,48,-1,48,49,9,-1,9,49,50,-1,9,50,7,-1,51,52,53,-1,54,55,56,-1,57,58,59,-1,59,58,51,-1,59,51,60,-1,38,45,36,-1,36,45,9,-1,36,9,61,-1,61,9,62,-1,61,62,63,-1,63,62,58,-1,63,58,64,-1,64,58,57,-1,56,55,65,-1,60,51,66,-1,66,51,53,-1,66,53,55,-1,55,53,67,-1,55,67,65,-1,68,69,70,-1,70,69,71,-1,72,73,74,-1,73,68,74,-1,74,68,70,-1,74,70,75,-1,75,70,23,-1,75,23,76,-1,76,23,33,-1,71,77,70,-1,70,77,78,-1,70,78,5,-1,5,78,79,-1,5,79,3,-1,3,79,80,-1,3,80,16,-1,74,81,56,-1,56,81,82,-1,82,83,56,-1,56,83,84,-1,56,84,54,-1,85,58,86,-1,86,58,62,-1,86,62,2,-1,2,62,72,-1,2,72,0,-1,0,72,74,-1,0,74,87,-1,87,74,56,-1,88,89,90,-1,91,92,93,-1,94,95,96,-1,96,95,97,-1,96,97,89,-1,98,99,100,-1,98,100,96,-1,96,100,101,-1,96,101,94,-1,102,103,89,-1,89,103,90,-1,90,103,104,-1,90,104,105,-1,90,106,88,-1,88,106,107,-1,88,107,108,-1,108,107,109,-1,109,107,110,-1,110,107,111,-1,110,111,112,-1,113,114,93,-1,93,114,115,-1,93,115,116,-1,117,118,119,-1,120,116,121,-1,121,116,122,-1,97,91,89,-1,89,91,93,-1,89,93,102,-1,102,93,116,-1,102,116,123,-1,123,116,120,-1,124,113,125,-1,125,113,126,-1,125,126,127,-1,127,126,128,-1,129,130,131,-1,131,130,114,-1,131,114,132,-1,126,133,128,-1,128,133,134,-1,128,134,135,-1,135,134,136,-1,137,138,139,-1,139,138,140,-1,139,140,141,-1,119,132,117,-1,117,132,114,-1,117,114,142,-1,142,114,113,-1,142,113,122,-1,143,144,145,-1,145,144,146,-1,145,146,147,-1,148,149,145,-1,145,149,150,-1,151,152,153,-1,153,152,154,-1,150,155,145,-1,145,155,154,-1,145,154,156,-1,156,154,152,-1,157,158,159,-1,147,160,145,-1,145,160,161,-1,145,161,148,-1,158,162,159,-1,159,162,113,-1,159,113,163,-1,163,113,124,-1,163,124,137,-1,137,124,105,-1,137,105,138,-1,138,105,104,-1,141,164,139,-1,139,164,165,-1,139,165,166,-1,166,165,167,-1,166,167,168,-1,167,169,168,-1,168,169,170,-1,168,170,159,-1,159,170,171,-1,159,171,157,-1,162,172,113,-1,113,172,173,-1,113,173,174,-1,174,175,113,-1,113,175,176,-1,113,176,122,-1,122,176,177,-1,122,177,121,-1,121,177,178,-1,121,178,145,-1,145,178,179,-1,145,179,143,-1,180,181,182,-1,183,184,113,-1,113,184,185,-1,113,185,186,-1,186,185,187,-1,182,188,180,-1,180,188,189,-1,180,189,190,-1,191,93,192,-1,192,93,92,-1,192,92,193,-1,193,92,183,-1,193,183,194,-1,194,183,113,-1,195,196,93,-1,93,196,197,-1,93,197,113,-1,113,197,198,-1,199,200,194,-1,194,200,201,-1,190,195,180,-1,180,195,93,-1,180,93,202,-1,202,93,191,-1,202,191,203,-1,203,191,204,-1,198,205,113,-1,113,205,206,-1,113,206,194,-1,194,206,207,-1,194,207,199,-1,185,208,187,-1,187,208,209,-1,187,209,210,-1,210,209,211,-1,201,212,194,-1,194,212,213,-1,194,213,180,-1,180,213,214,-1,180,214,181,-1,97,95,215,-1,215,95,66,-1,215,66,216,-1,216,66,55,-1,216,55,184,-1,184,55,185,-1,125,127,217,-1,217,127,24,-1,217,24,218,-1,218,24,12,-1,218,12,106,-1,106,12,107,-1,75,126,74,-1,74,126,113,-1,74,113,186,-1,88,36,89,-1,89,36,61,-1,89,61,96,-1,219,220,218,-1,218,220,217,-1,215,216,221,-1,221,216,222,-1,66,95,94,-1,66,94,60,-1,60,94,101,-1,60,101,59,-1,59,101,100,-1,59,100,57,-1,57,100,99,-1,57,99,64,-1,64,99,98,-1,64,98,63,-1,63,98,96,-1,63,96,61,-1,74,186,187,-1,74,187,81,-1,81,187,210,-1,81,210,82,-1,82,210,211,-1,82,211,83,-1,83,211,209,-1,83,209,84,-1,84,209,208,-1,84,208,54,-1,54,208,185,-1,54,185,55,-1,36,88,108,-1,36,108,37,-1,37,108,109,-1,37,109,39,-1,39,109,110,-1,39,110,40,-1,40,110,112,-1,40,112,43,-1,43,112,111,-1,43,111,44,-1,44,111,107,-1,44,107,12,-1,24,127,128,-1,24,128,25,-1,25,128,135,-1,25,135,31,-1,31,135,136,-1,31,136,32,-1,32,136,134,-1,32,134,33,-1,33,134,133,-1,33,133,76,-1,76,133,126,-1,76,126,75,-1,
]
}
}
Shape{
appearance Appearance {
material Material {
diffuseColor 0.0 0.0 0.0
specularColor 0.0 0.0 0.0
ambientIntensity 0.2
transparency 0
shininess 0.5
}
}
geometry IndexedFaceSet {
ccw TRUE
solid FALSE
coord DEF co Coordinate {
point [
-0.2031 0.0622 0.0004, -0.2492 -0.0559 0.0004, -0.2031 0.0622 0.0, -0.2492 -0.0559 0.0, -0.2319 -0.0559 0.0004, -0.2319 -0.0559 0.0, -0.22 -0.0228 0.0004, -0.22 -0.0228 0.0, -0.1712 -0.0228 0.0004, -0.1712 -0.0228 0.0, -0.1599 -0.0559 0.0004, -0.1599 -0.0559 0.0, -0.1426 -0.0559 0.0004, -0.1426 -0.0559 0.0, -0.1873 0.0622 0.0004, -0.1873 0.0622 0.0, -0.1752 -0.0098 0.0004, -0.2147 -0.0098 0.0004, -0.1928 0.0395 0.0004, -0.1939 0.0436 0.0004, -0.1947 0.0478 0.0004, -0.1951 0.0478 0.0004, -0.1958 0.0437 0.0004, -0.1969 0.0395 0.0004, -0.1752 -0.0098 0.0, -0.2147 -0.0098 0.0, -0.1928 0.0395 0.0, -0.1939 0.0436 0.0, -0.1947 0.0478 0.0, -0.1951 0.0478 0.0, -0.1958 0.0437 0.0, -0.1969 0.0395 0.0, -0.071 -0.0559 0.0004, -0.0389 -0.0559 0.0004, -0.071 -0.0559 0.0, -0.0389 -0.0559 0.0, -0.0389 0.0622 0.0004, -0.0389 0.0622 0.0, -0.0723 0.0622 0.0004, -0.0723 0.0622 0.0, -0.134 0.0047 0.0004, -0.134 0.0047 0.0, -0.1331 0.0158 0.0, -0.1331 0.0158 0.0004, -0.13 0.0274 0.0, -0.13 0.0274 0.0004, -0.1245 0.0376 0.0, -0.1245 0.0376 0.0004, -0.1161 0.0468 0.0, -0.1161 0.0468 0.0004, -0.116 0.0469 0.0, -0.116 0.0469 0.0004, -0.1031 0.0556 0.0, -0.1031 0.0556 0.0004, -0.0893 0.0604 0.0, -0.0893 0.0604 0.0004, -0.0857 -0.0546 0.0, -0.0857 -0.0546 0.0004, -0.0993 -0.0505 0.0, -0.0993 -0.0505 0.0004, -0.1116 -0.0434 0.0, -0.1116 -0.0434 0.0004, -0.1213 -0.0341 0.0, -0.1213 -0.0341 0.0004, -0.1281 -0.0235 0.0, -0.1281 -0.0235 0.0004, -0.1323 -0.0111 0.0, -0.1323 -0.0111 0.0004, -0.1103 0.0327 0.0004, -0.1045 0.0388 0.0004, -0.0959 0.0444 0.0004, -0.0862 0.0478 0.0004, -0.0722 0.0493 0.0004, -0.0548 0.0493 0.0004, -0.0548 -0.0429 0.0004, -0.0715 -0.0429 0.0004, -0.084 -0.0418 0.0004, -0.0939 -0.0387 0.0004, -0.102 -0.0339 0.0004, -0.1086 -0.0273 0.0004, -0.1136 -0.0192 0.0004, -0.1171 -0.0081 0.0004, -0.1181 0.0043 0.0004, -0.1171 0.0161 0.0004, -0.1144 0.0254 0.0004, -0.0722 0.0493 0.0, -0.0548 0.0493 0.0, -0.0862 0.0478 0.0, -0.0959 0.0444 0.0, -0.1045 0.0388 -0.0, -0.1103 0.0327 0.0, -0.1144 0.0254 -0.0, -0.1171 0.0161 -0.0, -0.1181 0.0043 0.0, -0.1171 -0.0081 0.0, -0.1136 -0.0192 0.0, -0.1086 -0.0273 0.0, -0.102 -0.0339 0.0, -0.0939 -0.0387 0.0, -0.084 -0.0418 0.0, -0.0715 -0.0429 0.0, -0.0548 -0.0429 0.0, -0.0159 -0.0429 0.0004, -0.0159 -0.0559 0.0004, -0.0159 -0.0429 0.0, -0.0159 -0.0559 0.0, 0.0475 -0.0559 0.0004, 0.0475 -0.0559 0.0, 0.0475 0.0622 0.0004, 0.0475 0.0622 0.0, -0.013 0.0622 0.0004, -0.013 0.0622 0.0, -0.013 0.0493 0.0004, -0.013 0.0493 0.0, 0.0317 0.0493 0.0004, 0.0317 0.0493 0.0, 0.0317 0.0104 0.0004, 0.0317 0.0104 0.0, -0.0101 0.0104 0.0004, -0.0101 0.0104 0.0, -0.0101 -0.0026 0.0004, -0.0101 -0.0026 0.0, 0.0317 -0.0026 0.0004, 0.0317 -0.0026 0.0, 0.0317 -0.0429 0.0004, 0.0317 -0.0429 0.0, 0.0705 -0.0368 0.0004, 0.0705 -0.0498 0.0004, 0.0705 -0.0368 0.0, 0.0705 -0.0498 0.0, 0.0831 -0.0549 0.0004, 0.103 -0.0573 0.0004, 0.103 -0.0573 0.0, 0.0998 -0.0573 0.0, 0.0998 -0.0573 0.0004, 0.0951 -0.0566 0.0, 0.0831 -0.0549 0.0, 0.11 -0.0566 0.0, 0.1176 -0.0558 0.0004, 0.1176 -0.0558 0.0, 0.129 -0.0519 0.0004, 0.129 -0.0519 0.0, 0.1385 -0.0458 0.0004, 0.1385 -0.0458 0.0, 0.1474 -0.0365 0.0004, 0.1474 -0.0365 0.0, 0.1537 -0.0252 0.0004, 0.1537 -0.0252 0.0, 0.1573 -0.0127 0.0004, 0.1573 -0.0127 0.0, 0.1584 0.0009 0.0004, 0.1584 0.0009 0.0, 0.0983 0.0637 0.0004, 0.0983 0.0637 0.0, 0.1102 0.0627 0.0, 0.1102 0.0627 0.0004, 0.1234 0.0589 0.0, 0.1234 0.0589 0.0004, 0.1346 0.0524 0.0, 0.1346 0.0524 0.0004, 0.1453 0.0422 0.0, 0.1453 0.0422 0.0004, 0.1522 0.0311 0.0, 0.1522 0.0311 0.0004, 0.1567 0.0177 0.0, 0.1567 0.0177 0.0004, 0.0705 0.059 0.0004, 0.0705 0.059 0.0, 0.0842 0.0627 0.0, 0.0842 0.0627 0.0004, 0.0705 0.0431 0.0004, 0.0705 0.0431 0.0, 0.0982 0.0507 0.0004, 0.0982 0.0507 0.0, 0.0839 0.0488 0.0, 0.0839 0.0488 0.0004, 0.1426 0.0019 0.0004, 0.1426 0.0019 0.0, 0.142 0.0111 0.0, 0.142 0.0111 0.0004, 0.1389 0.0237 0.0, 0.1389 0.0237 0.0004, 0.134 0.0329 0.0, 0.134 0.0329 0.0004, 0.1269 0.0407 0.0, 0.1269 0.0407 0.0004, 0.1187 0.0462 0.0, 0.1187 0.0462 0.0004, 0.1098 0.0494 0.0, 0.1098 0.0494 0.0004, 0.1009 -0.0444 0.0004, 0.1009 -0.0444 0.0, 0.1119 -0.0431 0.0, 0.1119 -0.0431 0.0004, 0.1205 -0.04 0.0, 0.1205 -0.04 0.0004, 0.1277 -0.0351 0.0, 0.1277 -0.0351 0.0004, 0.1333 -0.0292 0.0, 0.1333 -0.0292 0.0004, 0.1382 -0.021 0.0, 0.1382 -0.021 0.0004, 0.1414 -0.0109 0.0, 0.1414 -0.0109 0.0004, 0.0727 -0.038 0.0, 0.0727 -0.038 0.0004, 0.0852 -0.0426 0.0, 0.0852 -0.0426 0.0004, 0.1685 -0.0429 0.0004, 0.1685 -0.0559 0.0004, 0.1685 -0.0429 0.0, 0.1685 -0.0559 0.0, 0.229 -0.0559 0.0004, 0.229 -0.0559 0.0, 0.229 0.0622 0.0004, 0.229 0.0622 0.0, 0.2131 0.0622 0.0004, 0.2131 0.0622 0.0, 0.2131 -0.0429 0.0004, 0.2131 -0.0429 0.0, 0.2131 -0.0429 0.0
]
}
coordIndex [
0,1,2,-1,2,1,3,-1,1,4,3,-1,3,4,5,-1,4,6,5,-1,5,6,7,-1,6,8,7,-1,7,8,9,-1,8,10,9,-1,9,10,11,-1,10,12,11,-1,11,12,13,-1,12,14,13,-1,13,14,15,-1,14,0,15,-1,15,0,2,-1,16,8,17,-1,17,8,6,-1,18,14,16,-1,16,14,12,-1,16,12,8,-1,8,12,10,-1,18,19,14,-1,14,19,20,-1,14,20,0,-1,0,20,21,-1,0,21,22,-1,22,23,0,-1,0,23,17,-1,0,17,1,-1,1,17,6,-1,1,6,4,-1,16,17,24,-1,24,17,25,-1,18,16,26,-1,26,16,24,-1,18,26,27,-1,18,27,19,-1,19,27,28,-1,19,28,20,-1,21,20,29,-1,29,20,28,-1,21,29,30,-1,21,30,22,-1,22,30,31,-1,22,31,23,-1,17,23,25,-1,25,23,31,-1,32,33,34,-1,34,33,35,-1,33,36,35,-1,35,36,37,-1,36,38,37,-1,37,38,39,-1,40,41,42,-1,40,42,43,-1,43,42,44,-1,43,44,45,-1,45,44,46,-1,45,46,47,-1,47,46,48,-1,47,48,49,-1,49,48,50,-1,49,50,51,-1,51,50,52,-1,51,52,53,-1,53,52,54,-1,53,54,55,-1,55,54,39,-1,55,39,38,-1,32,34,56,-1,32,56,57,-1,57,56,58,-1,57,58,59,-1,59,58,60,-1,59,60,61,-1,61,60,62,-1,61,62,63,-1,63,62,64,-1,63,64,65,-1,65,64,66,-1,65,66,67,-1,67,66,41,-1,67,41,40,-1,45,47,68,-1,68,47,49,-1,68,49,69,-1,69,49,51,-1,69,51,70,-1,70,51,53,-1,70,53,71,-1,71,53,55,-1,71,55,72,-1,72,55,38,-1,72,38,73,-1,73,38,36,-1,73,36,74,-1,74,36,33,-1,74,33,75,-1,75,33,32,-1,75,32,76,-1,76,32,57,-1,76,57,77,-1,77,57,59,-1,77,59,78,-1,78,59,61,-1,78,61,79,-1,79,61,63,-1,79,63,80,-1,80,63,65,-1,80,65,81,-1,81,65,67,-1,81,67,82,-1,82,67,40,-1,82,40,83,-1,83,40,43,-1,83,43,84,-1,84,43,45,-1,84,45,68,-1,72,73,85,-1,85,73,86,-1,72,85,87,-1,72,87,71,-1,71,87,88,-1,71,88,70,-1,70,88,89,-1,70,89,69,-1,69,89,90,-1,69,90,68,-1,68,90,91,-1,68,91,84,-1,84,91,92,-1,84,92,83,-1,83,92,93,-1,83,93,82,-1,82,93,94,-1,82,94,81,-1,81,94,95,-1,81,95,80,-1,80,95,96,-1,80,96,79,-1,79,96,97,-1,79,97,78,-1,78,97,98,-1,78,98,77,-1,77,98,99,-1,77,99,76,-1,76,99,100,-1,76,100,75,-1,74,75,101,-1,101,75,100,-1,73,74,86,-1,86,74,101,-1,102,103,104,-1,104,103,105,-1,103,106,105,-1,105,106,107,-1,106,108,107,-1,107,108,109,-1,108,110,109,-1,109,110,111,-1,110,112,111,-1,111,112,113,-1,112,114,113,-1,113,114,115,-1,114,116,115,-1,115,116,117,-1,116,118,117,-1,117,118,119,-1,118,120,119,-1,119,120,121,-1,120,122,121,-1,121,122,123,-1,122,124,123,-1,123,124,125,-1,124,102,125,-1,125,102,104,-1,106,103,102,-1,102,124,106,-1,106,124,122,-1,106,122,108,-1,112,110,114,-1,114,110,108,-1,114,108,116,-1,116,108,122,-1,116,122,118,-1,118,122,120,-1,126,127,128,-1,128,127,129,-1,129,127,130,-1,131,132,133,-1,131,133,134,-1,134,133,135,-1,134,135,130,-1,130,135,136,-1,130,136,129,-1,132,131,137,-1,137,131,138,-1,137,138,139,-1,139,138,140,-1,139,140,141,-1,141,140,142,-1,141,142,143,-1,143,142,144,-1,143,144,145,-1,145,144,146,-1,145,146,147,-1,147,146,148,-1,147,148,149,-1,149,148,150,-1,149,150,151,-1,152,153,154,-1,152,154,155,-1,155,154,156,-1,155,156,157,-1,157,156,158,-1,157,158,159,-1,159,158,160,-1,159,160,161,-1,161,160,162,-1,161,162,163,-1,163,162,164,-1,163,164,165,-1,165,164,151,-1,165,151,150,-1,166,167,168,-1,166,168,169,-1,169,168,153,-1,169,153,152,-1,166,170,167,-1,167,170,171,-1,172,173,174,-1,172,174,175,-1,175,174,171,-1,175,171,170,-1,176,177,178,-1,176,178,179,-1,179,178,180,-1,179,180,181,-1,181,180,182,-1,181,182,183,-1,183,182,184,-1,183,184,185,-1,185,184,186,-1,185,186,187,-1,187,186,188,-1,187,188,189,-1,189,188,173,-1,189,173,172,-1,190,191,192,-1,190,192,193,-1,193,192,194,-1,193,194,195,-1,195,194,196,-1,195,196,197,-1,197,196,198,-1,197,198,199,-1,199,198,200,-1,199,200,201,-1,201,200,202,-1,201,202,203,-1,203,202,177,-1,203,177,176,-1,126,128,204,-1,126,204,205,-1,205,204,206,-1,205,206,207,-1,207,206,191,-1,207,191,190,-1,193,131,190,-1,190,131,134,-1,190,134,207,-1,207,134,130,-1,207,130,205,-1,205,130,127,-1,205,127,126,-1,170,166,175,-1,175,166,169,-1,175,169,172,-1,172,169,152,-1,172,152,189,-1,189,152,155,-1,189,155,187,-1,187,155,157,-1,187,157,185,-1,185,157,159,-1,185,159,183,-1,183,159,161,-1,183,161,181,-1,181,161,163,-1,181,163,179,-1,179,163,165,-1,179,165,176,-1,176,165,150,-1,176,150,203,-1,203,150,148,-1,203,148,201,-1,201,148,146,-1,201,146,199,-1,199,146,144,-1,199,144,197,-1,197,144,142,-1,197,142,195,-1,195,142,140,-1,195,140,193,-1,193,140,138,-1,193,138,131,-1,208,209,210,-1,210,209,211,-1,209,212,211,-1,211,212,213,-1,212,214,213,-1,213,214,215,-1,214,216,215,-1,215,216,217,-1,216,218,217,-1,217,218,219,-1,218,208,219,-1,219,208,210,-1,216,214,218,-1,218,214,212,-1,218,212,208,-1,208,212,209,-1,
]
}
}
Shape{
appearance Appearance {
material Material {
diffuseColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
specularColor 0.25098039215686274 0.25098039215686274 0.25098039215686274
ambientIntensity 0.2
transparency 0
shininess 0.5
}
}
geometry IndexedFaceSet {
ccw TRUE
solid FALSE
coord DEF co Coordinate {
point [
-0.1752 -0.0098 0.0, -0.2147 -0.0098 0.0, -0.1928 0.0395 0.0, -0.1969 0.0395 0.0, -0.1939 0.0436 0.0, -0.1958 0.0437 0.0, -0.1947 0.0478 0.0, -0.1951 0.0478 0.0, -0.0548 0.0493 0.0, -0.0548 -0.0429 0.0, -0.0722 0.0493 0.0, -0.0715 -0.0429 0.0, -0.084 -0.0418 0.0, -0.1181 0.0043 0.0, -0.1171 0.0161 -0.0, -0.1144 0.0254 -0.0, -0.0862 0.0478 0.0, -0.0939 -0.0387 0.0, -0.102 -0.0339 0.0, -0.1086 -0.0273 0.0, -0.1136 -0.0192 0.0, -0.1171 -0.0081 0.0, -0.1103 0.0327 0.0, -0.1045 0.0388 -0.0, -0.0959 0.0444 0.0, -0.5472 -0.437 0.0354, -0.5118 -0.4724 0.0, -1.0236 -0.437 0.0354, -1.0236 -0.4724 0.0, -0.5118 -0.0566 0.0, -0.5472 0.437 0.0354, -0.5118 0.4724 0.0, -1.0236 0.4724 0.0, -1.0236 0.437 0.0354, 0.5472 0.437 0.0354, 0.5118 0.4724 0.0, 1.0236 0.437 0.0354, 1.0236 0.4724 0.0, 0.5118 -0.0566 0.0, 0.5472 -0.437 0.0354, 0.5118 -0.4724 0.0, 1.0236 -0.437 0.0354, 1.0236 -0.4724 0.0, 1.0236 -0.4724 0.0
]
}
coordIndex [
0,1,2,-1,2,1,3,-1,2,3,4,-1,4,3,5,-1,4,5,6,-1,6,5,7,-1,8,9,10,-1,10,9,11,-1,10,11,12,-1,13,14,10,-1,10,14,15,-1,10,15,16,-1,12,17,10,-1,10,17,18,-1,10,18,19,-1,19,20,10,-1,10,20,21,-1,10,21,13,-1,22,23,15,-1,15,23,24,-1,15,24,16,-1,25,26,27,-1,27,26,28,-1,26,25,29,-1,29,25,30,-1,29,30,31,-1,31,30,32,-1,32,30,33,-1,34,35,36,-1,36,35,37,-1,35,34,38,-1,38,34,39,-1,38,39,40,-1,41,42,39,-1,39,42,40,-1,
]
}
}
Shape{
appearance Appearance {
material Material {
diffuseColor 0.0 0.0 0.0
specularColor 0.0 0.0 0.0
ambientIntensity 0.2
transparency 0
shininess 0.5
}
}
geometry IndexedFaceSet {
ccw TRUE
solid FALSE
coord DEF co Coordinate {
point [
0.4596 0.1878 0.787, 0.4596 0.1578 0.787, 0.4596 0.1878 0.7874, 0.4596 0.1578 0.7874, 0.324 -0.2059 0.787, 0.324 -0.2059 0.7874, 0.3342 -0.1476 0.7874, 0.3342 -0.1476 0.787, 0.3589 -0.063 0.7874, 0.3589 -0.063 0.787, 0.4 0.0392 0.7874, 0.4 0.0392 0.787, 0.2712 -0.2059 0.787, 0.2712 -0.2059 0.7874, 0.4068 0.1446 0.787, 0.4068 0.1446 0.7874, 0.3935 0.1204 0.7874, 0.3935 0.1204 0.787, 0.3595 0.0546 0.7874, 0.3595 0.0546 0.787, 0.3151 -0.0463 0.7874, 0.3151 -0.0463 0.787, 0.2865 -0.132 0.7874, 0.2865 -0.132 0.787, 0.2147 0.1446 0.787, 0.2147 0.1446 0.7874, 0.2147 0.1878 0.787, 0.2147 0.1878 0.7874, 0.111 -0.0868 0.787, 0.1811 -0.2059 0.787, 0.111 -0.0868 0.7874, 0.1811 -0.2059 0.7874, 0.1235 -0.2059 0.787, 0.1235 -0.2059 0.7874, 0.0596 -0.0951 0.787, 0.0596 -0.0951 0.7874, -0.0135 -0.0379 0.787, -0.0135 -0.0379 0.7874, -0.0015 -0.0388 0.7874, -0.0015 -0.0388 0.787, 0.013 -0.0431 0.7874, 0.013 -0.0431 0.787, 0.025 -0.0503 0.7874, 0.025 -0.0503 0.787, 0.0387 -0.0639 0.7874, 0.0387 -0.0639 0.787, -0.0493 -0.0379 0.787, -0.0493 -0.0379 0.7874, -0.0493 -0.2059 0.787, -0.0493 -0.2059 0.7874, -0.1021 -0.2059 0.787, -0.1021 -0.2059 0.7874, -0.1021 0.1878 0.787, -0.1021 0.1878 0.7874, 0.0166 0.1878 0.787, 0.0166 0.1878 0.7874, 0.1379 0.0835 0.787, 0.1379 0.0835 0.7874, 0.1374 0.0958 0.7874, 0.1374 0.0958 0.787, 0.1321 0.1217 0.7874, 0.1321 0.1217 0.787, 0.1229 0.1407 0.7874, 0.1229 0.1407 0.787, 0.1099 0.1565 0.7874, 0.1099 0.1565 0.787, 0.0994 0.1652 0.7874, 0.0994 0.1652 0.787, 0.078 0.1771 0.7874, 0.078 0.1771 0.787, 0.0493 0.1852 0.7874, 0.0493 0.1852 0.787, 0.0526 -0.0218 0.787, 0.0526 -0.0218 0.7874, 0.0565 -0.0206 0.7874, 0.0565 -0.0206 0.787, 0.0878 -0.0074 0.7874, 0.0878 -0.0074 0.787, 0.1085 0.0079 0.7874, 0.1085 0.0079 0.787, 0.1173 0.0175 0.7874, 0.1173 0.0175 0.787, 0.1283 0.0353 0.7874, 0.1283 0.0353 0.787, 0.1353 0.0567 0.7874, 0.1353 0.0567 0.787, 0.0526 -0.0231 0.787, 0.0526 -0.0231 0.7874, 0.1067 -0.0797 0.7874, 0.1067 -0.0797 0.787, 0.0835 -0.0464 0.7874, 0.0835 -0.0464 0.787, 0.0704 -0.0335 0.7874, 0.0704 -0.0335 0.787, 0.0834 0.0962 0.787, 0.0851 0.0792 0.787, 0.009 0.0053 0.787, 0.084 0.0648 0.787, 0.0797 0.0488 0.787, 0.0711 0.0338 0.787, 0.0791 0.1094 0.787, 0.0723 0.1204 0.787, 0.0633 0.1294 0.787, 0.0518 0.1365 0.787, 0.0338 0.1424 0.787, 0.0097 0.1446 0.787, -0.0493 0.1446 0.787, -0.0493 0.0053 0.787, 0.059 0.0213 0.787, 0.0456 0.0129 0.787, 0.0293 0.0074 0.787, 0.0097 0.1446 0.7874, -0.0493 0.1446 0.7874, 0.0338 0.1424 0.7874, 0.0518 0.1365 0.7874, 0.0633 0.1294 0.7874, 0.0723 0.1204 0.7874, 0.0791 0.1094 0.7874, 0.0834 0.0962 0.7874, 0.0851 0.0792 0.7874, 0.084 0.0648 0.7874, 0.0797 0.0488 0.7874, 0.0711 0.0338 0.7874, 0.059 0.0213 0.7874, 0.0456 0.0129 0.7874, 0.0293 0.0074 0.7874, 0.009 0.0053 0.7874, -0.0493 0.0053 0.7874, -0.2735 0.1878 0.787, -0.2222 0.1878 0.787, -0.2735 0.1878 0.7874, -0.2222 0.1878 0.7874, -0.2222 -0.0715 0.787, -0.2222 -0.0715 0.7874, -0.1646 -0.0715 0.787, -0.1646 -0.0715 0.7874, -0.1646 -0.1147 0.787, -0.1646 -0.1147 0.7874, -0.2222 -0.1147 0.787, -0.2222 -0.1147 0.7874, -0.2222 -0.2059 0.787, -0.2222 -0.2059 0.7874, -0.2702 -0.2059 0.787, -0.2702 -0.2059 0.7874, -0.2702 -0.1147 0.787, -0.2702 -0.1147 0.7874, -0.4526 -0.1147 0.787, -0.4526 -0.1147 0.7874, -0.4526 -0.0737 0.787, -0.4526 -0.0737 0.7874, -0.3134 0.1166 0.7874, -0.3134 0.1166 0.787, -0.3826 0.0137 0.7874, -0.3826 0.0137 0.787, -0.2702 0.1155 0.787, -0.2702 -0.0715 0.787, -0.3294 0.0192 0.787, -0.3969 -0.0715 0.787, -0.3969 -0.0715 0.7874, -0.3294 0.0192 0.7874, -0.2702 0.1155 0.7874, -0.2702 -0.0715 0.7874, -0.2702 -0.0715 0.7874
]
}
coordIndex [
0,1,2,-1,2,1,3,-1,4,5,6,-1,4,6,7,-1,7,6,8,-1,7,8,9,-1,9,8,10,-1,9,10,11,-1,11,10,3,-1,11,3,1,-1,4,12,5,-1,5,12,13,-1,14,15,16,-1,14,16,17,-1,17,16,18,-1,17,18,19,-1,19,18,20,-1,19,20,21,-1,21,20,22,-1,21,22,23,-1,23,22,13,-1,23,13,12,-1,14,24,15,-1,15,24,25,-1,24,26,25,-1,25,26,27,-1,26,0,27,-1,27,0,2,-1,26,24,0,-1,0,24,14,-1,12,4,23,-1,23,4,7,-1,23,7,21,-1,21,7,9,-1,21,9,19,-1,19,9,11,-1,19,11,17,-1,17,11,14,-1,14,11,1,-1,14,1,0,-1,28,29,30,-1,30,29,31,-1,29,32,31,-1,31,32,33,-1,32,34,33,-1,33,34,35,-1,36,37,38,-1,36,38,39,-1,39,38,40,-1,39,40,41,-1,41,40,42,-1,41,42,43,-1,43,42,44,-1,43,44,45,-1,45,44,35,-1,45,35,34,-1,36,46,37,-1,37,46,47,-1,46,48,47,-1,47,48,49,-1,48,50,49,-1,49,50,51,-1,50,52,51,-1,51,52,53,-1,52,54,53,-1,53,54,55,-1,56,57,58,-1,56,58,59,-1,59,58,60,-1,59,60,61,-1,61,60,62,-1,61,62,63,-1,63,62,64,-1,63,64,65,-1,65,64,66,-1,65,66,67,-1,67,66,68,-1,67,68,69,-1,69,68,70,-1,69,70,71,-1,71,70,55,-1,71,55,54,-1,72,73,74,-1,72,74,75,-1,75,74,76,-1,75,76,77,-1,77,76,78,-1,77,78,79,-1,79,78,80,-1,79,80,81,-1,81,80,82,-1,81,82,83,-1,83,82,84,-1,83,84,85,-1,85,84,57,-1,85,57,56,-1,72,86,73,-1,73,86,87,-1,28,30,88,-1,28,88,89,-1,89,88,90,-1,89,90,91,-1,91,90,92,-1,91,92,93,-1,93,92,87,-1,93,87,86,-1,94,95,56,-1,52,50,46,-1,46,50,48,-1,96,39,41,-1,56,95,85,-1,85,95,97,-1,85,97,83,-1,83,97,98,-1,83,98,81,-1,81,98,99,-1,81,99,79,-1,96,41,72,-1,72,41,86,-1,86,41,43,-1,86,43,93,-1,93,43,45,-1,93,45,91,-1,91,45,34,-1,91,34,89,-1,89,34,28,-1,28,34,32,-1,28,32,29,-1,56,59,94,-1,94,59,61,-1,94,61,100,-1,100,61,63,-1,100,63,101,-1,101,63,65,-1,101,65,102,-1,102,65,67,-1,102,67,103,-1,103,67,69,-1,103,69,104,-1,104,69,71,-1,104,71,105,-1,105,71,54,-1,105,54,106,-1,106,54,52,-1,106,52,107,-1,107,52,46,-1,107,46,96,-1,96,46,36,-1,96,36,39,-1,79,99,77,-1,77,99,108,-1,77,108,75,-1,75,108,109,-1,75,109,72,-1,72,109,110,-1,72,110,96,-1,105,106,111,-1,111,106,112,-1,105,111,113,-1,105,113,104,-1,104,113,114,-1,104,114,103,-1,103,114,115,-1,103,115,102,-1,102,115,116,-1,102,116,101,-1,101,116,117,-1,101,117,100,-1,100,117,118,-1,100,118,94,-1,94,118,119,-1,94,119,95,-1,95,119,120,-1,95,120,97,-1,97,120,121,-1,97,121,98,-1,98,121,122,-1,98,122,99,-1,99,122,123,-1,99,123,108,-1,108,123,124,-1,108,124,109,-1,109,124,125,-1,109,125,110,-1,110,125,126,-1,110,126,96,-1,107,96,127,-1,127,96,126,-1,106,107,112,-1,112,107,127,-1,128,129,130,-1,130,129,131,-1,129,132,131,-1,131,132,133,-1,132,134,133,-1,133,134,135,-1,134,136,135,-1,135,136,137,-1,136,138,137,-1,137,138,139,-1,138,140,139,-1,139,140,141,-1,140,142,141,-1,141,142,143,-1,142,144,143,-1,143,144,145,-1,144,146,145,-1,145,146,147,-1,146,148,147,-1,147,148,149,-1,128,130,150,-1,128,150,151,-1,151,150,152,-1,151,152,153,-1,153,152,149,-1,153,149,148,-1,129,154,132,-1,132,154,155,-1,142,140,144,-1,144,140,138,-1,129,128,154,-1,154,128,151,-1,154,151,156,-1,156,151,153,-1,156,153,157,-1,136,134,138,-1,138,134,132,-1,138,132,144,-1,144,132,155,-1,144,155,146,-1,146,155,157,-1,146,157,148,-1,148,157,153,-1,157,158,159,-1,157,159,156,-1,156,159,160,-1,156,160,154,-1,155,154,161,-1,161,154,160,-1,157,155,158,-1,158,155,161,-1,
]
}
}
Shape{
appearance Appearance {
material Material {
diffuseColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
specularColor 0.25098039215686274 0.25098039215686274 0.25098039215686274
ambientIntensity 0.2
transparency 0
shininess 0.5
}
}
geometry IndexedFaceSet {
ccw TRUE
solid FALSE
coord DEF co Coordinate {
point [
0.0097 0.1446 0.7874, 0.0851 0.0792 0.7874, 0.0834 0.0962 0.7874, -0.0493 0.1446 0.7874, -0.0493 0.0053 0.7874, 0.009 0.0053 0.7874, 0.0293 0.0074 0.7874, 0.0633 0.1294 0.7874, 0.0723 0.1204 0.7874, 0.0791 0.1094 0.7874, 0.0518 0.1365 0.7874, 0.0338 0.1424 0.7874, 0.0456 0.0129 0.7874, 0.059 0.0213 0.7874, 0.0711 0.0338 0.7874, 0.0797 0.0488 0.7874, 0.084 0.0648 0.7874, -0.3969 -0.0715 0.7874, -0.2702 -0.0715 0.7874, -0.3294 0.0192 0.7874, -0.2702 0.1155 0.7874, -0.2702 0.1155 0.7874
]
}
coordIndex [
0,1,2,-1,3,4,0,-1,0,4,5,-1,0,5,6,-1,7,2,8,-1,8,2,9,-1,7,10,2,-1,2,10,11,-1,2,11,0,-1,6,12,0,-1,0,12,13,-1,0,13,14,-1,14,15,0,-1,0,15,16,-1,0,16,1,-1,17,18,19,-1,19,18,20,-1,
]
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,178 +0,0 @@
(footprint "0908SQ-23N"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at 0.5 -2 0)
(unlocked yes)
(layer "F.SilkS")
(uuid "ff5069db-971e-4012-a8fe-79a0beeecba2")
(effects
(font
(size 0.6 0.6)
(thickness 0.15)
)
)
)
(property "Value" "0908SQ-23N"
(at 0 2.5 0)
(unlocked yes)
(layer "F.Fab")
(uuid "c788aafb-994d-4f0d-a772-19139ed4b02a")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" "https://www.coilcraft.com/getmedia/b4a6ff85-4c1f-448e-aea7-541369538706/sq_spring.pdf"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "69f6b539-b4d8-480f-bee6-8714df5845b6")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Description" "Square Air Core Inductor 24 nH, Q>120, I_rms=4.4 A"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "cbff2ecb-ae54-4bf8-ad5c-7f89f71cb09b")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -0.5 -1.4)
(end 0.5 -1.4)
(stroke
(width 0.1)
(type default)
)
(layer "F.SilkS")
(uuid "89716351-aa68-45c5-9c3e-57a3f007a040")
)
(fp_line
(start -0.5 1.4)
(end -0.5 1.5)
(stroke
(width 0.1)
(type default)
)
(layer "F.SilkS")
(uuid "cea89c5b-1ac2-48fe-a52f-4eaaf0b14cf0")
)
(fp_line
(start -0.5 1.4)
(end 0.5 1.4)
(stroke
(width 0.1)
(type default)
)
(layer "F.SilkS")
(uuid "1d3ae979-5ae2-473f-8263-c0f541358936")
)
(fp_rect
(start -1.3 -1.4)
(end 1.3 1.4)
(stroke
(width 0.05)
(type default)
)
(fill no)
(layer "F.CrtYd")
(uuid "2381b2f1-d50e-475d-b21e-9824096947db")
)
(fp_line
(start -1.2 -1.3)
(end -1.2 1.3)
(stroke
(width 0.1)
(type default)
)
(layer "F.Fab")
(uuid "4ebbb063-9f45-469d-9765-d35393b51da2")
)
(fp_line
(start -1.2 -1.3)
(end 1.2 -1.3)
(stroke
(width 0.1)
(type default)
)
(layer "F.Fab")
(uuid "a13d60b6-8e9f-4ab4-8d58-b542c5386432")
)
(fp_line
(start -1.2 1.3)
(end 1.2 1.3)
(stroke
(width 0.1)
(type default)
)
(layer "F.Fab")
(uuid "26a9057f-9cb3-4820-8fb7-a169dafbc550")
)
(fp_line
(start 1.2 1.3)
(end 1.2 -1.3)
(stroke
(width 0.1)
(type default)
)
(layer "F.Fab")
(uuid "0895da63-d22e-4748-bfb3-4df06a7f00db")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(uuid "d81c5e90-a27e-4bbc-94be-a0bf45dfe818")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd roundrect
(at -0.95 0)
(size 0.64 2.8)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.15)
(thermal_bridge_angle 45)
(uuid "1835b1b7-3832-4dc2-9517-716f0ba370c6")
)
(pad "2" smd roundrect
(at 0.95 0)
(size 0.64 2.8)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.15)
(thermal_bridge_angle 45)
(uuid "cf1fda8d-d25a-4927-a438-7274d4ea4823")
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/Coilcraft-0908SQ-23N.step"
(offset
(xyz -1 -0.9 0.15)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz -90 -0 -0)
)
)
)

View file

@ -1,327 +0,0 @@
(footprint "ANT8010LL05R1516A"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "8010 GPS/Galileo&GLONASS chip antenna")
(tags "ANT8010LL05R1516A ")
(property "Reference" "REF**"
(at -2.7 -1.5 0)
(unlocked yes)
(layer "F.SilkS")
(uuid "67de59bd-50d3-4153-8a4e-c58c9f058573")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "ANT8010LL05R1516A"
(at 0 1.9 0)
(unlocked yes)
(layer "F.Fab")
(uuid "21902822-4981-4d76-b82a-56ff1d338bd9")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "d82f4af2-efea-48d6-810c-b6437c2bcc5a")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" "8010 GPS/Galileo&GLONASS chip antenna"
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "a0162afe-b591-4e82-8c03-f2a4918b03eb")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -2.75315 0.7239)
(end 2.75315 0.7239)
(stroke
(width 0.1524)
(type solid)
)
(layer "F.SilkS")
(uuid "fb87d9b3-72d0-4381-a7a6-3f99b07fda55")
)
(fp_line
(start 2.75315 -0.7239)
(end -2.75315 -0.7239)
(stroke
(width 0.1524)
(type solid)
)
(layer "F.SilkS")
(uuid "584abc94-0543-4317-8301-7be4bfffde06")
)
(fp_circle
(center -4.8 0)
(end -4.7238 0)
(stroke
(width 0.1524)
(type solid)
)
(fill no)
(layer "F.SilkS")
(uuid "0a1074d0-3150-4078-91bd-f934b88f6a92")
)
(fp_line
(start -4.7117 -0.8509)
(end 4.7117 -0.8509)
(stroke
(width 0.1524)
(type solid)
)
(layer "F.CrtYd")
(uuid "24f6b07a-557a-49a1-a7e7-67748dd14889")
)
(fp_line
(start -4.7117 0.8509)
(end -4.7117 -0.8509)
(stroke
(width 0.1524)
(type solid)
)
(layer "F.CrtYd")
(uuid "84618e66-22e8-49da-8e0c-c9960c6a0f85")
)
(fp_line
(start 4.7117 -0.8509)
(end 4.7117 0.8509)
(stroke
(width 0.1524)
(type solid)
)
(layer "F.CrtYd")
(uuid "27a77f1e-c2ef-48b9-b687-674e49c1a581")
)
(fp_line
(start 4.7117 0.8509)
(end -4.7117 0.8509)
(stroke
(width 0.1524)
(type solid)
)
(layer "F.CrtYd")
(uuid "aaef7064-f6bb-4f5c-81c1-5b638144387f")
)
(fp_line
(start -4.1021 -0.5969)
(end -4.1021 0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "122c187b-6ae2-4cb6-9eee-acfe815513c7")
)
(fp_line
(start -4.1021 -0.5969)
(end -4.1021 0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "3b4e7593-bc53-4675-a50e-571981bf9a77")
)
(fp_line
(start -4.1021 0.5969)
(end -3.0607 0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "46fc8b4c-6230-4c27-b345-df0c1b0f74ea")
)
(fp_line
(start -4.1021 0.5969)
(end 4.1021 0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "ab67247b-62e8-4b19-91c6-03251b837afd")
)
(fp_line
(start -3.0607 -0.5969)
(end -4.1021 -0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "ea8f05df-6873-433c-b723-188f4297daba")
)
(fp_line
(start -3.0607 0.5969)
(end -3.0607 -0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "69a84e84-26fd-45e7-8a91-d5d3d03e320e")
)
(fp_line
(start 3.0607 -0.5969)
(end 3.0607 0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "87289390-3cf6-46d8-b4fd-21de84fc60ac")
)
(fp_line
(start 3.0607 0.5969)
(end 4.1021 0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "9e0b509f-4f6a-47f3-8e27-b043408466de")
)
(fp_line
(start 4.1021 -0.5969)
(end -4.1021 -0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "0b6afa09-8a18-4b64-8d07-6e812735759c")
)
(fp_line
(start 4.1021 -0.5969)
(end 3.0607 -0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "3dbd06af-f6b6-4b85-a699-be9d9b213986")
)
(fp_line
(start 4.1021 0.5969)
(end 4.1021 -0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "2a578d8d-ba06-4e7c-8a6d-7d24bcb26903")
)
(fp_line
(start 4.1021 0.5969)
(end 4.1021 -0.5969)
(stroke
(width 0.0254)
(type solid)
)
(layer "F.Fab")
(uuid "7c9618c0-8275-4613-aaf2-595256883d05")
)
(fp_circle
(center -3.6322 0)
(end -3.556 0)
(stroke
(width 0.0254)
(type solid)
)
(fill no)
(layer "F.Fab")
(uuid "49375d77-fd81-4fd9-a68f-5d1bc1e75bc0")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(uuid "95ac6dba-5ee0-4552-a1f1-2d31ef0c3f39")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd rect
(at -3.7592 0)
(size 1.397 1.1938)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "0229653a-e7b6-4587-8855-9cce52519c5f")
)
(pad "2" smd rect
(at 3.7592 0)
(size 1.397 1.1938)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "2af865ae-2dc5-4ea1-887a-94d7706972a2")
)
(zone
(net 0)
(net_name "")
(layer "F.Cu")
(uuid "d6caf877-bc81-468e-b4b0-dea1ddfa3bcc")
(hatch full 0.508)
(connect_pads
(clearance 0)
)
(min_thickness 0.254)
(filled_areas_thickness no)
(keepout
(tracks not_allowed)
(vias not_allowed)
(pads allowed)
(copperpour not_allowed)
(footprints allowed)
)
(placement
(enabled no)
(sheetname "")
)
(fill
(thermal_gap 0.508)
(thermal_bridge_width 0.508)
)
(polygon
(pts
(xy -3.0099 -0.5461) (xy 3.0099 -0.5461) (xy 3.0099 0.5461) (xy -3.0099 0.5461)
)
)
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/ANT8010LL05R1516A.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)

View file

@ -1,139 +0,0 @@
(footprint "Fuse_1812L200"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "16V 2A 100A 4A 20mΩ 1812 PTC Resettable Fuses")
(property "Reference" "REF**"
(at 0 -2.05 0)
(unlocked yes)
(layer "F.SilkS")
(uuid "af2fd0fe-a6b0-4ede-99e9-afca1a15eabe")
(effects
(font
(size 0.6 0.6)
(thickness 0.15)
(bold yes)
)
)
)
(property "Value" "1812L200"
(at 0 2.4 0)
(unlocked yes)
(layer "F.Fab")
(uuid "c2b87a99-99c0-4a9a-92c4-2df3f5800af5")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "c084fba9-c381-4ee9-9f09-3125d2a42c7b")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Description" "16V 2A 100A 4A 20mΩ 1812 PTC Resettable Fuses"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "2deff168-1cff-4a8b-8de0-8c1c73a28161")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -1.3 -1.5)
(end 1.3 -1.5)
(stroke
(width 0.2)
(type default)
)
(layer "F.SilkS")
(uuid "80f3575f-ad24-4bef-8c93-21539d1c40ae")
)
(fp_line
(start 1.3 1.5)
(end -1.3 1.5)
(stroke
(width 0.2)
(type default)
)
(layer "F.SilkS")
(uuid "e795d725-0e38-471c-9559-6d528f447fae")
)
(fp_rect
(start -3.35 -1.7)
(end 3.35 1.7)
(stroke
(width 0.05)
(type default)
)
(fill no)
(layer "F.CrtYd")
(uuid "c6a858da-55df-47c9-afc8-8a6ceb14ddf0")
)
(fp_rect
(start -2.25 -1.55)
(end 2.25 1.55)
(stroke
(width 0.1)
(type solid)
)
(fill no)
(layer "F.Fab")
(uuid "269c2f99-0ae4-4b3e-9260-e2fe6830033e")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(uuid "7d52f6eb-3607-49d7-b956-aba6f75e540b")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd roundrect
(at -2.2 0)
(size 1.6 3.15)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.1)
(uuid "1596402f-1968-4744-8536-4d34377fd0f1")
)
(pad "2" smd roundrect
(at 2.2 0)
(size 1.6 3.15)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.1)
(uuid "4f990784-974c-4158-9f6c-1dc006e80997")
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/F1812_L4.5-W3.2-H1.0.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)

View file

@ -216,7 +216,7 @@
) )
(fp_line (fp_line
(start -3.15 5.35) (start -3.15 5.35)
(end -6 5.35) (end -6.5 5.35)
(stroke (stroke
(width 0.12) (width 0.12)
(type solid) (type solid)
@ -246,7 +246,7 @@
) )
(fp_line (fp_line
(start 3.15 5.35) (start 3.15 5.35)
(end 6 5.35) (end 6.5 5.35)
(stroke (stroke
(width 0.12) (width 0.12)
(type solid) (type solid)
@ -513,35 +513,35 @@
(at -5 0) (at -5 0)
(size 1.2 1.2) (size 1.2 1.2)
(drill 1.2) (drill 1.2)
(layers "*.Cu" "*.Mask") (layers "F&B.Cu" "*.Mask")
(uuid "2a6783be-49b7-4a5e-8837-fde4f5b6b326") (uuid "2a6783be-49b7-4a5e-8837-fde4f5b6b326")
) )
(pad "" np_thru_hole circle (pad "" np_thru_hole circle
(at -5 2.5) (at -5 2.5)
(size 1.2 1.2) (size 1.2 1.2)
(drill 1.2) (drill 1.2)
(layers "*.Cu" "*.Mask") (layers "F&B.Cu" "*.Mask")
(uuid "43e28b64-3f22-4d06-a9d9-1a6cbaeb55e4") (uuid "43e28b64-3f22-4d06-a9d9-1a6cbaeb55e4")
) )
(pad "" np_thru_hole circle (pad "" np_thru_hole circle
(at 0 -5) (at 0 -5)
(size 1.2 1.2) (size 1.2 1.2)
(drill 1.2) (drill 1.2)
(layers "*.Cu" "*.Mask") (layers "F&B.Cu" "*.Mask")
(uuid "c28e13f1-55b0-4023-8004-5c43f3cb0c59") (uuid "c28e13f1-55b0-4023-8004-5c43f3cb0c59")
) )
(pad "" np_thru_hole circle (pad "" np_thru_hole circle
(at 5 0) (at 5 0)
(size 1.2 1.2) (size 1.2 1.2)
(drill 1.2) (drill 1.2)
(layers "*.Cu" "*.Mask") (layers "F&B.Cu" "*.Mask")
(uuid "a43ddcff-5f56-4ac9-9af6-caeb3e1e6b3b") (uuid "a43ddcff-5f56-4ac9-9af6-caeb3e1e6b3b")
) )
(pad "" np_thru_hole circle (pad "" np_thru_hole circle
(at 5 2.5) (at 5 2.5)
(size 1.2 1.2) (size 1.2 1.2)
(drill 1.2) (drill 1.2)
(layers "*.Cu" "*.Mask") (layers "F&B.Cu" "*.Mask")
(uuid "0dcf70ee-cde7-482b-a3e5-44427c25dbc7") (uuid "0dcf70ee-cde7-482b-a3e5-44427c25dbc7")
) )
(pad "R" thru_hole oval (pad "R" thru_hole oval

View file

@ -1,464 +0,0 @@
(footprint "LG77L"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Footprint of the Quectel LG77L GNSS module")
(property "Reference" "REF**"
(at -2.6 -4.1 0)
(unlocked yes)
(layer "F.SilkS")
(uuid "5a4a5c43-0705-4e50-a7d4-086544a98c0e")
(effects
(font
(size 0.6 0.6)
(thickness 0.1)
)
)
)
(property "Value" "LG77L"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(uuid "f118f25f-baa0-401f-bc89-ad33a73892ae")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d2c786e6-4cab-4760-950d-efcc0684fb4e")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Description" "Footprint of the Quectel LG77L GNSS module"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d71725b2-61d6-4d32-adb0-a029871e94f4")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -3.7 -3.7)
(end -3.15 -3.7)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "998a6c69-d629-4dc8-96a8-f738f45ebe67")
)
(fp_line
(start -3.7 -3.35)
(end -3.35 -3.7)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "1273686e-e3e6-4fc8-9308-84fb6efca4df")
)
(fp_line
(start -3.7 -3.15)
(end -3.7 -3.7)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "6e1c00a2-8509-4454-ac10-f4b5b854a1dc")
)
(fp_line
(start -3.5 -3.5)
(end 3.5 -3.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "4fd4c71a-3ee3-42ae-b2d7-1945f1aae112")
)
(fp_line
(start -3.5 3.5)
(end -3.5 -3.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "7aae71df-5d86-4554-af04-60abf87632d0")
)
(fp_line
(start -3.5 3.5)
(end 3.5 3.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "48996a6c-9adf-4ef1-8aa5-214cf10145a8")
)
(fp_line
(start 3.5 3.5)
(end 3.5 -3.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "039ccfb8-4512-4397-944d-6c63f82aebe9")
)
(fp_rect
(start -3.7 -3.7)
(end 3.7 3.7)
(stroke
(width 0.05)
(type default)
)
(fill no)
(layer "F.CrtYd")
(uuid "a42469c2-6809-4336-b217-97a467bf35e0")
)
(fp_text user "${REFERENCE}"
(at 0 1.5 0)
(unlocked yes)
(layer "F.Fab")
(uuid "8c8aca7e-4089-4f4a-bd9e-86cba41b2b05")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd rect
(at -3.15 -2.6)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "8434dda3-042d-4d5f-9e27-84b5860c5093")
)
(pad "2" smd rect
(at -3.15 -1.95)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "c0a13736-a7a3-4fe6-8385-080d9328e44c")
)
(pad "3" smd rect
(at -3.15 -1.3)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "ce1e8130-2d7a-470e-a56d-e6951d72f81c")
)
(pad "4" smd rect
(at -3.15 -0.65)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "d76a556c-d202-4abc-8cf1-f38b2a758bec")
)
(pad "5" smd rect
(at -3.15 0)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "05396c81-0ffc-46e4-944e-9a25178566e9")
)
(pad "6" smd rect
(at -3.15 0.65)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "407ee700-8dcf-4120-9e66-f763afbc5ead")
)
(pad "7" smd rect
(at -3.15 1.3)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "4579ae85-a8d3-4772-9415-0569937fcdda")
)
(pad "8" smd rect
(at -3.15 1.95)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "047fa1e4-514b-42ba-85c1-02c289eb6e90")
)
(pad "9" smd rect
(at -3.15 2.6)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "58b7dda1-8943-4a42-9800-e08f86b4ef9c")
)
(pad "10" smd rect
(at -2.6 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "50a02efc-846c-4881-8f8c-ca92ff96d451")
)
(pad "11" smd rect
(at -1.95 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "f4b4525b-28e1-4f80-ae49-2029f055bea0")
)
(pad "12" smd rect
(at -1.3 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "64d2a0d3-495a-4414-8c8c-1ba56a807045")
)
(pad "13" smd rect
(at -0.65 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "bb66b982-d048-48e4-9453-a1c3e7267812")
)
(pad "14" smd rect
(at 0 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "a4ddce47-348e-49ce-bffb-65afb37d16b7")
)
(pad "15" smd rect
(at 0.65 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "7035dbbc-981d-41ad-84c6-0c3c676a5e5d")
)
(pad "16" smd rect
(at 1.3 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "37acf533-9106-4968-a12e-5a5f08605f42")
)
(pad "17" smd rect
(at 1.95 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "e2ec9451-a34b-4910-93c0-fb3b88a0b35d")
)
(pad "18" smd rect
(at 2.6 3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "21d1a3e3-b919-4d59-9641-4f5da2962429")
)
(pad "19" smd rect
(at 3.15 2.6)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "47bc0a58-f13a-4868-a995-85758b92e88e")
)
(pad "20" smd rect
(at 3.15 1.95)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "f41feb9f-7549-429f-8019-f3e7ecccf621")
)
(pad "21" smd rect
(at 3.15 1.3)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "2b09dd2e-bf6c-45d9-a069-b5a2fefa906d")
)
(pad "22" smd rect
(at 3.15 0.65)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "d1ec8d28-096e-480e-94fa-f5a8845d0318")
)
(pad "23" smd rect
(at 3.15 0)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "ec875793-5a2b-40bf-9420-61bc489ad12f")
)
(pad "24" smd rect
(at 3.15 -0.65)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "a97d1315-d260-46cf-8244-ff5eb24204da")
)
(pad "25" smd rect
(at 3.15 -1.3)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "28019ec8-b73a-443f-ba70-a61f82c73447")
)
(pad "26" smd rect
(at 3.15 -1.95)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "58ab1220-483d-45fe-9383-468e81974f43")
)
(pad "27" smd rect
(at 3.15 -2.6)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "18bba525-ac4c-40ac-97af-7ebdf52dac0a")
)
(pad "28" smd rect
(at 2.6 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "541b85a6-f955-4be8-aa6e-4e5dce3401c8")
)
(pad "29" smd rect
(at 1.95 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "2d4cfb5d-b913-4dc5-8c06-371feb1d4bbc")
)
(pad "30" smd rect
(at 1.3 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "29987e7e-274e-49a3-8817-b8378febf272")
)
(pad "31" smd rect
(at 0.65 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "d7fd6692-c079-4646-abff-75f2e7df79b9")
)
(pad "32" smd rect
(at 0 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "3596584a-a93b-4ad5-a2f2-a73afbe7dbea")
)
(pad "33" smd rect
(at -0.65 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "eeab4309-eb26-45db-a549-dfd3690125d3")
)
(pad "34" smd rect
(at -1.3 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "6e376d9d-099a-49a4-81f2-5344d7e3cd27")
)
(pad "35" smd rect
(at -1.95 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "813acad6-3d64-4053-a12b-80ebb2298b7c")
)
(pad "36" smd rect
(at -2.6 -3.15 90)
(size 0.4 0.3)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "f13c26d2-baef-4b84-9a2d-32df5705f1f8")
)
(pad "37" smd rect
(at -1.3 -1.3)
(size 0.5 0.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "b6275dd6-7d9e-42a1-81b8-fd408bebb21a")
)
(pad "38" smd rect
(at 0 -1.3)
(size 0.5 0.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "d8a54cb3-569a-4560-8ab4-9f43260d88ad")
)
(pad "39" smd rect
(at -1.3 0)
(size 0.5 0.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "7eb9a52c-4fbb-49c3-b036-dfdcc2b61134")
)
(pad "40" smd rect
(at 0 0)
(size 0.5 0.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "a3da43f2-323c-423e-befa-222fb4d903ce")
)
(pad "41" smd rect
(at -1.3 1.3)
(size 0.5 0.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "a2c16c35-2246-48ef-8721-736d46cf2d53")
)
(pad "42" smd rect
(at 0 1.3)
(size 0.5 0.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "5f77703a-3395-4a33-8d43-c8e48a729fa2")
)
(pad "43" smd rect
(at 1.3 1.3)
(size 0.5 0.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.05)
(uuid "1713a5bf-e34d-421f-8fd8-c1467d39d23f")
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/LG77L.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz -90 -0 -0)
)
)
)

View file

@ -1,296 +0,0 @@
(footprint "L_TDK_SPM6530"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Inductor, TDK, SPM6530, 7.1mmx6.5mm")
(tags "Inductor TDK_SPM6530")
(property "Reference" "REF**"
(at -2.4 -4.1 0)
(layer "F.SilkS")
(uuid "73ea877f-3c26-4249-8567-2c147a332783")
(effects
(font
(size 0.6 0.6)
(thickness 0.15)
)
)
)
(property "Value" "L_TDK_SPM6530"
(at 0 4.4 0)
(layer "F.Fab")
(uuid "25da4e9b-cf5b-489b-8077-35b21c4b9ff6")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "fb423d1f-6124-4bb4-a23e-d9201a4817fc")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "00d899db-5479-4a84-b8a5-61d7bac83b4e")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -3.55 -3.55)
(end 3.55 -3.55)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "fd1cae0b-7518-424a-a653-a2a88468097e")
)
(fp_line
(start -3.55 -2.344)
(end -3.55 -3.55)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "af170147-b3d3-49cf-a973-19627c931ac0")
)
(fp_line
(start -3.55 3.55)
(end -3.55 1.8)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "0dc4ae72-6559-4a6e-894b-427e6ff83ff9")
)
(fp_line
(start 3.55 -3.55)
(end 3.55 -1.8)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "893b775b-00c8-4d1a-99ee-2cd2ed9da719")
)
(fp_line
(start 3.55 1.8)
(end 3.55 3.55)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "422da8c6-c590-469f-9ced-4fd9748d38ca")
)
(fp_line
(start 3.55 3.55)
(end -3.55 3.55)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "9ef3e704-b132-48ae-a2a2-1e6ddd38687b")
)
(fp_poly
(pts
(xy -3.547242 -1.8) (xy -3.9 -1.8) (xy -3.547242 -2.344)
)
(stroke
(width 0.12)
(type solid)
)
(fill yes)
(layer "F.SilkS")
(uuid "4d6a56eb-2192-421d-b61d-35b997aa8504")
)
(fp_line
(start -3.75 -1.8)
(end -3.6 -1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "4d2cf893-7307-4d3b-9547-7cf316a646dc")
)
(fp_line
(start -3.75 1.8)
(end -3.75 -1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f5fa0654-101c-4867-a3d7-0fcf0a91208b")
)
(fp_line
(start -3.6 -3.6)
(end 3.6 -3.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "3e13f767-90b6-44d9-b451-2256c55515f9")
)
(fp_line
(start -3.6 -1.8)
(end -3.6 -3.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "365e080f-0d56-4e65-b286-158ffc027ea7")
)
(fp_line
(start -3.6 1.8)
(end -3.75 1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "eb0725dd-4c26-407a-8d29-6482159b4983")
)
(fp_line
(start -3.6 3.6)
(end -3.6 1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "831ba7da-133c-41d3-af0f-5c0e724792db")
)
(fp_line
(start 3.6 -3.6)
(end 3.6 -1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "fd529a65-3c5f-46c5-82b9-d8ced98977c7")
)
(fp_line
(start 3.6 -1.8)
(end 3.75 -1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "4ccdf759-7dfb-4397-a3d0-3bd24e05a392")
)
(fp_line
(start 3.6 1.8)
(end 3.6 3.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "d09bf15b-a175-4ebf-987c-013115b0dc7d")
)
(fp_line
(start 3.6 3.6)
(end -3.6 3.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "6247ba8d-1290-4614-b559-cb562b419441")
)
(fp_line
(start 3.75 -1.8)
(end 3.75 1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "6960d76d-b2af-42e7-a7f4-2e1970afe7c6")
)
(fp_line
(start 3.75 1.8)
(end 3.6 1.8)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "28937305-71a1-457f-8313-f688127b4028")
)
(fp_poly
(pts
(xy -3 -2) (xy -3 3) (xy 3 3) (xy 3 -3) (xy -2 -3)
)
(stroke
(width 0.1)
(type solid)
)
(fill no)
(layer "F.Fab")
(uuid "4266ea0b-a93d-4889-8a3e-30609e1391c7")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "134794af-0d6e-446c-933d-b8a675a7919c")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd roundrect
(at -2.775 0)
(size 1.85 3.4)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.166667)
(uuid "ec5576c9-933b-49e2-84aa-bf6f1a6bf0e5")
)
(pad "2" smd roundrect
(at 2.775 0)
(size 1.85 3.4)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.166667)
(uuid "4e03847a-9b76-4cd4-a634-620b2038afee")
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/spm6530.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz -90 -0 -90)
)
)
)

View file

@ -3550,17 +3550,6 @@
(layer "F.Paste") (layer "F.Paste")
(uuid "def6af63-afc9-4db6-8566-ea920cccef75") (uuid "def6af63-afc9-4db6-8566-ea920cccef75")
) )
(fp_rect
(start -15.4 -15.4)
(end 15.4 15.4)
(stroke
(width 0.05)
(type default)
)
(fill no)
(layer "F.CrtYd")
(uuid "14c2b528-efe8-4e89-bcf1-4731300788e5")
)
(fp_text user "${REFERENCE}" (fp_text user "${REFERENCE}"
(at 19.8 -16 0) (at 19.8 -16 0)
(unlocked yes) (unlocked yes)

View file

@ -1,368 +0,0 @@
(footprint "QFN-12_L2.0-W2.0-P0.50-BL-EP0.8"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at -0.2 -1.6 0)
(layer "F.SilkS")
(uuid "a8782719-28f7-4db1-96bf-5c52097446fe")
(effects
(font
(size 0.6 0.6)
(thickness 0.15)
)
)
)
(property "Value" "QFN-12_L2.0-W2.0-P0.50-BL-EP0.8"
(at 0 2.6 0)
(layer "F.Fab")
(uuid "4aed39a9-b881-4214-8490-b053b2e15bbc")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "60d57ccb-a582-4496-bbde-d266d018fed4")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "15a50e0a-abb9-45fe-9c63-d7dccdd89aed")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -1.08 -1.08)
(end -0.83 -1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "b3ac46b5-8e15-48c3-97bf-071a84fae8d6")
)
(fp_line
(start -1.08 -0.83)
(end -1.08 -1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "10be5a6d-f17c-4409-a270-ae5f28a7590f")
)
(fp_line
(start -1.08 0.83)
(end -1.08 1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "8f130482-50f0-448c-b49d-bc89d3062701")
)
(fp_line
(start -1.08 1.08)
(end -0.83 1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "f4d21aad-ee76-4db6-b582-d5f8f1303a17")
)
(fp_line
(start 1.08 -1.08)
(end 0.83 -1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "ffcba15f-85e5-472d-a5bd-070aaf4bc708")
)
(fp_line
(start 1.08 -0.83)
(end 1.08 -1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "d3ddd0d4-01b4-4dc8-b887-2e8e3c086d90")
)
(fp_line
(start 1.08 0.83)
(end 1.08 1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "4f631bdd-7ff2-418a-bf98-97e73950d1cb")
)
(fp_line
(start 1.08 1.08)
(end 0.83 1.08)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "cc0adfc1-a251-4812-9488-f43dcce841a4")
)
(fp_circle
(center -0.5 1.47)
(end -0.43 1.47)
(stroke
(width 0.15)
(type solid)
)
(fill no)
(layer "F.SilkS")
(uuid "f5772caa-5350-472b-b828-0e34b5a4bb22")
)
(fp_circle
(center -1 1)
(end -0.97 1)
(stroke
(width 0.06)
(type solid)
)
(fill no)
(layer "F.Fab")
(uuid "19601206-2697-4961-9fd1-d5cde159999f")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "2b5a77c6-7481-4bcd-b837-d30210a97c1f")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd custom
(at -0.5 0.93)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy -0.12 0.24) (xy 0.12 0.24) (xy 0.12 -0.24) (xy -0.03 -0.24) (xy -0.13 -0.05)
)
(width 0.1)
(fill yes)
)
)
(uuid "dd162c2b-9f32-4eff-ac73-0b92d8076147")
)
(pad "2" smd rect
(at 0 0.93)
(size 0.25 0.48)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "ca2ab885-5f15-4d06-8795-df9769a50a84")
)
(pad "3" smd custom
(at 0.5 0.93)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy 0.12 0.24) (xy -0.12 0.24) (xy -0.12 -0.24) (xy 0.03 -0.24) (xy 0.12 -0.05)
)
(width 0.1)
(fill yes)
)
)
(uuid "4dfc71ca-2265-45f3-8e39-7253a50af51c")
)
(pad "4" smd custom
(at 0.93 0.5)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy 0.24 0.12) (xy 0.24 -0.13) (xy -0.24 -0.13) (xy -0.24 -0.12) (xy -0.24 0.03) (xy -0.05 0.12)
)
(width 0.1)
(fill yes)
)
)
(uuid "abc5d17c-bfd1-4349-897b-5c0ca2f8dde7")
)
(pad "5" smd rect
(at 0.93 0)
(size 0.48 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "5dc8d355-be9c-42f6-be27-8cd651b5f099")
)
(pad "6" smd custom
(at 0.93 -0.5)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy 0.24 -0.12) (xy 0.24 0.13) (xy -0.24 0.13) (xy -0.24 0.12) (xy -0.24 -0.03) (xy -0.05 -0.12)
)
(width 0.1)
(fill yes)
)
)
(uuid "2a687c68-2d92-4132-9cf6-a94ad3b4ff17")
)
(pad "7" smd custom
(at 0.5 -0.93)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy 0.12 -0.24) (xy -0.13 -0.24) (xy -0.13 0.24) (xy -0.12 0.24) (xy 0.03 0.24) (xy 0.12 0.05)
)
(width 0.1)
(fill yes)
)
)
(uuid "563a62c7-6460-468f-9ed8-3f392e3a66e9")
)
(pad "8" smd rect
(at 0 -0.93)
(size 0.25 0.48)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "786a1091-77e3-4c4c-9fec-91ee152eda63")
)
(pad "9" smd custom
(at -0.5 -0.93)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy -0.12 -0.24) (xy 0.13 -0.24) (xy 0.13 0.24) (xy 0.12 0.24) (xy -0.03 0.24) (xy -0.12 0.05)
)
(width 0.1)
(fill yes)
)
)
(uuid "62334b86-0c16-4adc-a69c-124a79058807")
)
(pad "10" smd custom
(at -0.93 -0.5)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy -0.24 -0.13) (xy -0.24 0.12) (xy 0.24 0.12) (xy 0.24 -0.03) (xy 0.05 -0.13)
)
(width 0.1)
(fill yes)
)
)
(uuid "96053804-0f8e-42f5-9fa9-3ab57c47ded0")
)
(pad "11" smd rect
(at -0.93 0)
(size 0.48 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "2c8dadd3-e21b-493c-b5df-9afd6866ca88")
)
(pad "12" smd custom
(at -0.93 0.5)
(size 0.01 0.01)
(layers "F.Cu" "F.Mask" "F.Paste")
(thermal_bridge_angle 90)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy -0.24 0.12) (xy -0.24 -0.12) (xy 0.24 -0.12) (xy 0.24 0.03) (xy 0.05 0.12)
)
(width 0.1)
(fill yes)
)
)
(uuid "287ad911-9040-43fc-a616-7bb3f66da731")
)
(pad "13" smd rect
(at 0 0)
(size 0.85 0.85)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "5ea7bd86-7f7e-45ee-9a20-b1fa5054d81e")
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/QFN-12_L2.0-W2.0-P0.50-BL-EP0.8.wrl"
(offset
(xyz 0 -0 0.83)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz -0 -0 -0)
)
)
)

View file

@ -1,621 +0,0 @@
(footprint "QFN-16-1EP_3x3mm_P0.5mm_EP1.7x1.7mm_ThermalVias"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "QFN, 16 Pin (https://www.st.com/resource/en/datasheet/tsv521.pdf), generated with kicad-footprint-generator ipc_noLead_generator.py")
(tags "QFN NoLead")
(property "Reference" "REF**"
(at 0 -2.83 0)
(layer "F.SilkS")
(uuid "146cb097-3a23-4d30-97e1-02afe1715ff0")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "QFN-16-1EP_3x3mm_P0.5mm_EP1.7x1.7mm_ThermalVias"
(at 0 2.83 0)
(layer "F.Fab")
(uuid "d51956ff-1267-4fa4-aec0-e779bb076052")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "e2650296-9dce-4213-b9ad-c5957d95e9de")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "6e80eac6-0820-4ed8-a62e-21d57212afde")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -1.61 -1.135)
(end -1.61 -1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "794740e0-cbde-4527-bb22-0b4a4c74449a")
)
(fp_line
(start -1.61 1.61)
(end -1.61 1.135)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c30118cb-93db-4f00-bbdd-7910b11869d7")
)
(fp_line
(start -1.135 -1.61)
(end -1.31 -1.61)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "56f5158c-dd8a-4f6b-a21f-5dd799b5c1d5")
)
(fp_line
(start -1.135 1.61)
(end -1.61 1.61)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "f2ff359a-2256-4cd4-9da3-a5271d0a8189")
)
(fp_line
(start 1.135 -1.61)
(end 1.61 -1.61)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c1dcc67e-52ae-449e-9108-f8c4480d93b1")
)
(fp_line
(start 1.135 1.61)
(end 1.61 1.61)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "4cdce9dd-a812-4039-8e65-2ae3cd56f9df")
)
(fp_line
(start 1.61 -1.61)
(end 1.61 -1.135)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "162babcd-8007-46c5-80bd-bbd89b0f6948")
)
(fp_line
(start 1.61 1.61)
(end 1.61 1.135)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "65658de6-bfbe-46ba-95a4-533601177c79")
)
(fp_poly
(pts
(xy -1.61 -1.61) (xy -1.85 -1.94) (xy -1.37 -1.94)
)
(stroke
(width 0.12)
(type solid)
)
(fill yes)
(layer "F.SilkS")
(uuid "5056cf90-be6a-434a-a325-4a362c32af51")
)
(fp_line
(start -2.13 -1.13)
(end -1.75 -1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "1f671b79-d97e-41ad-93fc-1cf51bfa9cb7")
)
(fp_line
(start -2.13 1.13)
(end -2.13 -1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a08deeeb-cd7c-4232-a316-3dafdfdfd22c")
)
(fp_line
(start -1.75 -1.75)
(end -1.13 -1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "662e0b38-7053-4314-a76b-084e7c6272ce")
)
(fp_line
(start -1.75 -1.13)
(end -1.75 -1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "d0e2a759-83b1-40db-b43d-005c3d7d23ae")
)
(fp_line
(start -1.75 1.13)
(end -2.13 1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "19883e16-6c0d-436f-ba5b-4a05292297c2")
)
(fp_line
(start -1.75 1.75)
(end -1.75 1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "186bab08-2bad-43d1-8f48-d50ecde883cb")
)
(fp_line
(start -1.13 -2.13)
(end 1.13 -2.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "64b466da-5271-4218-b766-7f4aa5c20160")
)
(fp_line
(start -1.13 -1.75)
(end -1.13 -2.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f05331ee-774e-4698-b4c8-3d8e70d9b824")
)
(fp_line
(start -1.13 1.75)
(end -1.75 1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "fabffa53-ad6d-493c-8f94-421324445e39")
)
(fp_line
(start -1.13 2.13)
(end -1.13 1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a496d30d-77fa-498c-ad3a-d5a1f0bdb36e")
)
(fp_line
(start 1.13 -2.13)
(end 1.13 -1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "eedb0013-7f64-4e9b-8709-ac33ef35ba86")
)
(fp_line
(start 1.13 -1.75)
(end 1.75 -1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "6965b92e-f026-4522-b39c-d1a84a46ed6f")
)
(fp_line
(start 1.13 1.75)
(end 1.13 2.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "b8956d33-1761-4836-a804-bbf2b778e549")
)
(fp_line
(start 1.13 2.13)
(end -1.13 2.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "3627ec72-7ac6-4784-8218-dad7d4bfa806")
)
(fp_line
(start 1.75 -1.75)
(end 1.75 -1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "ec936198-d501-46f6-a690-abfa32a3b8cb")
)
(fp_line
(start 1.75 -1.13)
(end 2.13 -1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f219ea12-929d-42d5-98d3-50eb61c80fbc")
)
(fp_line
(start 1.75 1.13)
(end 1.75 1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f7a71f8d-a99f-4e39-9862-af6ac30a7091")
)
(fp_line
(start 1.75 1.75)
(end 1.13 1.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "817093f7-d70e-4e8d-a938-0d501369996e")
)
(fp_line
(start 2.13 -1.13)
(end 2.13 1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "db88c6f6-4b31-4243-9654-30d77b022a33")
)
(fp_line
(start 2.13 1.13)
(end 1.75 1.13)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "393772b7-f5af-49e8-9612-4b8bb9d9a9ba")
)
(fp_poly
(pts
(xy -1.5 -0.75) (xy -1.5 1.5) (xy 1.5 1.5) (xy 1.5 -1.5) (xy -0.75 -1.5)
)
(stroke
(width 0.1)
(type solid)
)
(fill no)
(layer "F.Fab")
(uuid "c0565ff4-e04c-4de1-8a69-8b14d4a59ec7")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "69b96c44-6392-4f22-8818-ebb39567f873")
(effects
(font
(size 0.75 0.75)
(thickness 0.11)
)
)
)
(pad "" smd roundrect
(at -0.425 -0.425)
(size 0.69 0.69)
(layers "F.Paste")
(roundrect_rratio 0.25)
(uuid "edb080ec-f862-442f-a07c-f3f822e92eac")
)
(pad "" smd roundrect
(at -0.425 0.425)
(size 0.69 0.69)
(layers "F.Paste")
(roundrect_rratio 0.25)
(uuid "400bcf57-b44e-4c5a-ab46-c04b3cab419b")
)
(pad "" smd roundrect
(at 0.425 -0.425)
(size 0.69 0.69)
(layers "F.Paste")
(roundrect_rratio 0.25)
(uuid "f168171f-5a00-478e-a94a-74957d998f5a")
)
(pad "" smd roundrect
(at 0.425 0.425)
(size 0.69 0.69)
(layers "F.Paste")
(roundrect_rratio 0.25)
(uuid "a70fb6f2-aa93-4fbd-992d-d2143f65e9aa")
)
(pad "1" smd roundrect
(at -1.4625 -0.75)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "f263de75-8f03-4c0d-bbe8-69115199632e")
)
(pad "2" smd roundrect
(at -1.4625 -0.25)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "26b64c03-186c-4209-b768-66b3958013f9")
)
(pad "3" smd roundrect
(at -1.4625 0.25)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "ad332282-e7de-46d5-8d74-4a20c5bb6abc")
)
(pad "4" smd roundrect
(at -1.4625 0.75)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "90175b93-a479-4dd8-9b85-6c77b02a9199")
)
(pad "5" smd roundrect
(at -0.75 1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "38674765-a05d-46f1-becd-9c3168ad661a")
)
(pad "6" smd roundrect
(at -0.25 1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "ce7f813e-4f7e-4157-84af-b30a379f3210")
)
(pad "7" smd roundrect
(at 0.25 1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "eca66c6d-1ffa-440b-bffa-bb087cb75123")
)
(pad "8" smd roundrect
(at 0.75 1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "b38d6cac-61a7-46a7-8872-2596081f1ce3")
)
(pad "9" smd roundrect
(at 1.4625 0.75)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "54ab9335-8987-4f76-bf90-b5d0da4be022")
)
(pad "10" smd roundrect
(at 1.4625 0.25)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "3fea1b13-3ae4-44a1-83d0-6b9b84e406bf")
)
(pad "11" smd roundrect
(at 1.4625 -0.25)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "0bef8fe5-c2dc-4b06-a1ae-68ad9d8423f4")
)
(pad "12" smd roundrect
(at 1.4625 -0.75)
(size 0.825 0.25)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "f1f5f2fb-694f-4fdf-ba18-2a55ecdb8b77")
)
(pad "13" smd roundrect
(at 0.75 -1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "70c63b74-ad50-4cf2-b27a-daad0df06ca2")
)
(pad "14" smd roundrect
(at 0.25 -1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "9014df83-ce34-4861-b73d-5f0081a34d0f")
)
(pad "15" smd roundrect
(at -0.25 -1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "a796753a-1977-4937-9ac1-45fdde894bba")
)
(pad "16" smd roundrect
(at -0.75 -1.4625)
(size 0.25 0.825)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "f13fdf09-8954-47b4-95d7-5f517ea93f7d")
)
(pad "17" thru_hole circle
(at -0.55 -0.55)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "2cf49eb3-69ae-489c-a1a9-fd78a76faff6")
)
(pad "17" thru_hole circle
(at -0.55 0)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "940fd9f5-bc60-4156-84bd-47db1f493b07")
)
(pad "17" thru_hole circle
(at -0.55 0.55)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "fc118f21-1667-4e35-b534-3bfbff79aab8")
)
(pad "17" thru_hole circle
(at 0 -0.55)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "c12a4c25-d958-4e3f-b071-1f45f1378f36")
)
(pad "17" thru_hole circle
(at 0 0)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "23510b70-47cb-4362-8a39-9db1315f4f7a")
)
(pad "17" smd roundrect
(at 0 0)
(size 1.7 1.7)
(property pad_prop_heatsink)
(layers "F.Cu" "F.Mask")
(roundrect_rratio 0.05882352941)
(zone_connect 2)
(uuid "4eaa4886-87a8-421e-9a38-c05f26a21d1f")
)
(pad "17" smd roundrect
(at 0 0)
(size 1.7 1.7)
(property pad_prop_heatsink)
(layers "B.Cu")
(roundrect_rratio 0.05882352941)
(zone_connect 2)
(uuid "e511c39e-f8fb-42ad-a37a-e49d7bebf859")
)
(pad "17" thru_hole circle
(at 0 0.55)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "45eeca99-2c2c-4d89-8529-b816a2dec996")
)
(pad "17" thru_hole circle
(at 0.55 -0.55)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "ec8d14d2-db2f-48d9-a4aa-73b79c5ec504")
)
(pad "17" thru_hole circle
(at 0.55 0)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "74e6a742-89cf-4343-bff9-14ed4f09e303")
)
(pad "17" thru_hole circle
(at 0.55 0.55)
(size 0.6 0.6)
(drill 0.3)
(property pad_prop_heatsink)
(layers "*.Cu")
(remove_unused_layers no)
(uuid "484c7ef4-0746-459d-a501-e944bc0a4d11")
)
(embedded_fonts no)
(model "${KICAD9_3DMODEL_DIR}/Package_DFN_QFN.3dshapes/QFN-16-1EP_3x3mm_P0.5mm_EP1.7x1.7mm.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)

View file

@ -1,433 +0,0 @@
(footprint "QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at -1.1 -2.8 0)
(layer "F.SilkS")
(uuid "6599aade-e261-4ab8-8b8b-15cc68510d40")
(effects
(font
(size 0.6 0.6)
(thickness 0.15)
)
)
)
(property "Value" "QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR"
(at 0 3.2 0)
(layer "F.Fab")
(uuid "c140b509-841c-444c-b8de-79c5c34ac8fa")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "90288ff5-9cf7-4f11-91b6-321c6853ebc3")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "3f7a6fa9-3a31-4eb9-a68a-a133d3efeed8")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -2 -2.02)
(end -1.6 -2.02)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "f55524ca-94f0-4acd-aa21-ce9804d702ad")
)
(fp_line
(start -2 -1.8)
(end -2 -2)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "960a36aa-41e4-402e-8697-b2bfcaf90657")
)
(fp_line
(start -2 1.97)
(end -2 1.8)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "8526c0b5-cd2a-47be-bab1-f1dce2f8c4d6")
)
(fp_line
(start -1.6 1.97)
(end -2 1.97)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "0319cbea-a76a-4dcd-8733-aee7ec62785c")
)
(fp_line
(start 1.6 -2.02)
(end 2 -2.02)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "53f46456-ce3d-4d9e-afa1-8fbf4a934967")
)
(fp_line
(start 2 -2.02)
(end 2 -1.8)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "0ff195a4-6e3f-4fd2-b7ac-73dd4adaa4df")
)
(fp_line
(start 2 1.8)
(end 2 1.97)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "e398322e-1008-453f-a7ab-7bfe29924feb")
)
(fp_line
(start 2 1.97)
(end 1.6 1.97)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "bf533144-a334-48af-94ac-77e9083fa407")
)
(fp_circle
(center -2.3 -2)
(end -2.26 -2)
(stroke
(width 0.26)
(type solid)
)
(fill no)
(layer "F.SilkS")
(uuid "e2c3de30-af42-493d-92da-44c8b2ff05da")
)
(fp_rect
(start -2.2 -2.2)
(end 2.2 2.2)
(stroke
(width 0.05)
(type default)
)
(fill no)
(layer "F.CrtYd")
(uuid "fc8e23fe-87c2-4ba4-a56a-e23cc2e1a5b1")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "01ce11ae-6357-4152-b2c7-4bdde2470eb9")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd roundrect
(at -1.35 -1.6)
(size 0.2 0.7)
(drill
(offset 0 -0.25)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "ba3a59db-39cd-4e75-8ec1-12bd995b561b")
)
(pad "1" smd roundrect
(at -1.35 -1.6 90)
(size 0.2 0.95)
(drill
(offset 0 -0.375)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "01b62e0c-048d-4385-bb7e-7c5de008d950")
)
(pad "2" smd roundrect
(at -1.9 -1.2)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "51ff94ae-67d5-4713-83e3-1616ff0e75eb")
)
(pad "3" smd roundrect
(at -1.9 -0.8)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "75a543dc-b49a-4a4f-8a8a-6b381d106769")
)
(pad "4" smd roundrect
(at -1.9 -0.4)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "070ac279-c3bf-4291-9ae2-986d5341f318")
)
(pad "5" smd roundrect
(at -1.9 0)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "062e8738-fe6c-449a-9e75-a7caa7b35934")
)
(pad "6" smd roundrect
(at -1.9 0.4)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "7541255c-870c-4419-a89c-b38367322359")
)
(pad "7" smd roundrect
(at -1.9 0.8)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "78187563-72a7-4a5f-a66c-a1da603d464a")
)
(pad "8" smd roundrect
(at -1.9 1.2)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "bbbd0b7c-4706-4384-b242-7d362487711a")
)
(pad "9" smd roundrect
(at -1.4 1.6 180)
(size 0.2 0.7)
(drill
(offset 0 -0.25)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "12df419d-ee54-4c01-8487-3a1ea5efe1be")
)
(pad "9" smd roundrect
(at -1.4 1.6 90)
(size 0.2 0.9)
(drill
(offset 0 -0.35)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "81f4aaa1-d58c-46f4-952a-971b27422c17")
)
(pad "10" smd roundrect
(at -1 1.9)
(size 0.2 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "6f2540b1-2c03-4620-bd30-c4334c90116e")
)
(pad "11" smd roundrect
(at -0.6 1.9)
(size 0.2 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "5fa4f42a-f380-429e-837d-a3b787b82d79")
)
(pad "12" smd roundrect
(at -0.2 1.9)
(size 0.2 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "678cd046-c882-402b-96b0-5b440ecf0d0e")
)
(pad "13" smd roundrect
(at 0.2 1.9)
(size 0.2 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "7fb2a85e-c298-4a70-9ead-7921c8d436c2")
)
(pad "14" smd roundrect
(at 0.6 1.9)
(size 0.2 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "cbbae3c6-7280-4523-91ef-fa875f02612d")
)
(pad "15" smd roundrect
(at 1 1.9)
(size 0.2 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "ebca0186-36e9-4dd0-ab63-bf622246cb83")
)
(pad "16" smd roundrect
(at 1.4 1.6 180)
(size 0.2 0.7)
(drill
(offset 0 -0.25)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "c0f77ae7-2244-453d-af17-a76790ad34e3")
)
(pad "16" smd roundrect
(at 1.4 1.6 270)
(size 0.2 0.9)
(drill
(offset 0 -0.35)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "aef4c759-12b8-4960-9733-e106e9d35ad9")
)
(pad "17" smd roundrect
(at 1.85 1.2)
(size 0.7 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "ab71ef63-3ab6-4abb-94e9-975269fd4309")
)
(pad "18" smd roundrect
(at 1.875 0.8)
(size 0.65 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "b18382b7-f5ad-417d-917f-35ecc910d919")
)
(pad "19" smd roundrect
(at 1.8625 0.4)
(size 0.68 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "6cbf90c5-3ad9-489a-888a-7546142f48cf")
)
(pad "20" smd roundrect
(at 1.9 0)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "8f0c4ccd-e618-4cc3-94a3-157feab8f387")
)
(pad "21" smd roundrect
(at 1.9 -0.4)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "4b789dea-abf8-4395-9ed7-95c7b82357fb")
)
(pad "22" smd roundrect
(at 1.9 -0.8)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "e4017287-9459-429f-abdb-fcddfb80e267")
)
(pad "23" smd roundrect
(at 1.9 -1.2)
(size 0.6 0.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "0643f254-7f26-4e26-8daa-5c9d63153e8b")
)
(pad "24" smd roundrect
(at 1.35 -1.6)
(size 0.2 0.7)
(drill
(offset 0 -0.25)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "f6445e30-69d7-445e-9eda-81b5cc58e5a7")
)
(pad "24" smd roundrect
(at 1.35 -1.6 270)
(size 0.2 0.95)
(drill
(offset 0 -0.375)
)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(uuid "ccef8ac6-0b40-4eec-8440-85306fd1ece9")
)
(pad "25" smd roundrect
(at 0.9 -1.7)
(size 0.22 1)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.2272727273)
(uuid "d3275a0a-6a2b-4d35-8a22-49854e02a924")
)
(pad "26" smd roundrect
(at 0.45 -1.7)
(size 0.22 1)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.2272727273)
(uuid "0b92c444-d36a-4797-8e58-c273c4a27f20")
)
(pad "27" smd roundrect
(at 0 -1.7)
(size 0.22 1)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.2272727273)
(uuid "9eac8c92-637b-46af-bbe0-6ca3e2e3ebe6")
)
(pad "28" smd roundrect
(at -0.45 -1.7)
(size 0.22 1)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.2272727273)
(uuid "b154beb7-3216-4f1c-92b7-02a92eeaf9f6")
)
(pad "29" smd roundrect
(at -0.9 -1.725)
(size 0.22 0.95)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.2272727273)
(uuid "5344e602-4be2-4a71-9cd3-b52d6cf18599")
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR.wrl"
(offset
(xyz 0 -0.01 -0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)

View file

@ -1,170 +0,0 @@
(footprint "SLO0520H1R0MTT"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at -1.6 -3.1 0)
(layer "F.SilkS")
(uuid "41c7a22f-195d-4286-9376-e35a5beeab80")
(effects
(font
(size 0.6 0.6)
(thickness 0.15)
)
)
)
(property "Value" "IND-SMD_L5.4-W5.1"
(at 0 4 0)
(layer "F.Fab")
(uuid "6452beba-b4e8-408b-8ad2-7a40e8095d51")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "6e2b042f-763d-49d7-b25b-64524ec8b839")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "18c8fb2f-6b5a-46e5-92ba-50a0f2c77068")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -2.7 -2.6)
(end -2.7 -1.48)
(stroke
(width 0.25)
(type solid)
)
(layer "F.SilkS")
(uuid "365a8472-28f6-468c-92ce-632a363ea605")
)
(fp_line
(start -2.7 -2.6)
(end 2.7 -2.6)
(stroke
(width 0.25)
(type solid)
)
(layer "F.SilkS")
(uuid "23280908-433e-4121-9392-af6302b0616d")
)
(fp_line
(start -2.7 1.48)
(end -2.7 2.6)
(stroke
(width 0.25)
(type solid)
)
(layer "F.SilkS")
(uuid "d3b5b7c3-6d6e-4c2c-bcaa-c91601929fe4")
)
(fp_line
(start -2.7 2.6)
(end 2.7 2.6)
(stroke
(width 0.25)
(type solid)
)
(layer "F.SilkS")
(uuid "c0954084-ff72-448b-8a6a-6d8671163165")
)
(fp_line
(start 2.7 -2.6)
(end 2.7 -1.48)
(stroke
(width 0.25)
(type solid)
)
(layer "F.SilkS")
(uuid "4e6d9180-4936-44da-ac3d-036401c0c417")
)
(fp_line
(start 2.7 1.48)
(end 2.7 2.6)
(stroke
(width 0.25)
(type solid)
)
(layer "F.SilkS")
(uuid "343e5950-04fa-4f1e-88ac-541dfb3f2733")
)
(fp_rect
(start -3 -2.7)
(end 3 2.7)
(stroke
(width 0.05)
(type default)
)
(fill no)
(layer "F.CrtYd")
(uuid "7c58817f-924c-4929-ba1b-710ddd679fd7")
)
(fp_circle
(center -2.7 2.6)
(end -2.67 2.6)
(stroke
(width 0.06)
(type solid)
)
(fill no)
(layer "F.Fab")
(uuid "9fdfa3db-7dc6-479e-8bf3-4786c3dfe67e")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "6bd7b1fc-cb8f-4bd1-a2a6-2c6de7f5aa13")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd rect
(at -2.4 0)
(size 1.25 2.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "ed8eccd9-c6c5-4dcd-9c1d-5d23e4b5f353")
)
(pad "2" smd rect
(at 2.4 0)
(size 1.25 2.5)
(layers "F.Cu" "F.Mask" "F.Paste")
(uuid "7e6633d2-1ff1-4c50-9cc2-7cfca8d7f459")
)
(embedded_fonts no)
(model "${KIPRJMOD}/parts/parts.3dshapes/SLO0520H1R0MTT.wrl"
(offset
(xyz 0 -0 -0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)

File diff suppressed because it is too large Load diff

View file

@ -1,106 +0,0 @@
<!--XSL style sheet to convert EESCHEMA XML Partlist Format to grouped CSV BOM Format
Copyright (C) 2014, Wolf Walter.
Copyright (C) 2013, Stefan Helmert.
Copyright (C) 2018, Kicad developers.
Copyright (C) 2019, arturo182.
GPL v2.
Functionality:
Generation of JLCPCB PCBA compatible BOM
How to use this is explained in eeschema.pdf chapter 14. You enter a command line into the
netlist exporter using a new (custom) tab in the netlist export dialog.
The command line is
xsltproc -o "%O.csv" "FullPathToFile/bom2grouped_csv_jlcpcb.xsl" "%I"
-->
<!--
@package
Generates a JLCPCB PCBA service compatible BOM
Functionality:
* Generate a comma separated value BOM list (csv file type).
* Components are sorted by ref and grouped by same value+footprint
One value per line
Fields are
Comment,Designator,Footprint,PN,LCSC
The command line is
xsltproc -o "%O.csv" "full_path/bom2grouped_csv_jlcpcb.xsl" "%I"
-->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nl "&#xd;&#xa;"> <!--new line CR, LF, or LF, your choice -->
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text"/>
<xsl:variable name="digits" select="'1234567890'" />
<!-- for matching grouping of footprint and value combination -->
<xsl:key name="partTypeByValueAndFootprint" match="comp" use="concat(footprint, '-', value)" />
<!-- for table head and empty table fields-->
<xsl:key name="headentr" match="field" use="@name"/>
<!-- main part -->
<xsl:template match="/export">
<xsl:text>Comment,Designator,Footprint,Quantity,PN,LCSC</xsl:text>
<!-- all table entries -->
<xsl:apply-templates select="components"/>
</xsl:template>
<xsl:template match="components">
<!-- for Muenchian grouping of footprint and value combination -->
<xsl:for-each select="comp[count(. | key('partTypeByValueAndFootprint', concat(footprint, '-', value))[1]) = 1]">
<xsl:sort select="@ref" />
<xsl:text>&nl;</xsl:text>
<xsl:text>"</xsl:text><xsl:value-of select="value"/><xsl:text>","</xsl:text>
<!-- list of all references -->
<xsl:for-each select="key('partTypeByValueAndFootprint', concat(footprint, '-', value))">
<!-- strip non-digits from reference and sort based on remaining number -->
<xsl:sort select="translate(@ref, translate(@ref, $digits, ''), '')" data-type="number" />
<xsl:value-of select="@ref"/>
<xsl:if test="position() != last()"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>
<xsl:text>","</xsl:text>
<xsl:value-of select="footprint"/><xsl:text>","</xsl:text>
<xsl:value-of select="count(key('partTypeByValueAndFootprint', concat(footprint, '-', value)))"/><xsl:text>","</xsl:text>
<xsl:value-of select="fields/field[@name='PN']"/><xsl:text>","</xsl:text>
<xsl:value-of select="fields/field[@name='LCSC']"/><xsl:text>"</xsl:text>
</xsl:for-each>
</xsl:template>
<!-- table entries with dynamic table head -->
<xsl:template match="fields">
<!-- remember current fields section -->
<xsl:variable name="fieldvar" select="field"/>
<!-- for all existing head entries -->
<xsl:for-each select="/export/components/comp/fields/field[generate-id(.) = generate-id(key('headentr',@name)[1])]">
<xsl:variable name="allnames" select="@name"/>
<xsl:text>,"</xsl:text>
<!-- for all field entries in the remembered fields section -->
<xsl:for-each select="$fieldvar">
<!-- only if this field entry exists in this fields section -->
<xsl:if test="@name=$allnames">
<!-- content of the field -->
<xsl:value-of select="."/>
</xsl:if>
<!--
If it does not exist, use an empty cell in output for this row.
Every non-blank entry is assigned to its proper column.
-->
</xsl:for-each>
<xsl:text>"</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

File diff suppressed because one or more lines are too long

View file

@ -1,217 +0,0 @@
.render-row {
display: flex;
flex-wrap: wrap;
padding: 0 4px;
}
/* Create four equal columns that sits next to each other */
.render-col {
flex: 50%;
max-width: 50%;
padding: 0 4px;
}
.render-col img {
margin-top: 8px;
vertical-align: middle;
width: 100%;
}
/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
.render-col {
flex: 100%;
max-width: 100%;
}
}
.img-rounded {
border-radius:10% !important;
}
.card-body {
/* Better reading width & spacing */
font-size: 1.02rem;
line-height: 1.65;
}
/* Reading width only for text content */
.card-body > p,
.card-body > ul,
.card-body > ol,
.card-body > blockquote,
.card-body > pre,
.card-body > h1,
.card-body > h2,
.card-body > h3,
.card-body > h4,
.card-body > h5,
.card-body > h6 {
max-width: 80ch;
}
/* Headings: better rhythm, slightly heavier, nicer spacing */
.card-body h1,
.card-body h2,
.card-body h3,
.card-body h4,
.card-body h5,
.card-body h6 {
margin-top: 1.6em;
margin-bottom: 0.6em;
line-height: 1.25;
font-weight: 650;
letter-spacing: -0.015em;
}
.card-body h1 { font-size: 2.0rem; margin-top: 0.4em; }
.card-body h2 { font-size: 1.5rem; border-bottom: 1px solid var(--bs-border-color); padding-bottom: .35rem; }
.card-body h3 { font-size: 1.25rem; }
.card-body h4 { font-size: 1.1rem; }
/* Paragraphs + lists: consistent spacing */
.card-body p {
margin: 0 0 0.9rem 0;
}
.card-body ul,
.card-body ol {
margin: 0 0 1rem 1.1rem;
padding: 0;
}
.card-body li {
margin-bottom: 0.25rem;
}
/* Make nested list indentation feel nicer */
.card-body ul ul,
.card-body ol ol,
.card-body ul ol,
.card-body ol ul {
margin-top: 0.35rem;
margin-bottom: 0.35rem;
}
/* Links: subtle, readable */
.card-body a {
text-decoration: none;
border-bottom: 1px solid rgba(13,110,253,.35); /* bootstrap primary-ish */
}
.card-body a:hover {
border-bottom-color: rgba(13,110,253,.8);
}
/* Blockquotes: turn into a clean “note” box */
.card-body blockquote {
margin: 1rem 0;
padding: 0.75rem 1rem;
border-left: 4px solid var(--bs-border-color);
background: var(--bs-tertiary-bg);
border-radius: 0.5rem;
}
.card-body blockquote p:last-child { margin-bottom: 0; }
/* Inline code: subtle pill */
.card-body code {
padding: 0.15em 0.35em;
border-radius: 0.35rem;
background: rgba(0,0,0,.05);
font-size: 0.95em;
}
/* Code blocks (```): good spacing, background, scroll if needed */
.card-body pre {
margin: 1rem 0;
padding: 0.9rem 1rem;
border: 1px solid var(--bs-border-color);
border-radius: 0.75rem;
background: var(--bs-tertiary-bg);
overflow: auto;
}
.card-body pre code {
padding: 0;
background: transparent;
font-size: 0.95em;
line-height: 1.5;
display: block;
}
/* Tables: readable borders + zebra stripes + padding */
.card-body table {
width: 100%;
margin: 1rem 0;
border-collapse: separate;
border-spacing: 0;
border: 1px solid var(--bs-border-color);
border-radius: 0.75rem;
overflow: hidden; /* makes rounded corners work */
}
.card-body thead th {
background: var(--bs-tertiary-bg);
font-weight: 650;
border-bottom: 1px solid var(--bs-border-color);
}
.card-body th,
.card-body td {
padding: 0.6rem 0.75rem;
vertical-align: top;
border-right: 1px solid var(--bs-border-color);
}
.card-body th:last-child,
.card-body td:last-child {
border-right: none;
}
.card-body tbody tr:not(:last-child) td {
border-bottom: 1px solid var(--bs-border-color);
}
/* Zebra stripes */
.card-body tbody tr:nth-child(2n) td {
background: rgba(0,0,0,.02);
}
/* If tables are wide, allow horizontal scrolling on small screens */
.card-body table {
width: 100%;
}
@media (max-width: 768px) {
.card-body table {
display: block;
overflow-x: auto;
}
}
/* Images inside markdown: look consistent */
.card-body img {
max-width: 100%;
height: auto;
border-radius: 0.75rem;
}
/* Horizontal rule: subtle */
.card-body hr {
margin: 2rem 0;
border-top: 1px solid var(--bs-border-color);
opacity: 1;
}
/* Optional: badge images should align nicely and not be huge */
.card-body p img {
vertical-align: middle;
}
/* Fix your flashing code block: currently it's inside <p><code>... */
.card-body p > code {
white-space: pre-wrap;
}
/* Improve the "card" reading feel a bit (optional) */
.card .card-body {
padding: 1.75rem;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 917 B

View file

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="189.5063mm" height="117.32051mm" viewBox="0 0 189.5063 117.32051" version="1.1" id="svg8" inkscape:version="0.92.4 (5da689c313, 2019-01-14)" sodipodi:docname="M17_logo_shadow.svg" inkscape:export-filename="C:\Users\SP5WWP\Documents\M17_logo_simple_400.png" inkscape:export-xdpi="399.95294" inkscape:export-ydpi="399.95294">
<defs id="defs2"/>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.98994949" inkscape:cx="380.91114" inkscape:cy="226.43171" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" showguides="false" inkscape:guide-bbox="true" fit-margin-top="10" fit-margin-bottom="10" fit-margin-left="10" fit-margin-right="10" inkscape:window-width="1280" inkscape:window-height="962" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:snap-global="false">
<sodipodi:guide position="70.590358,88.660254" orientation="0,1" id="guide10" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="73.129418,28.660253" orientation="0,1" id="guide12" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
</sodipodi:namedview>
<metadata id="metadata5">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-41.529203,-88.339744)">
<path style="fill:none;stroke:#999999;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 57.857748,178.73185 34.641012,-60 v 60 l 34.64101,-60 v 60" id="path879-0" inkscape:connector-curvature="0"/>
<path style="fill:none;stroke:#999999;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 161.78079,178.73185 v -60 l -17.2733,29.91823" id="path821-2" inkscape:connector-curvature="0"/>
<path style="fill:none;stroke:#999999;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 179.73264,178.73185 34.64102,-60 h -33.97049" id="path825-1" inkscape:connector-curvature="0"/>
<path style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 55.85933,177 34.641017,-60 v 60 l 34.641013,-60 v 60" id="path879" inkscape:connector-curvature="0"/>
<path style="fill:none;stroke:#ff0000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 159.78238,177 v -60 l -17.2733,29.91823" id="path821" inkscape:connector-curvature="0"/>
<path style="fill:none;stroke:#ff0000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 177.73423,177 34.64102,-60 h -33.97049" id="path825" inkscape:connector-curvature="0"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -1,100 +0,0 @@
<!DOCTYPE html>
<html lang="en" data-bs-theme="auto">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="M17 Foundation">
<title>{{ name }}</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/style.css">
<link rel="icon" href="imgs/favicon.png">
</head>
<body>
<section class="py-1 text-center container">
<div class="row py-2 py-lg-3 mx-auto">
<div class="col-lg-4 col-md-4 ">
<img class="img-rounded" src="imgs/m17-logo.svg" alt="Logo M17 Foundation" width="200px">
</div>
<div class="col-lg-6 col-md-6 pt-2">
<h1>{{ title }}</h1>
<p>{{ description }}</p>
</div>
</div>
</section>
<div class="py-5 bg-body-tertiary">
<div class="container">
<div class="card mb-3">
<div class="row g-0">
<div class="col-md-8">
<div class="card-body">
{% include 'README.html' %}
</div>
</div>
<div class="col-md-4">
{% for r in renders %}
{% if loop.first %}
<a href="imgs/{{ name }}-{{ r.suffix }}.png">
<img src="imgs/{{ name }}-{{ r.suffix }}.png" class="img-fluid rounded-start mb-2" alt="3D render PCB {{ name }}, {{ r.alt }}.">
</a>
<div class="render-row">
{% else %}
<div class="render-col">
<a href="imgs/{{ name }}-{{ r.suffix }}.png">
<img src="imgs/{{ name }}-{{ r.suffix }}.png" class="img-fluid rounded-start" alt="3D render PCB {{ name }}, {{ r.alt }}.">
</a>
</div>
{% endif %}
{% if loop.last %}
</div>
{% endif %}
{% endfor %}
<div class="">
<h3>Files:</h3>
<ul>
{% for item in files %}
<li>
<a href="files/{{ item.file }}">{{ item.description }}</a>
</li>
{% endfor %}
</ul>
</div>
<vrml-viewer src="files/{{ name }}_model.vrml.gz" autoload="false" model-size="1.2" responsive="true"></vrml-viewer>
</div>
</div>
</div>
<footer class="text-body-secondary py-5">
<div class="container">
<p class="float-end mb-1">
<a href="#">Back to top</a>
</p>
<p class="mb-1"><a href="https://m17foundation.org/">m17foundation.org</a>, last update: {{ datetime }}.</p>
</div>
</footer>
<div class="w-full mt-16 mb-1 p-2 bg-gray-200 text-center txt-xs rounded">
</div>
</div>
</div>
<script src="js/bootstrap.bundle.min.js"></script>
<script type="importmap">
{
"imports": {
"three": "https://cdn.jsdelivr.net/npm/three@0.160.1/build/three.module.js",
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.160.1/examples/jsm/"
}
}
</script>
<script type="module" src="js/vrml-viewer.js"></script>
</body>
</html>

View file

@ -1,23 +0,0 @@
{
"title": "LinHT Hardware",
"name": "linht-hw",
"description": "This is the hardware project page for LINHT-HW board.",
"files": [
{"file": "gerbers_jlcpcb.zip", "description": "Gerber Files for JLCPCB (ZIP)"},
{"file": "gerbers_pcbway.zip", "description": "Gerber Files for PCBWay (ZIP)"},
{"file": "linht-hw_pos.csv", "description": "Position File (CSV)"},
{"file": "linht-hw_pos.txt", "description": "Position File (ASCII)"},
{"file": "linht-hw_pos_jlcpcb.csv", "description": "Position File for JLCPCB (CSV)"},
{"file": "linht-hw_bom.txt", "description": "Bill of Materials (ASCII)"},
{"file": "linht-hw_bom.csv", "description": "Bill of Materials for JLCPCB (CSV)"},
{"file": "linht-hw_schematic.pdf", "description": "Schematic (PDF)"},
{"file": "linht-hw_schematic_bw.pdf", "description": "Schematic without Colors (PDF)"},
{"file": "linht-hw_model.step.xz", "description": "3D Model (STEP.XZ)"},
{"file": "linht-hw_model.vrml.xz", "description": "3D Model (VRML.XZ)"}
],
"renders": [
{"suffix": "preview", "alt": "Isometric view of the PCB"},
{"suffix": "front", "alt": "Top side of the PCB"},
{"suffix": "back", "alt": "Bottom side of the PCB"}
]
}

File diff suppressed because one or more lines are too long

View file

@ -1,785 +0,0 @@
/**
* VRML Viewer Custom Element
* Web component for displaying VRML files using ThreeJS with responsive design and touch support
*/
import {
Scene,
PerspectiveCamera,
WebGLRenderer,
AmbientLight,
DirectionalLight,
Box3,
Vector3,
LinearToneMapping
} from 'three';
import { VRMLLoader } from 'three/addons/loaders/VRMLLoader.js';
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
const DEFAULT_WIDTH = 800;
const DEFAULT_HEIGHT = 600;
const DEFAULT_BACKGROUND = '#f8f8f8';
// Inject embedded CSS styles once to avoid duplicates
if (!document.querySelector('style[data-vrml-viewer]')) {
const style = document.createElement('style');
style.setAttribute('data-vrml-viewer', 'true');
style.textContent = `
/* VRML Viewer Embedded Styles */
vrml-viewer {
display: block;
position: relative;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 4px;
overflow: hidden;
background: #fafafa;
/* Default fixed size */
width: var(--vrml-width, 800px);
height: var(--vrml-height, 600px);
}
/* Responsive viewer - simplified approach */
vrml-viewer[responsive="true"],
vrml-viewer.responsive-viewer {
width: 100%;
height: auto;
aspect-ratio: var(--vrml-aspect-ratio, 3/2);
min-height: clamp(250px, 40vh, 400px);
max-height: 85vh;
}
/* Container and canvas */
.vrml-viewer-container {
position: relative;
width: 100%;
height: 100%;
}
.vrml-viewer-canvas {
display: block;
width: 100%;
height: 100%;
}
/* Controls */
.vrml-viewer-controls {
position: absolute;
top: 8px;
right: 8px;
display: flex;
gap: 4px;
z-index: 1000;
}
.vrml-viewer-btn {
background: rgba(255, 255, 255, 0.9);
color: #333;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 3px;
padding: 6px 10px;
cursor: pointer;
font-size: 11px;
font-weight: 500;
transition: all 0.2s ease;
min-height: 32px;
min-width: 50px;
}
.vrml-viewer-btn:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(0, 0, 0, 0.2);
transform: translateY(-1px);
}
.vrml-viewer-btn:active {
transform: translateY(0);
}
/* Load button */
.vrml-viewer-load-btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #007bff;
color: white;
border: none;
border-radius: 4px;
padding: 12px 24px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
z-index: 1001;
}
.vrml-viewer-load-btn:hover {
background: #0056b3;
transform: translate(-50%, -50%) translateY(-1px);
}
/* Loading and error states */
.vrml-viewer-loading,
.vrml-viewer-error {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(255, 255, 255, 0.95);
padding: 20px;
border-radius: 6px;
text-align: center;
z-index: 1001;
border: 1px solid rgba(0, 0, 0, 0.1);
max-width: 80%;
}
.vrml-viewer-error {
color: #d32f2f;
border-color: rgba(211, 47, 47, 0.2);
}
.vrml-viewer-spinner {
border: 2px solid #f3f3f3;
border-top: 2px solid #007bff;
border-radius: 50%;
width: 20px;
height: 20px;
animation: vrml-spin 1s linear infinite;
margin: 0 auto 10px;
}
@keyframes vrml-spin {
to { transform: rotate(360deg); }
}
.vrml-viewer-loading div:last-child {
color: #666;
font-size: 12px;
font-weight: 500;
}
.vrml-viewer-error h3 {
margin: 0 0 8px 0;
font-size: 14px;
font-weight: 600;
}
.vrml-viewer-error p {
margin: 0;
font-size: 12px;
font-weight: 400;
}
/* Fullscreen styles */
vrml-viewer:fullscreen {
width: 100vw !important;
height: 100vh !important;
border: none;
border-radius: 0;
}
/* Simplified responsive breakpoints - only 2 instead of 5 */
@media (max-width: 768px) {
/* Mobile and tablet adjustments */
vrml-viewer[responsive="true"],
vrml-viewer.responsive-viewer {
aspect-ratio: 4/3; /* More square for mobile */
min-height: clamp(250px, 35vh, 350px);
max-height: 70vh;
}
.vrml-viewer-controls {
top: 6px;
right: 6px;
flex-direction: column;
gap: 4px;
}
.vrml-viewer-btn {
padding: 8px 12px;
font-size: 11px;
min-width: 60px;
min-height: 36px;
}
.vrml-viewer-load-btn {
padding: 14px 20px;
font-size: 15px;
min-width: 120px;
min-height: 44px;
}
}
/* Touch-friendly enhancements */
@media (hover: none) and (pointer: coarse) {
.vrml-viewer-btn {
min-height: 44px;
min-width: 44px;
padding: 10px 14px;
font-size: 12px;
}
.vrml-viewer-load-btn {
min-height: 48px;
min-width: 140px;
padding: 16px 24px;
font-size: 16px;
}
}
/* Dark theme support */
@media (prefers-color-scheme: dark) {
vrml-viewer {
border-color: rgba(255, 255, 255, 0.1);
background: #1a1a1a;
}
.vrml-viewer-btn {
background: rgba(0, 0, 0, 0.8);
color: #fff;
border-color: rgba(255, 255, 255, 0.1);
}
.vrml-viewer-btn:hover {
background: rgba(0, 0, 0, 0.9);
border-color: rgba(255, 255, 255, 0.2);
}
.vrml-viewer-loading,
.vrml-viewer-load-btn {
background: rgba(0, 0, 0, 0.9);
border-color: rgba(255, 255, 255, 0.1);
}
.vrml-viewer-loading div:last-child {
color: #ccc;
}
.vrml-viewer-error {
background: rgba(0, 0, 0, 0.9);
color: #ff6b6b;
border-color: rgba(255, 107, 107, 0.2);
}
}
/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
vrml-viewer {
border-width: 0.5px;
}
.vrml-viewer-btn {
border-width: 0.5px;
}
}
`;
document.head.appendChild(style);
}
// GZIP detection and decompression utilities
function isGzipFile(url) {
return url.toLowerCase().endsWith('.gz');
}
// Handle both modern DecompressionStream and fallback for older browsers
async function fetchAndDecompress(url) {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
if ('DecompressionStream' in window) {
// Modern browsers: use native streaming decompression
const decompressedStream = response.body
.pipeThrough(new DecompressionStream('gzip'));
const decompressedResponse = new Response(decompressedStream);
return await decompressedResponse.text();
} else {
// Legacy browsers: rely on server-side decompression
const fallbackResponse = await fetch(url, {
headers: { 'Accept-Encoding': 'gzip' }
});
if (!fallbackResponse.ok) {
throw new Error(`HTTP ${fallbackResponse.status}: ${fallbackResponse.statusText}`);
}
return await fallbackResponse.text();
}
} catch (error) {
throw new Error(`Failed to fetch/decompress file: ${error.message}`);
}
}
async function fetchVRMLFile(url) {
if (isGzipFile(url)) {
return await fetchAndDecompress(url);
} else {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
return await response.text();
}
}
// Basic VRML content validation - checks for common VRML keywords
function validateVRMLContent(content) {
if (!content || typeof content !== 'string') return false;
const trimmed = content.trim();
return trimmed.startsWith('#VRML') ||
trimmed.includes('VRML') ||
trimmed.includes('Shape') ||
trimmed.includes('geometry') ||
trimmed.includes('IndexedFaceSet');
}
class VRMLViewer extends HTMLElement {
constructor() {
super();
// ThreeJS core components
this.scene = null;
this.camera = null;
this.renderer = null;
this.controls = null;
this.model = null;
this.isLoading = false;
this.initialCameraPosition = null;
this.initialCameraTarget = null;
// Render-on-demand optimization to improve performance
this.needsRender = true;
this.resizeTimeout = null;
// Bind event handlers to maintain correct 'this' context
this.handleResize = this.handleResize.bind(this);
this.resetView = this.resetView.bind(this);
this.toggleFullscreen = this.toggleFullscreen.bind(this);
this.createDOM();
}
static get observedAttributes() {
return ['src', 'width', 'height', 'background-color', 'autoload', 'model-size', 'responsive'];
}
createDOM() {
this.innerHTML = `
<div class="vrml-viewer-container">
<canvas class="vrml-viewer-canvas"></canvas>
<div class="vrml-viewer-controls">
<button class="vrml-viewer-btn" id="reset-btn" title="Reset View">Reset</button>
<button class="vrml-viewer-btn fullscreen" id="fullscreen-btn" title="Toggle Fullscreen">Fullscreen</button>
</div>
<button class="vrml-viewer-load-btn" id="load-btn" style="display: none;">Load Model</button>
<div class="vrml-viewer-loading" style="display: none;">
<div class="vrml-viewer-spinner"></div>
<div>Loading VRML...</div>
</div>
<div class="vrml-viewer-error" style="display: none;">
<h3>Error Loading VRML</h3>
<p id="error-message"></p>
</div>
</div>
`;
// Get references
this.canvas = this.querySelector('.vrml-viewer-canvas');
this.loadingEl = this.querySelector('.vrml-viewer-loading');
this.errorEl = this.querySelector('.vrml-viewer-error');
this.errorMessageEl = this.querySelector('#error-message');
this.loadBtnEl = this.querySelector('#load-btn');
// Add event listeners
this.querySelector('#reset-btn').addEventListener('click', this.resetView);
this.querySelector('#fullscreen-btn').addEventListener('click', this.toggleFullscreen);
this.loadBtnEl.addEventListener('click', () => this.handleLoadButtonClick());
}
async connectedCallback() {
try {
await this.initViewer();
// Wait for CSS layout completion before sizing calculations
requestAnimationFrame(() => {
this.updateSize();
this.updateBackgroundColor();
// Handle autoload behavior
const src = this.getAttribute('src');
const autoload = this.getAttribute('autoload');
const shouldAutoload = autoload === null || autoload === '' || autoload === 'true';
if (src && shouldAutoload) {
this.loadModel(src);
} else if (src && !shouldAutoload) {
this.showLoadButton();
}
});
this.startRenderLoop();
window.addEventListener('resize', this.handleResize);
// Cross-browser fullscreen event listeners
document.addEventListener('fullscreenchange', () => this.handleFullscreenChange());
document.addEventListener('webkitfullscreenchange', () => this.handleFullscreenChange());
document.addEventListener('mozfullscreenchange', () => this.handleFullscreenChange());
document.addEventListener('MSFullscreenChange', () => this.handleFullscreenChange());
} catch (error) {
this.showError(`Failed to initialize viewer: ${error.message}`);
}
}
disconnectedCallback() {
window.removeEventListener('resize', this.handleResize);
document.removeEventListener('fullscreenchange', () => this.handleFullscreenChange());
document.removeEventListener('webkitfullscreenchange', () => this.handleFullscreenChange());
document.removeEventListener('mozfullscreenchange', () => this.handleFullscreenChange());
document.removeEventListener('MSFullscreenChange', () => this.handleFullscreenChange());
this.stopRenderLoop();
if (this.renderer) this.renderer.dispose();
if (this.controls) this.controls.dispose();
}
attributeChangedCallback(name, oldValue, newValue) {
if (oldValue === newValue) return;
switch (name) {
case 'src':
if (newValue && this.renderer) {
const autoload = this.getAttribute('autoload');
const shouldAutoload = autoload === null || autoload === '' || autoload === 'true';
if (shouldAutoload) {
this.hideLoadButton();
this.loadModel(newValue);
} else {
this.showLoadButton();
}
}
break;
case 'autoload':
const src = this.getAttribute('src');
const shouldAutoload = newValue === null || newValue === '' || newValue === 'true';
if (shouldAutoload && src && this.renderer) {
this.hideLoadButton();
this.loadModel(src);
} else if (!shouldAutoload && src) {
this.showLoadButton();
} else {
this.hideLoadButton();
}
break;
case 'width':
case 'height':
case 'responsive':
this.updateSize();
break;
case 'background-color':
this.updateBackgroundColor();
break;
case 'model-size':
if (this.model) this.fitCameraToModel();
break;
}
}
async initViewer() {
this.scene = new Scene();
const width = this.getWidth();
const height = this.getHeight();
this.camera = new PerspectiveCamera(60, width / height, 0.01, 1000);
this.camera.position.set(0, 0, 5);
// Configure renderer for optimal PCB visualization
this.renderer = new WebGLRenderer({
canvas: this.canvas,
antialias: true,
alpha: true,
powerPreference: 'high-performance'
});
this.renderer.setSize(width, height);
this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); // Cap at 2x for performance
this.renderer.shadowMap.enabled = false; // Shadows not needed for PCB viewing
this.renderer.toneMapping = LinearToneMapping;
this.renderer.toneMappingExposure = 1.2;
this.renderer.outputColorSpace = 'srgb';
this.setupLighting();
// Configure orbit controls for 3D model interaction
this.controls = new OrbitControls(this.camera, this.canvas);
this.controls.enableDamping = true;
this.controls.dampingFactor = 0.05;
this.controls.screenSpacePanning = false;
this.controls.minDistance = 0.01;
this.controls.maxDistance = 100;
this.controls.maxPolarAngle = Math.PI;
// Touch device optimizations
if ('ontouchstart' in window) {
this.controls.rotateSpeed = 0.8;
this.controls.zoomSpeed = 1.2;
this.controls.panSpeed = 0.8;
}
this.controls.addEventListener('change', () => {
this.needsRender = true;
});
}
setupLighting() {
// Three-point lighting setup optimized for PCB visualization
const ambientLight = new AmbientLight(0x808080, 1.2); // Base illumination
this.scene.add(ambientLight);
const directionalLight = new DirectionalLight(0xffffff, 1.5); // Key light
directionalLight.position.set(10, 10, 8);
this.scene.add(directionalLight);
const fillLight = new DirectionalLight(0xffffff, 0.8); // Fill light from opposite side
fillLight.position.set(-8, -8, -6);
this.scene.add(fillLight);
}
async loadModel(src) {
if (this.isLoading) return;
this.isLoading = true;
this.showLoading();
this.hideError();
try {
this.disposeModel();
const vrmlContent = await fetchVRMLFile(src);
if (!validateVRMLContent(vrmlContent)) {
throw new Error('Invalid VRML content');
}
const loader = new VRMLLoader();
this.model = loader.parse(vrmlContent);
this.scene.add(this.model);
this.fitCameraToModel();
this.hideLoading();
this.hideLoadButton();
this.needsRender = true;
} catch (error) {
this.hideLoading();
this.showError(`Failed to load VRML: ${error.message}`);
} finally {
this.isLoading = false;
}
}
// Proper WebGL resource cleanup to prevent memory leaks
disposeModel() {
if (this.model) {
this.model.traverse((child) => {
if (child.geometry) child.geometry.dispose();
if (child.material) {
if (Array.isArray(child.material)) {
child.material.forEach(material => material.dispose());
} else {
child.material.dispose();
}
}
if (child.texture) child.texture.dispose();
});
this.scene.remove(this.model);
this.model = null;
}
}
// Calculate optimal camera position based on model bounding box
fitCameraToModel() {
if (!this.model) return;
const box = new Box3().setFromObject(this.model);
const size = box.getSize(new Vector3());
const center = box.getCenter(new Vector3());
// Calculate camera distance using field of view and model size
const modelSizeMultiplier = parseFloat(this.getAttribute('model-size')) || 1.0;
const maxDim = Math.max(size.x, size.y, size.z);
const fov = this.camera.fov * (Math.PI / 180);
let cameraDistance = Math.abs(maxDim / Math.sin(fov / 2)) * 0.8 * modelSizeMultiplier;
cameraDistance = Math.max(cameraDistance, maxDim * 1.5); // Ensure minimum distance
// Position camera with slight elevation for better PCB viewing angle
this.camera.position.copy(center);
this.camera.position.z += cameraDistance;
this.camera.position.y += cameraDistance * 0.1;
this.camera.lookAt(center);
this.controls.target.copy(center);
this.controls.update();
// Store initial position for reset functionality
this.initialCameraPosition = this.camera.position.clone();
this.initialCameraTarget = center.clone();
this.needsRender = true;
}
resetView() {
if (this.initialCameraPosition && this.initialCameraTarget) {
this.camera.position.copy(this.initialCameraPosition);
this.controls.target.copy(this.initialCameraTarget);
this.controls.update();
this.needsRender = true;
} else if (this.model) {
this.fitCameraToModel();
}
}
toggleFullscreen() {
if (!document.fullscreenElement) {
this.requestFullscreen().catch(err => {
console.warn('Could not enter fullscreen:', err);
});
} else {
document.exitFullscreen();
}
}
// Render-on-demand loop for optimal performance
startRenderLoop() {
const animate = () => {
this.animationId = requestAnimationFrame(animate);
let hasChanges = false;
if (this.controls && this.controls.enabled) {
hasChanges = this.controls.update() || hasChanges;
}
// Only render when changes occur to save GPU resources
if (this.needsRender || hasChanges) {
if (this.renderer && this.scene && this.camera) {
this.renderer.render(this.scene, this.camera);
this.needsRender = false;
}
}
};
animate();
}
stopRenderLoop() {
if (this.animationId) {
cancelAnimationFrame(this.animationId);
this.animationId = null;
}
}
// Debounced resize handler to prevent excessive recalculations
handleResize() {
clearTimeout(this.resizeTimeout);
this.resizeTimeout = setTimeout(() => {
this.updateSize();
if (this.isResponsive() && this.model) {
this.fitCameraToModel();
}
}, 150);
}
handleFullscreenChange() {
setTimeout(() => this.updateSize(), 100);
}
updateSize() {
if (!this.renderer || !this.camera) return;
const width = this.getWidth();
const height = this.getHeight();
this.camera.aspect = width / height;
this.camera.updateProjectionMatrix();
this.renderer.setSize(width, height);
this.needsRender = true;
}
updateBackgroundColor() {
if (!this.renderer) return;
const color = this.getAttribute('background-color') || DEFAULT_BACKGROUND;
this.renderer.setClearColor(color);
this.needsRender = true;
}
getWidth() {
if (this.isFullscreen()) return window.innerWidth;
if (this.isResponsive()) return this.clientWidth || this.getBoundingClientRect().width || DEFAULT_WIDTH;
return parseInt(this.getAttribute('width')) || DEFAULT_WIDTH;
}
getHeight() {
if (this.isFullscreen()) return window.innerHeight;
if (this.isResponsive()) return this.clientHeight || this.getBoundingClientRect().height || DEFAULT_HEIGHT;
return parseInt(this.getAttribute('height')) || DEFAULT_HEIGHT;
}
isFullscreen() {
return document.fullscreenElement === this ||
document.webkitFullscreenElement === this ||
document.mozFullScreenElement === this ||
document.msFullscreenElement === this;
}
isResponsive() {
return this.getAttribute('responsive') === 'true' || this.classList.contains('responsive-viewer');
}
// UI state management
showLoading() { this.loadingEl.style.display = 'block'; }
hideLoading() { this.loadingEl.style.display = 'none'; }
showError(message) {
this.errorMessageEl.textContent = message;
this.errorEl.style.display = 'block';
}
hideError() { this.errorEl.style.display = 'none'; }
showLoadButton() { if (this.loadBtnEl) this.loadBtnEl.style.display = 'block'; }
hideLoadButton() { if (this.loadBtnEl) this.loadBtnEl.style.display = 'none'; }
// Public API
async load(src = null) {
const sourceUrl = src || this.getAttribute('src');
if (!sourceUrl) {
throw new Error('No source URL provided and no src attribute set');
}
if (src && src !== this.getAttribute('src')) {
this.setAttribute('src', src);
}
await this.loadModel(sourceUrl);
}
clear() {
this.disposeModel();
this.hideError();
this.hideLoading();
const src = this.getAttribute('src');
const autoload = this.getAttribute('autoload');
const shouldAutoload = autoload === null || autoload === '' || autoload === 'true';
if (src && !shouldAutoload) {
this.showLoadButton();
}
this.needsRender = true;
}
async handleLoadButtonClick() {
const src = this.getAttribute('src');
if (src) await this.load(src);
}
}
customElements.define('vrml-viewer', VRMLViewer);

View file

@ -1,324 +0,0 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{
line-height:1.15;
-webkit-text-size-adjust:100%
}
body{
margin:0
}
h1{
font-size:2em;
margin:.67em 0
}
pre{
font-family:monospace,monospace;
font-size:1em
}
a{
background-color:transparent
}
b,strong{
font-weight:bolder
}
code{
font-family:monospace,monospace;
font-size:1em
}
small{
font-size:80%
}
img{
border-style:none
}
input{
font-family:inherit;
font-size:100%;
line-height:1.15;
margin:0
}
input{
overflow:visible
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{
height:auto
}
[type=search]{
-webkit-appearance:textfield;
outline-offset:-2px
}
[type=search]::-webkit-search-decoration{
-webkit-appearance:none
}
[hidden]{
display:none
}
h1,h2,h3,h4,h5,h6,p,pre{
margin:0
}
ul{
margin:0;
padding:0
}
ul{
list-style:none
}
html{
font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
line-height:1.5
}
*{
box-sizing:border-box;
border:0 solid #e2e8f0
}
img{
border-style:solid
}
input::-webkit-input-placeholder{
color:#a0aec0
}
input::-moz-placeholder{
color:#a0aec0
}
input:-ms-input-placeholder{
color:#a0aec0
}
input::-ms-input-placeholder{
color:#a0aec0
}
input::placeholder{
color:#a0aec0
}
table{
border-collapse:collapse
}
tbody td {
padding-top: 5px;
padding-bottom: 5px;
overflow-x: scroll;
}
tbody tr:nth-child(even) {
background-color: #edf2f7;
}
h1,h2,h3,h4,h5,h6{
font-size:inherit;
font-weight:inherit
}
a{
color:inherit;
text-decoration:inherit
}
input{
padding:0;
line-height:inherit;
color:inherit
}
code,pre{
font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace
overflow-x: scroll;
}
.container{
width:100%
}
@media (min-width:640px){
.container{
max-width:640px
}
}
@media (min-width:768px){
.container{
max-width:768px
}
}
@media (min-width:1024px){
.container{
max-width:1024px
}
}
@media (min-width:1280px){
.container{
max-width:1280px
}
}
.bg-gray-200{
background-color:#edf2f7
}
.rounded{
border-radius:.25rem
}
.block{
display:block
}
.inline{
display:inline
}
.flex{
display:flex
}
.table{
display:table
}
.hidden{
display:none
}
.flex-wrap{
flex-wrap:wrap
}
.flex-auto{
flex:1 1 auto
}
.clearfix:after{
content:"";
display:table;
clear:both
}
.my-2{
margin-top:.5rem;
margin-bottom:.5rem
}
.my-3{
margin-top:.75rem;
margin-bottom:.75rem
}
.mx-auto{
margin-left:auto;
margin-right:auto
}
.mb-1{
margin-bottom:.25rem
}
.mt-16{
margin-top:4rem
}
.overflow-auto{
overflow:auto
}
.overflow-hidden{
overflow:hidden
}
.p-2{
padding:.5rem
}
.py-1{
padding-top:.25rem;
padding-bottom:.25rem
}
.py-3{
padding-top:.75rem;
padding-bottom:.75rem
}
.px-3{
padding-left:.75rem;
padding-right:.75rem
}
.px-4{
padding-left:1rem;
padding-right:1rem
}
.fixed{
position:fixed
}
.absolute{
position:absolute
}
.relative{
position:relative
}
.top-0{
top:0
}
.right-0{
right:0
}
.bottom-0{
bottom:0
}
.left-0{
left:0
}
.text-center{
text-align:center
}
.text-right{
text-align:right
}
.text-sm{
font-size:.875rem
}
.w-full{
width:100%
}
body{
font-size:1rem;
font-weight:400;
color:#718096
}
h1{
font-size:1.875rem
}
h1,h2{
font-weight:700;
font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
overflow-wrap:normal;
word-break:normal;
color:#1a202c;
padding-top:1.5rem;
padding-bottom:.5rem
}
h2{
font-size:1.5rem
}
h3{
font-weight:700;
font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
overflow-wrap:normal;
word-break:normal;
color:#1a202c;
padding-top:1.5rem;
padding-bottom:.5rem;
font-size:1.25rem
}
p{
text-align:justify
}
a{
color:#63b3ed
}
a:hover{
color:#2b6cb0
}
ul{
list-style-type:disc;
list-style-position:inside;
margin-top:.25rem;
margin-bottom:.25rem
}
code{
padding:.25rem
}
code,pre code{
background-color:#edf2f7
}
pre code{
display:block;
margin-top:1rem;
margin-bottom:1rem;
padding:1rem .75rem;
width:100%
}
.boardPreview{
display:block;
max-width:100%;
max-height:400px;
width:auto;
height:auto;
margin-left:auto;
margin-right:auto
}
@media (min-width:768px){
.md\:w-1\/3{
width:33.333333%
}
}

12177
rf.kicad_sch

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff