mirror of
https://github.com/jhbruhn/butns.git
synced 2025-07-01 08:58:49 +00:00
initial commit
This commit is contained in:
commit
ef979bbd9e
74 changed files with 2073215 additions and 0 deletions
27
.github/workflows/compile-sketch.yml
vendored
Normal file
27
.github/workflows/compile-sketch.yml
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
name: Compile Sketch
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
jobs:
|
||||
compile-sketches:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# See: https://github.com/arduino/compile-sketches#readme
|
||||
- name: Compile sketches
|
||||
uses: arduino/compile-sketches@v1
|
||||
with:
|
||||
platforms:
|
||||
- name: "earlephilhower:arduino-pico"
|
||||
source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
|
||||
fqbn: earlephilhower:arduino-pico:rp2040
|
||||
sketch-paths: |
|
||||
- firmware/
|
||||
libraries: |
|
||||
- name: Adafruit_NeoPixel
|
||||
- name: Adafruit_MPU6050
|
30
.gitignore
vendored
Normal file
30
.gitignore
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
# For PCBs designed using KiCad: https://www.kicad.org/
|
||||
# Format documentation: https://kicad.org/help/file-formats/
|
||||
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
*-backups
|
||||
*.kicad_prl
|
||||
*.sch-bak
|
||||
*~
|
||||
_autosave-*
|
||||
*.tmp
|
||||
*-save.pro
|
||||
*-save.kicad_pcb
|
||||
fp-info-cache
|
||||
~*.lck
|
||||
\#auto_saved_files#
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
# Autorouter files (exported from Pcbnew)
|
||||
*.dsn
|
||||
*.ses
|
||||
|
||||
build/
|
||||
.vscode/
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "hardware/butns/case/YAPP_Box"]
|
||||
path = hardware/butns/case/YAPP_Box
|
||||
url = https://github.com/mrWheel/YAPP_Box.git
|
21
LICENSE
Normal file
21
LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 Hügelton
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
840
firmware/MonomeSerialDevice.cpp
Normal file
840
firmware/MonomeSerialDevice.cpp
Normal file
|
@ -0,0 +1,840 @@
|
|||
#include "MonomeSerialDevice.h"
|
||||
#include "debug.h"
|
||||
|
||||
MonomeSerialDevice::MonomeSerialDevice() {}
|
||||
|
||||
void MonomeSerialDevice::initialize() {
|
||||
active = false;
|
||||
isMonome = false;
|
||||
isGrid = true;
|
||||
rows = 0;
|
||||
columns = 0;
|
||||
encoders = 0;
|
||||
//clearQueue();
|
||||
clearAllLeds();
|
||||
arcDirty = false;
|
||||
gridDirty = false;
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::setupAsGrid(uint8_t _rows, uint8_t _columns) {
|
||||
initialize();
|
||||
active = true;
|
||||
isMonome = true;
|
||||
isGrid = true;
|
||||
rows = _rows;
|
||||
columns = _columns;
|
||||
gridDirty = true;
|
||||
debugfln(INFO, "GRID rows: %d columns %d", rows, columns);
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::setupAsArc(uint8_t _encoders) {
|
||||
initialize();
|
||||
active = true;
|
||||
isMonome = true;
|
||||
isGrid = false;
|
||||
encoders = _encoders;
|
||||
arcDirty = true;
|
||||
debugfln(INFO, "ARC encoders: %d", encoders);
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::setTiltActive(uint8_t sensor, bool active) {
|
||||
if (sensor < 4) {
|
||||
tiltActive[sensor] = active;
|
||||
}
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::sendTiltEvent(uint8_t sensor, int16_t x, int16_t y, int16_t z) {
|
||||
if (sensor < 4 && tiltActive[sensor]) {
|
||||
lastTiltX[sensor] = x;
|
||||
lastTiltY[sensor] = y;
|
||||
lastTiltZ[sensor] = z;
|
||||
|
||||
Serial.write((uint8_t)0x81); // tiltイベントのプレフィックス
|
||||
Serial.write(sensor);
|
||||
Serial.write((uint8_t)(x >> 8));
|
||||
Serial.write((uint8_t)(x & 0xFF));
|
||||
Serial.write((uint8_t)(y >> 8));
|
||||
Serial.write((uint8_t)(y & 0xFF));
|
||||
Serial.write((uint8_t)(z >> 8));
|
||||
Serial.write((uint8_t)(z & 0xFF));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MonomeSerialDevice::getDeviceInfo() {
|
||||
//debugln(INFO, "MonomeSerialDevice::getDeviceInfo");
|
||||
Serial.write(uint8_t(0));
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::poll() {
|
||||
//while (isMonome && Serial.available()) { processSerial(); };
|
||||
if (Serial.available()) {
|
||||
processSerial();
|
||||
}
|
||||
//Serial.println("processSerial");
|
||||
}
|
||||
|
||||
|
||||
void MonomeSerialDevice::setAllLEDs(int value) {
|
||||
for (int i = 0; i < MAXLEDCOUNT; i++) leds[i] = value;
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::setGridLed(uint8_t x, uint8_t y, uint8_t level) {
|
||||
// int index = x + (y * columns);
|
||||
// if (index < MAXLEDCOUNT) leds[index] = level;
|
||||
|
||||
if (x < columns && y < rows) {
|
||||
uint32_t index = y * columns + x;
|
||||
leds[index] = level;
|
||||
}
|
||||
//debugfln(INFO, "LED index: %d x %d y %d", index, x, y);
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::clearGridLed(uint8_t x, uint8_t y) {
|
||||
setGridLed(x, y, 0);
|
||||
//Serial.println("clearGridLed");
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::setArcLed(uint8_t enc, uint8_t led, uint8_t level) {
|
||||
int index = led + (enc << 6);
|
||||
if (index < MAXLEDCOUNT) leds[index] = level;
|
||||
//Serial.println("setArcLed");
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::clearArcLed(uint8_t enc, uint8_t led) {
|
||||
setArcLed(enc, led, 0);
|
||||
//Serial.println("clearArcLed");
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::clearAllLeds() {
|
||||
for (int i = 0; i < MAXLEDCOUNT; i++) leds[i] = 0;
|
||||
//Serial.println("clearAllLeds");
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::clearArcRing(uint8_t ring) {
|
||||
for (int i = ring << 6, upper = i + 64; i < upper; i++) leds[i] = 0;
|
||||
//Serial.println("clearArcRing");
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::refreshGrid() {
|
||||
gridDirty = true;
|
||||
//Serial.println("refreshGrid");
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::refreshArc() {
|
||||
arcDirty = true;
|
||||
//Serial.println("refreshArc");
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::sendSysSize() {
|
||||
Serial.write((uint8_t)0x05); // system / get grid size
|
||||
Serial.write((uint8_t)columns);
|
||||
Serial.write((uint8_t)rows);
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::sendSysRotation() {
|
||||
// Note: The original Monome protocol doesn't have a direct command for rotation.
|
||||
// This is a custom implementation. You may need to adjust how the host interprets this.
|
||||
Serial.write((uint8_t)0x0F); // Using 0x0F (system / report firmware version) as a custom command
|
||||
Serial.write((uint8_t)0xF0); // Custom identifier for rotation
|
||||
Serial.write((uint8_t)gridRotation);
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::refresh() {
|
||||
/*
|
||||
uint8_t buf[35];
|
||||
int ind, led;
|
||||
|
||||
if (gridDirty) {
|
||||
//Serial.println("gridDirty");
|
||||
buf[0] = 0x1A;
|
||||
buf[1] = 0;
|
||||
buf[2] = 0;
|
||||
|
||||
ind = 3;
|
||||
for (int y = 0; y < 8; y++)
|
||||
for (int x = 0; x < 8; x += 2) {
|
||||
led = (y << 4) + x;
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
}
|
||||
Serial.write(buf, 35);
|
||||
|
||||
ind = 3;
|
||||
buf[1] = 8;
|
||||
for (int y = 0; y < 8; y++)
|
||||
for (int x = 8; x < 16; x += 2) {
|
||||
led = (y << 4) + x;
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
}
|
||||
Serial.write(buf, 35);
|
||||
|
||||
ind = 3;
|
||||
buf[1] = 0;
|
||||
buf[2] = 8;
|
||||
for (int y = 8; y < 16; y++)
|
||||
for (int x = 0; x < 8; x += 2) {
|
||||
led = (y << 4) + x;
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
}
|
||||
Serial.write(buf, 35);
|
||||
|
||||
ind = 3;
|
||||
buf[1] = 8;
|
||||
for (int y = 8; y < 16; y++)
|
||||
for (int x = 8; x < 16; x += 2) {
|
||||
led = (y << 4) + x;
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
}
|
||||
Serial.write(buf, 35);
|
||||
|
||||
gridDirty = false;
|
||||
}
|
||||
|
||||
if (arcDirty) {
|
||||
//Serial.print("arcDirty");
|
||||
buf[0] = 0x92;
|
||||
|
||||
buf[1] = 0;
|
||||
ind = 2;
|
||||
for (led = 0; led < 64; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
buf[1] = 1;
|
||||
ind = 2;
|
||||
for (led = 64; led < 128; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
buf[1] = 2;
|
||||
ind = 2;
|
||||
for (led = 128; led < 192; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
buf[1] = 3;
|
||||
ind = 2;
|
||||
for (led = 192; led < 256; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
buf[1] = 4;
|
||||
ind = 2;
|
||||
for (led = 256; led < 320; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
buf[1] = 5;
|
||||
ind = 2;
|
||||
for (led = 320; led < 384; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
buf[1] = 6;
|
||||
ind = 2;
|
||||
for (led = 384; led < 448; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
buf[1] = 7;
|
||||
ind = 2;
|
||||
for (led = 448; led < 512; led += 2)
|
||||
buf[ind++] = (leds[led] << 4) | leds[led + 1];
|
||||
Serial.write(buf, 34);
|
||||
|
||||
arcDirty = 0;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
void MonomeSerialDevice::processSerial() {
|
||||
uint8_t identifierSent; // command byte sent from controller to matrix
|
||||
uint8_t index, readX, readY, readN, readA;
|
||||
uint8_t dummy, gridNum, deviceAddress; // for reading in data not used by the matrix
|
||||
uint8_t n, x, y, z, i;
|
||||
uint8_t intensity = 15;
|
||||
uint8_t gridKeyX;
|
||||
uint8_t gridKeyY;
|
||||
int8_t delta;
|
||||
uint8_t gridX = columns; // Will be either 8 or 16
|
||||
uint8_t gridY = rows;
|
||||
uint8_t numQuads = columns / rows;
|
||||
|
||||
// get command identifier: first byte of packet is identifier in the form: [(a << 4) + b]
|
||||
// a = section (ie. system, key-grid, digital, encoder, led grid, tilt)
|
||||
// b = command (ie. query, enable, led, key, frame)
|
||||
|
||||
identifierSent = Serial.read();
|
||||
|
||||
switch (identifierSent) {
|
||||
case 0x00: // device information
|
||||
// [null, "led-grid", "key-grid", "digital-out", "digital-in", "encoder", "analog-in", "analog-out", "tilt", "led-ring"]
|
||||
//Serial.println("0x00 system / query ----------------------");
|
||||
Serial.write((uint8_t)0x00); // action: response, 0x00 = system
|
||||
Serial.write((uint8_t)0x01); // section id, 1 = led-grid, 2 = key-grid, 5 = encoder/arc
|
||||
Serial.write((uint8_t)numQuads); // one Quad is 64 buttons
|
||||
|
||||
Serial.write((uint8_t)0x00); // send again with 2 = key-grid
|
||||
Serial.write((uint8_t)0x02); //
|
||||
Serial.write((uint8_t)numQuads);
|
||||
|
||||
break;
|
||||
|
||||
case 0x01: // system / ID
|
||||
Serial.write((uint8_t)0x01); // action: response, 0x01
|
||||
for (i = 0; i < 32; i++) { // has to be 32
|
||||
if (i < deviceID.length()) {
|
||||
Serial.write(deviceID[i]);
|
||||
} else {
|
||||
Serial.write((uint8_t)0x00);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x02: // system / write ID
|
||||
//Serial.println("0x02");
|
||||
for (int i = 0; i < 32; i++) { // has to be 32
|
||||
deviceID[i] = Serial.read();
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x03: // system / report grid offset
|
||||
//Serial.println("0x03");
|
||||
Serial.write((uint8_t)0x02); // system / request grid offset - bytes: 1 - [0x03]
|
||||
Serial.write((uint8_t)0x01);
|
||||
Serial.write((uint8_t)0); // x offset - could be 0 or 8 ### NEEDS grid size variable
|
||||
Serial.write((uint8_t)0); // y offset
|
||||
break;
|
||||
|
||||
case 0x04: // system / report ADDR
|
||||
//Serial.println("0x04");
|
||||
gridNum = Serial.read(); // grid number
|
||||
readX = Serial.read(); // x offset
|
||||
readY = Serial.read(); // y offset
|
||||
break;
|
||||
|
||||
case 0x05: // _SYS_GET_GRID_SIZE
|
||||
//Serial.println("0x05");
|
||||
Serial.write((uint8_t)0x03); // system / request grid size
|
||||
Serial.write((uint8_t)gridX); // gridX
|
||||
Serial.write((uint8_t)gridY); // gridY
|
||||
break;
|
||||
|
||||
case 0x06:
|
||||
readX = Serial.read(); // system / set grid size - ignored
|
||||
readY = Serial.read();
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
break; // I2C get addr (scan) - ignored
|
||||
|
||||
case 0x08:
|
||||
deviceAddress = Serial.read(); // I2C set addr - ignored
|
||||
dummy = Serial.read();
|
||||
break;
|
||||
|
||||
|
||||
case 0x0F: // system / report firmware version
|
||||
// Serial.println("0x0F");
|
||||
for (int i = 0; i < 8; i++) { // 8 character string
|
||||
//Serial.print(Serial.read());
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
// 0x10-0x1F are for an LED Grid Control. All bytes incoming, no responses back
|
||||
|
||||
case 0x10: // /prefix/led/set x y [0/1] / led off
|
||||
readX = Serial.read();
|
||||
readY = Serial.read();
|
||||
setGridLed(readX, readY, 0);
|
||||
break;
|
||||
|
||||
case 0x11: // /prefix/led/set x y [0/1] / led on
|
||||
readX = Serial.read();
|
||||
readY = Serial.read();
|
||||
setGridLed(readX, readY, 15); // need global brightness variable?
|
||||
break;
|
||||
|
||||
case 0x12: // /prefix/led/all [0/1] / all off
|
||||
clearAllLeds();
|
||||
break;
|
||||
|
||||
case 0x13: // /prefix/led/all [0/1] / all on
|
||||
setAllLEDs(15);
|
||||
break;
|
||||
|
||||
case 0x14: // /prefix/led/map x y d[8] / map (frame)
|
||||
readX = Serial.read();
|
||||
while (readX > 16) { readX += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readX &= 0xF8; // floor the offset to 0 or 8
|
||||
|
||||
readY = Serial.read(); // y offset
|
||||
while (readY > 16) { readY += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readY &= 0xF8; // floor the offset to 0 or 8
|
||||
|
||||
for (y = 0; y < 8; y++) { // each i will be a row
|
||||
intensity = Serial.read(); // read one byte of 8 bits on/off
|
||||
|
||||
for (x = 0; x < 8; x++) { // for 8 LEDs on a row
|
||||
if ((intensity >> x) & 0x01) { // if intensity bit set, light led full brightness
|
||||
setGridLed(readX + x, readY + y, 15);
|
||||
} else {
|
||||
setGridLed(readX + x, readY + y, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x15: // /prefix/led/row x y d
|
||||
readX = Serial.read(); // led-grid / set row
|
||||
while (readX > 16) { readX += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readX &= 0xF8; // floor the offset to 0 or 8
|
||||
|
||||
readY = Serial.read(); //
|
||||
intensity = Serial.read(); // read one byte of 8 bits on/off
|
||||
|
||||
for (x = 0; x < 8; x++) { // for the next 8 lights in row
|
||||
if ((intensity >> x) & 0x01) { // if intensity bit set, light led full brightness
|
||||
setGridLed(readX + x, readY, 15);
|
||||
} else {
|
||||
setGridLed(readX + x, readY, 0);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 0x16: // /prefix/led/col x y d
|
||||
readX = Serial.read(); // led-grid / column set
|
||||
|
||||
readY = Serial.read();
|
||||
while (readY > 16) { readY += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readY &= 0xF8; // floor the offset to 0 or 8
|
||||
|
||||
intensity = Serial.read(); // read one byte of 8 bits on/off
|
||||
|
||||
for (y = 0; y < 8; y++) { // for the next 8 lights in column
|
||||
if ((intensity >> y) & 0x01) { // if intensity bit set, light led full brightness
|
||||
setGridLed(readX, readY + y, 15);
|
||||
} else {
|
||||
setGridLed(readX, readY + y, 0);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 0x17: // /prefix/led/intensity i
|
||||
intensity = Serial.read(); // set brightness for entire grid
|
||||
// this is probably not right
|
||||
setAllLEDs(intensity);
|
||||
|
||||
break;
|
||||
|
||||
case 0x18: // /prefix/led/level/set x y i
|
||||
readX = Serial.read(); // led-grid / set LED intensity
|
||||
readY = Serial.read(); // read the x and y coordinates
|
||||
intensity = Serial.read(); // read the intensity
|
||||
setGridLed(readX, readY, intensity);
|
||||
break;
|
||||
|
||||
case 0x19: // /prefix/led/level/all s
|
||||
intensity = Serial.read(); // set all leds
|
||||
setAllLEDs(intensity);
|
||||
break;
|
||||
|
||||
case 0x1A: // /prefix/led/level/map x y d[64]
|
||||
// set 8x8 block
|
||||
readX = Serial.read(); // x offset
|
||||
while (readX > 16) { readX += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readX &= 0xF8; // floor the offset to 0 or 8
|
||||
readY = Serial.read(); // y offset
|
||||
while (readY > 16) { readY += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readY &= 0xF8; // floor the offset to 0 or 8
|
||||
|
||||
z = 0;
|
||||
for (y = 0; y < 8; y++) {
|
||||
for (x = 0; x < 8; x++) {
|
||||
if (z % 2 == 0) {
|
||||
intensity = Serial.read();
|
||||
if (((intensity >> 4) & 0x0F) > variMonoThresh) { // even bytes, use upper nybble
|
||||
setGridLed(readX + x, readY + y, (intensity >> 4) & 0x0F);
|
||||
} else {
|
||||
setGridLed(readX + x, readY + y, 0);
|
||||
}
|
||||
} else {
|
||||
if ((intensity & 0x0F) > variMonoThresh) { // odd bytes, use lower nybble
|
||||
setGridLed(readX + x, readY + y, intensity & 0x0F);
|
||||
} else {
|
||||
setGridLed(readX + x, readY + y, 0);
|
||||
}
|
||||
}
|
||||
z++;
|
||||
}
|
||||
}
|
||||
/*
|
||||
} else {
|
||||
for (int q = 0; q<32; q++){
|
||||
Serial.read();
|
||||
}
|
||||
}*/
|
||||
break;
|
||||
|
||||
case 0x1B: // /prefix/led/level/row x y d[8]
|
||||
readX = Serial.read(); // x offset
|
||||
while (readX > 16) { readX += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readX &= 0xF8; // floor the offset to 0 or 8
|
||||
readY = Serial.read(); // y offset
|
||||
while (readY > 16) { readY += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readY &= 0xF8; // floor the offset to 0 or 8
|
||||
for (x = 0; x < 8; x++) {
|
||||
if (x % 2 == 0) {
|
||||
intensity = Serial.read();
|
||||
if ((intensity >> 4 & 0x0F) > variMonoThresh) { // even bytes, use upper nybble
|
||||
setGridLed(readX + x, readY, (intensity >> 4) & 0x0F);
|
||||
} else {
|
||||
setGridLed(readX + x, readY, 0);
|
||||
}
|
||||
} else {
|
||||
if ((intensity & 0x0F) > variMonoThresh) { // odd bytes, use lower nybble
|
||||
setGridLed(readX + x, readY, intensity & 0x0F);
|
||||
} else {
|
||||
setGridLed(readX + x, readY, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x1C: // /prefix/led/level/col x y d[8]
|
||||
readX = Serial.read(); // x offset
|
||||
while (readX > 16) { readX += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readX &= 0xF8; // floor the offset to 0 or 8
|
||||
readY = Serial.read(); // y offset
|
||||
while (readY > 16) { readY += 16; } // hacky shit to deal with negative numbers from rotation
|
||||
readY &= 0xF8; // floor the offset to 0 or 8
|
||||
for (y = 0; y < 8; y++) {
|
||||
if (y % 2 == 0) {
|
||||
intensity = Serial.read();
|
||||
if ((intensity >> 4 & 0x0F) > variMonoThresh) { // even bytes, use upper nybble
|
||||
setGridLed(readX, readY + y, (intensity >> 4) & 0x0F);
|
||||
} else {
|
||||
setGridLed(readX, readY + y, 0);
|
||||
}
|
||||
} else {
|
||||
if ((intensity & 0x0F) > variMonoThresh) { // odd bytes, use lower nybble
|
||||
setGridLed(readX, readY + y, intensity & 0x0F);
|
||||
} else {
|
||||
setGridLed(readX, readY + y, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
// 0x20 and 0x21 are for a Key inputs (grid) - see readKeys() function
|
||||
|
||||
case 0x20:
|
||||
/*
|
||||
0x20 key-grid / key up
|
||||
bytes: 3
|
||||
structure: [0x20, x, y]
|
||||
description: key up at (x,y)
|
||||
*/
|
||||
|
||||
gridKeyX = Serial.read();
|
||||
gridKeyY = Serial.read();
|
||||
addGridEvent(gridKeyX, gridKeyY, 0);
|
||||
/*
|
||||
Serial.print("grid key: ");
|
||||
Serial.print(gridKeyX);
|
||||
Serial.print(" ");
|
||||
Serial.print(gridKeyY);
|
||||
Serial.print(" up - ");
|
||||
*/
|
||||
break;
|
||||
|
||||
case 0x21:
|
||||
/*
|
||||
0x21 key-grid / key down
|
||||
bytes: 3
|
||||
structure: [0x21, x, y]
|
||||
description: key down at (x,y)
|
||||
*/
|
||||
gridKeyX = Serial.read();
|
||||
gridKeyY = Serial.read();
|
||||
addGridEvent(gridKeyX, gridKeyY, 1);
|
||||
/*
|
||||
Serial.print("grid key: ");
|
||||
Serial.print(gridKeyX);
|
||||
Serial.print(" ");
|
||||
Serial.print(gridKeyY);
|
||||
Serial.print(" dn - ");
|
||||
*/
|
||||
break;
|
||||
|
||||
// 0x5x are encoder
|
||||
case 0x50:
|
||||
// bytes: 3
|
||||
// structure: [0x50, n, d]
|
||||
// n = encoder number
|
||||
// 0-255
|
||||
// d = delta
|
||||
// (-128)-127 (two's comp 8 bit)
|
||||
// description: encoder position change
|
||||
|
||||
index = Serial.read();
|
||||
delta = Serial.read();
|
||||
addArcEvent(index, delta);
|
||||
/*
|
||||
Serial.print("Encoder: ");
|
||||
Serial.print(index);
|
||||
Serial.print(" : ");
|
||||
Serial.print(delta);
|
||||
Serial.println();
|
||||
*/
|
||||
break;
|
||||
|
||||
case 0x51: // /prefix/enc/key n (key up)
|
||||
// Serial.println("0x51");
|
||||
n = Serial.read();
|
||||
/*
|
||||
Serial.print("key: ");
|
||||
Serial.print(n);
|
||||
Serial.println(" up");
|
||||
*/
|
||||
// bytes: 2
|
||||
// structure: [0x51, n]
|
||||
// n = encoder number
|
||||
// 0-255
|
||||
// description: encoder switch up
|
||||
break;
|
||||
|
||||
case 0x52: // /prefix/enc/key n (key down)
|
||||
// Serial.println("0x52");
|
||||
n = Serial.read();
|
||||
/*
|
||||
Serial.print("key: ");
|
||||
Serial.print(n);
|
||||
Serial.println(" down");
|
||||
*/
|
||||
// bytes: 2
|
||||
// structure: [0x52, n]
|
||||
// n = encoder number
|
||||
// 0-255
|
||||
// description: encoder switch down
|
||||
break;
|
||||
case 0x80: // tilt / set active
|
||||
{
|
||||
uint8_t sensor = Serial.read();
|
||||
uint8_t active = Serial.read();
|
||||
setTiltActive(sensor, active == 1);
|
||||
|
||||
// send
|
||||
Serial.write((uint8_t)0x80);
|
||||
Serial.write(sensor);
|
||||
Serial.write(active);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x81: // tilt data request
|
||||
{
|
||||
uint8_t sensor = Serial.read();
|
||||
if (sensor < 4 && tiltActive[sensor]) {
|
||||
// recent data send
|
||||
sendTiltEvent(sensor, lastTiltX[sensor], lastTiltY[sensor], lastTiltZ[sensor]);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// 0x90 variable 64 LED ring
|
||||
case 0x90:
|
||||
//pattern: /prefix/ring/set n x a
|
||||
//desc: set led x of ring n to value a
|
||||
//args: n = ring number
|
||||
// x = led number
|
||||
// a = value (0-15)
|
||||
//serial: [0x90, n, x, a]
|
||||
readN = Serial.read();
|
||||
readX = Serial.read();
|
||||
readA = Serial.read();
|
||||
//led_array[readN][readX] = readA;
|
||||
setArcLed(readN, readX, readA);
|
||||
break;
|
||||
|
||||
case 0x91:
|
||||
//pattern: /prefix/ring/all n a
|
||||
//desc: set all leds of ring n to a
|
||||
//args: n = ring number
|
||||
// a = value
|
||||
//serial: [0x91, n, a]
|
||||
readN = Serial.read();
|
||||
readA = Serial.read();
|
||||
for (int q = 0; q < 64; q++) {
|
||||
setArcLed(readN, q, readA);
|
||||
//led_array[readN][q]=readA;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x92:
|
||||
//pattern: /prefix/ring/map n d[32]
|
||||
//desc: set leds of ring n to array d
|
||||
//args: n = ring number
|
||||
// d[32] = 64 states, 4 bit values, in 32 consecutive bytes
|
||||
// d[0] (0:3) value 0
|
||||
// d[0] (4:7) value 1
|
||||
// d[1] (0:3) value 2
|
||||
// ....
|
||||
// d[31] (0:3) value 62
|
||||
// d[31] (4:7) value 63
|
||||
//serial: [0x92, n d[32]]
|
||||
readN = Serial.read();
|
||||
for (y = 0; y < 64; y++) {
|
||||
if (y % 2 == 0) {
|
||||
intensity = Serial.read();
|
||||
if ((intensity >> 4 & 0x0F) > 0) { // even bytes, use upper nybble
|
||||
//led_array[readN][y] = (intensity >> 4 & 0x0F);
|
||||
setArcLed(readN, y, (intensity >> 4 & 0x0F));
|
||||
} else {
|
||||
//led_array[readN][y]=0;
|
||||
setArcLed(readN, y, 0);
|
||||
}
|
||||
} else {
|
||||
if ((intensity & 0x0F) > 0) { // odd bytes, use lower nybble
|
||||
//led_array[readN][y] = (intensity & 0x0F);
|
||||
setArcLed(readN, y, (intensity & 0x0F));
|
||||
} else {
|
||||
//led_array[readN][y]=0;
|
||||
setArcLed(readN, y, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x93:
|
||||
//pattern: /prefix/ring/range n x1 x2 a
|
||||
//desc: set leds inclusive from x1 and x2 of ring n to a
|
||||
//args: n = ring number
|
||||
// x1 = starting position
|
||||
// x2 = ending position
|
||||
// a = value
|
||||
//serial: [0x93, n, x1, x2, a]
|
||||
readN = Serial.read();
|
||||
readX = Serial.read(); // x1
|
||||
readY = Serial.read(); // x2
|
||||
readA = Serial.read();
|
||||
//memset(led_array[readN],0,sizeof(led_array[readN]));
|
||||
|
||||
if (readX < readY) {
|
||||
for (y = readX; y < readY; y++) {
|
||||
//led_array[readN][y] = readA;
|
||||
setArcLed(readN, y, readA);
|
||||
}
|
||||
} else {
|
||||
// wrapping?
|
||||
for (y = readX; y < 64; y++) {
|
||||
//led_array[readN][y] = readA;
|
||||
setArcLed(readN, y, readA);
|
||||
}
|
||||
for (x = 0; x < readY; x++) {
|
||||
//led_array[readN][x] = readA;
|
||||
setArcLed(readN, y, readA);
|
||||
}
|
||||
}
|
||||
//note: set range x1-x2 (inclusive) to a. wrapping supported, ie. set range 60,4 would set values 60,61,62,63,0,1,2,3,4.
|
||||
// always positive direction sweep. ie. 4,10 = 4,5,6,7,8,9,10 whereas 10,4 = 10,11,12,13...63,0,1,2,3,4
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void MonomeEventQueue::addGridEvent(uint8_t x, uint8_t y, uint8_t pressed) {
|
||||
if (gridEventCount >= MAXEVENTCOUNT) return;
|
||||
uint8_t ind = (gridFirstEvent + gridEventCount) % MAXEVENTCOUNT;
|
||||
gridEvents[ind].x = x;
|
||||
gridEvents[ind].y = y;
|
||||
gridEvents[ind].pressed = pressed;
|
||||
gridEventCount++;
|
||||
}
|
||||
|
||||
bool MonomeEventQueue::gridEventAvailable() {
|
||||
return gridEventCount > 0;
|
||||
}
|
||||
|
||||
MonomeGridEvent MonomeEventQueue::readGridEvent() {
|
||||
if (gridEventCount == 0) return emptyGridEvent;
|
||||
gridEventCount--;
|
||||
uint8_t index = gridFirstEvent;
|
||||
gridFirstEvent = (gridFirstEvent + 1) % MAXEVENTCOUNT;
|
||||
return gridEvents[index];
|
||||
}
|
||||
|
||||
void MonomeEventQueue::addArcEvent(uint8_t index, int8_t delta) {
|
||||
if (arcEventCount >= MAXEVENTCOUNT) return;
|
||||
uint8_t ind = (arcFirstEvent + arcEventCount) % MAXEVENTCOUNT;
|
||||
arcEvents[ind].index = index;
|
||||
arcEvents[ind].delta = delta;
|
||||
arcEventCount++;
|
||||
}
|
||||
|
||||
bool MonomeEventQueue::arcEventAvailable() {
|
||||
return arcEventCount > 0;
|
||||
}
|
||||
|
||||
MonomeArcEvent MonomeEventQueue::readArcEvent() {
|
||||
if (arcEventCount == 0) return emptyArcEvent;
|
||||
arcEventCount--;
|
||||
uint8_t index = arcFirstEvent;
|
||||
arcFirstEvent = (arcFirstEvent + 1) % MAXEVENTCOUNT;
|
||||
return arcEvents[index];
|
||||
}
|
||||
|
||||
void MonomeEventQueue::sendArcDelta(uint8_t index, int8_t delta) {
|
||||
/*
|
||||
Serial.print("Encoder:");
|
||||
Serial.print(index);
|
||||
Serial.print(" ");
|
||||
Serial.print(delta);
|
||||
Serial.println(" ");
|
||||
*/
|
||||
Serial.write((uint8_t)0x50);
|
||||
Serial.write((uint8_t)index);
|
||||
Serial.write((int8_t)delta);
|
||||
/*
|
||||
byte buf[3];
|
||||
buf[0] = 0x50;
|
||||
buf[1] = index;
|
||||
buf[2] = delta;
|
||||
Serial.write(buf, sizeof(buf));
|
||||
*/
|
||||
}
|
||||
|
||||
void MonomeEventQueue::sendArcKey(uint8_t index, uint8_t pressed) {
|
||||
/*
|
||||
Serial.print("key:");
|
||||
Serial.print(index);
|
||||
Serial.print(" ");
|
||||
Serial.println(pressed);
|
||||
*/
|
||||
uint8_t buf[2];
|
||||
if (pressed == 1) {
|
||||
buf[0] = 0x52;
|
||||
} else {
|
||||
buf[0] = 0x51;
|
||||
}
|
||||
buf[1] = index;
|
||||
Serial.write(buf, 2);
|
||||
}
|
||||
|
||||
void MonomeEventQueue::sendGridKey(uint8_t x, uint8_t y, uint8_t pressed) {
|
||||
uint8_t buf[2];
|
||||
if (pressed == 1) {
|
||||
buf[0] = 0x21;
|
||||
} else {
|
||||
buf[0] = 0x20;
|
||||
}
|
||||
Serial.write((uint8_t)buf[0]);
|
||||
Serial.write((uint8_t)x);
|
||||
Serial.write((uint8_t)y);
|
||||
}
|
107
firmware/MonomeSerialDevice.h
Normal file
107
firmware/MonomeSerialDevice.h
Normal file
|
@ -0,0 +1,107 @@
|
|||
#ifndef MONOMESERIAL_H
|
||||
#define MONOMESERIAL_H
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
class MonomeGridEvent {
|
||||
public:
|
||||
uint8_t x;
|
||||
uint8_t y;
|
||||
uint8_t pressed;
|
||||
};
|
||||
|
||||
class MonomeArcEvent {
|
||||
public:
|
||||
uint8_t index;
|
||||
int8_t delta;
|
||||
};
|
||||
|
||||
class MonomeEventQueue {
|
||||
public:
|
||||
//void clearQueue();
|
||||
|
||||
bool gridEventAvailable();
|
||||
MonomeGridEvent readGridEvent();
|
||||
MonomeGridEvent sendGridKey();
|
||||
|
||||
bool arcEventAvailable();
|
||||
MonomeArcEvent readArcEvent();
|
||||
MonomeArcEvent sendArcDelta();
|
||||
MonomeArcEvent sendArcKey();
|
||||
|
||||
void addGridEvent(uint8_t x, uint8_t y, uint8_t pressed);
|
||||
void sendGridKey(uint8_t x, uint8_t y, uint8_t pressed);
|
||||
void addArcEvent(uint8_t index, int8_t delta);
|
||||
void sendArcDelta(uint8_t index, int8_t delta);
|
||||
void sendArcKey(uint8_t index, uint8_t pressed);
|
||||
void sendTiltEvent(uint8_t n, uint8_t xh, uint8_t xl, uint8_t yh, uint8_t yl, uint8_t zh, uint8_t zl);
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
static const int MAXEVENTCOUNT = 50;
|
||||
|
||||
MonomeGridEvent emptyGridEvent;
|
||||
MonomeGridEvent gridEvents[MAXEVENTCOUNT];
|
||||
int gridEventCount = 0;
|
||||
int gridFirstEvent = 0;
|
||||
|
||||
MonomeArcEvent emptyArcEvent;
|
||||
MonomeArcEvent arcEvents[MAXEVENTCOUNT];
|
||||
int arcEventCount = 0;
|
||||
int arcFirstEvent = 0;
|
||||
};
|
||||
|
||||
class MonomeSerialDevice : public MonomeEventQueue {
|
||||
public:
|
||||
MonomeSerialDevice();
|
||||
void initialize();
|
||||
void setupAsGrid(uint8_t _rows, uint8_t _columns);
|
||||
void setupAsArc(uint8_t _encoders);
|
||||
void getDeviceInfo();
|
||||
void poll();
|
||||
void refresh();
|
||||
void sendSysSize();
|
||||
void sendSysRotation();
|
||||
void setGridLed(uint8_t x, uint8_t y, uint8_t level);
|
||||
void clearGridLed(uint8_t x, uint8_t y);
|
||||
void setArcLed(uint8_t enc, uint8_t led, uint8_t level);
|
||||
void setAllLEDs(int value);
|
||||
void clearArcLed(uint8_t enc, uint8_t led);
|
||||
void clearAllLeds();
|
||||
void clearArcRing(uint8_t ring);
|
||||
void refreshGrid();
|
||||
void refreshArc();
|
||||
|
||||
void setTiltActive(uint8_t sensor, bool active);
|
||||
void sendTiltEvent(uint8_t sensor, int16_t x, int16_t y, int16_t z);
|
||||
|
||||
|
||||
bool active;
|
||||
bool isMonome;
|
||||
bool isGrid;
|
||||
uint8_t rows;
|
||||
uint8_t columns;
|
||||
uint8_t encoders;
|
||||
uint8_t gridX;
|
||||
uint8_t gridY;
|
||||
|
||||
static const int variMonoThresh = 0;
|
||||
static const int MAXLEDCOUNT = 256;
|
||||
uint8_t leds[MAXLEDCOUNT];
|
||||
String deviceID;
|
||||
|
||||
private:
|
||||
bool arcDirty = false;
|
||||
bool gridDirty = false;
|
||||
uint8_t gridRotation; // 0, 1, 2, or 3 for 0, 90, 180, 270 degrees
|
||||
bool tiltActive[4] = {false, false, false, false};
|
||||
int16_t lastTiltX[4] = {0};
|
||||
int16_t lastTiltY[4] = {0};
|
||||
int16_t lastTiltZ[4] = {0};
|
||||
|
||||
// MonomeSerialDevice();
|
||||
void processSerial();
|
||||
};
|
||||
|
||||
#endif
|
52
firmware/debug.cpp
Normal file
52
firmware/debug.cpp
Normal file
|
@ -0,0 +1,52 @@
|
|||
#include "debug.h"
|
||||
|
||||
void debug(int level, const char *message) {
|
||||
if (level < DEBUG_LEVEL) return;
|
||||
Serial.print(message);
|
||||
}
|
||||
|
||||
void debug(int level, String message) {
|
||||
debug(level, message.c_str());
|
||||
}
|
||||
|
||||
void debugln(int level, const char *message) {
|
||||
if (level < DEBUG_LEVEL) return;
|
||||
Serial.println(message);
|
||||
}
|
||||
|
||||
void debugln(int level, String message) {
|
||||
debugln(level, message.c_str());
|
||||
}
|
||||
|
||||
void debugln(int level) {
|
||||
if (level < DEBUG_LEVEL) return;
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
void debugf(int level, const char *message, ...) {
|
||||
if (level < DEBUG_LEVEL) return;
|
||||
|
||||
va_list ap;
|
||||
va_start(ap, message);
|
||||
Serial.printf(message, ap);
|
||||
}
|
||||
|
||||
void debugf(int level, String message, ...) {
|
||||
debugf(level, message.c_str());
|
||||
}
|
||||
|
||||
void debugfln(int level, const char *message, ...) {
|
||||
if (level < DEBUG_LEVEL) return;
|
||||
|
||||
va_list ap;
|
||||
va_start(ap, message);
|
||||
char buffer[200]= {0};
|
||||
vsnprintf(buffer, 200, message, ap);
|
||||
va_end(ap);
|
||||
|
||||
Serial.println(buffer);
|
||||
}
|
||||
|
||||
void debugfln(int level, String message, ...) {
|
||||
debugfln(level, message.c_str());
|
||||
}
|
25
firmware/debug.h
Normal file
25
firmware/debug.h
Normal file
|
@ -0,0 +1,25 @@
|
|||
#ifndef DEBUG_H
|
||||
#define DEBUG_H
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
const int INFO = 1;
|
||||
const int WARN = 2;
|
||||
const int ERROR = 3;
|
||||
|
||||
const int DEBUG_LEVEL = INFO;
|
||||
|
||||
void debug(int level, const char *message);
|
||||
void debug(int level, String message);
|
||||
|
||||
void debugln(int level, const char *message);
|
||||
void debugln(int level, String message);
|
||||
void debugln(int level);
|
||||
|
||||
void debugf(int level, const char *message, ...);
|
||||
void debugf(int level, String message, ...);
|
||||
|
||||
void debugfln(int level, const char *message, ...);
|
||||
void debugfln(int level, String message, ...);
|
||||
|
||||
#endif
|
217
firmware/firmware.ino
Normal file
217
firmware/firmware.ino
Normal file
|
@ -0,0 +1,217 @@
|
|||
// Btns 0.6
|
||||
// by Leo Kuroshita for Hügelton instruments.
|
||||
// Modified to include MPU-6050 tilt support
|
||||
|
||||
#include "MonomeSerialDevice.h"
|
||||
#include <Arduino.h>
|
||||
#include <Adafruit_TinyUSB.h>
|
||||
#include <Adafruit_MPU6050.h>
|
||||
#include <Adafruit_Sensor.h>
|
||||
#include <Adafruit_NeoPixel.h>
|
||||
#include <Wire.h>
|
||||
|
||||
#define NUM_ROWS 8
|
||||
#define NUM_COLS 8
|
||||
#define BRIGHTNESS 127
|
||||
|
||||
#define DEFAULT_ROTATION 0
|
||||
#define DEFAULT_FLIP_HORIZONTAL false
|
||||
#define DEFAULT_FLIP_VERTICAL false
|
||||
|
||||
const uint8_t ROW_PINS[NUM_ROWS] = {0, 1, 2, 3, 4, 5, 6, 7}; // GPIO00-GPIO07
|
||||
const uint8_t COL_PINS[NUM_COLS] = {8, 9, 10, 11, 12, 13, 14, 15}; // GPIO8-GPIO15
|
||||
const uint8_t gammaTable[16] = { 0, 2, 3, 6, 11, 18, 25, 32, 41, 59, 70, 80, 92, 103, 115, 127};
|
||||
const uint8_t gammaAdj = 2;
|
||||
|
||||
bool isInited = false;
|
||||
String deviceID = "btns";
|
||||
String serialNum = "m4216124";
|
||||
|
||||
char mfgstr[32] = "monome";
|
||||
char prodstr[32] = "monome";
|
||||
char serialstr[32] = "m4216124";
|
||||
|
||||
Adafruit_NeoPixel pixels(NUM_ROWS * 8, 28, NEO_GRB + NEO_KHZ800);
|
||||
|
||||
MonomeSerialDevice mdp;
|
||||
Adafruit_MPU6050 mpu;
|
||||
|
||||
bool buttonStates[NUM_ROWS][NUM_COLS] = {0};
|
||||
|
||||
int gridRotation = DEFAULT_ROTATION;
|
||||
bool flipHorizontal = DEFAULT_FLIP_HORIZONTAL;
|
||||
bool flipVertical = DEFAULT_FLIP_VERTICAL;
|
||||
|
||||
void mapButtonToLED(int buttonRow, int buttonCol, int &ledRow, int &ledCol) {
|
||||
// Handle button to LED mapping based on rotation and flipping
|
||||
ledRow = buttonRow;
|
||||
ledCol = buttonCol;
|
||||
|
||||
// Apply rotation
|
||||
switch (gridRotation) {
|
||||
case 0: // No rotation
|
||||
break;
|
||||
case 1: // 90 degree rotation
|
||||
{
|
||||
int temp = ledRow;
|
||||
ledRow = ledCol;
|
||||
ledCol = NUM_COLS - 1 - temp;
|
||||
}
|
||||
break;
|
||||
case 2: // 180 degree rotation
|
||||
ledRow = NUM_ROWS - 1 - ledRow;
|
||||
ledCol = NUM_COLS - 1 - ledCol;
|
||||
break;
|
||||
case 3: // 270 degree rotation
|
||||
{
|
||||
int temp = ledRow;
|
||||
ledRow = NUM_ROWS - 1 - ledCol;
|
||||
ledCol = temp;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Apply flipping
|
||||
if (flipHorizontal) ledCol = NUM_COLS - 1 - ledCol;
|
||||
if (flipVertical) ledRow = NUM_ROWS - 1 - ledRow;
|
||||
}
|
||||
|
||||
bool detectGridOrientation() {
|
||||
bool buttonPressed = false;
|
||||
// Scan to check which button is pressed
|
||||
for (int col = 0; col < NUM_COLS; col++) {
|
||||
digitalWrite(COL_PINS[col], LOW);
|
||||
for (int row = 0; row < NUM_ROWS; row++) {
|
||||
if (!digitalRead(ROW_PINS[row])) {
|
||||
buttonPressed = true;
|
||||
// Set grid rotation based on pressed button
|
||||
if (row == 0 && col == 0) {
|
||||
gridRotation = 0;
|
||||
} else if (row == 0 && col == NUM_COLS - 1) {
|
||||
gridRotation = 1;
|
||||
} else if (row == NUM_ROWS - 1 && col == NUM_COLS - 1) {
|
||||
gridRotation = 2;
|
||||
} else if (row == NUM_ROWS - 1 && col == 0) {
|
||||
gridRotation = 3;
|
||||
}
|
||||
digitalWrite(COL_PINS[col], HIGH);
|
||||
return buttonPressed;
|
||||
}
|
||||
}
|
||||
digitalWrite(COL_PINS[col], HIGH);
|
||||
}
|
||||
// If no button is pressed, set default orientation
|
||||
gridRotation = DEFAULT_ROTATION;
|
||||
return buttonPressed;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
USBDevice.setManufacturerDescriptor(mfgstr);
|
||||
USBDevice.setProductDescriptor(prodstr);
|
||||
USBDevice.setSerialDescriptor(serialstr);
|
||||
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
|
||||
for (int i = 0; i < NUM_ROWS; i++) {
|
||||
pinMode(ROW_PINS[i], INPUT_PULLUP);
|
||||
}
|
||||
for (int i = 0; i < NUM_COLS; i++) {
|
||||
pinMode(COL_PINS[i], OUTPUT);
|
||||
digitalWrite(COL_PINS[i], HIGH);
|
||||
}
|
||||
|
||||
detectGridOrientation();
|
||||
|
||||
mdp.isMonome = true;
|
||||
mdp.deviceID = deviceID;
|
||||
mdp.setupAsGrid(NUM_ROWS, NUM_COLS);
|
||||
|
||||
isInited = true;
|
||||
mdp.poll();
|
||||
|
||||
// Send grid size and rotation information
|
||||
mdp.sendSysSize();
|
||||
mdp.sendSysRotation();
|
||||
pixels.begin();
|
||||
|
||||
// Initialize MPU-6050
|
||||
/*Wire.setSCL(21);
|
||||
Wire.setSDA(20);
|
||||
Wire.begin();*/
|
||||
|
||||
/*if (!mpu.begin()) {
|
||||
Serial.println("Failed to find MPU6050 chip");
|
||||
while (1) {
|
||||
delay(10);
|
||||
}
|
||||
}
|
||||
Serial.println("MPU6050 Found!");
|
||||
|
||||
mpu.setGyroRange(MPU6050_RANGE_500_DEG);
|
||||
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
|
||||
|
||||
// Set tilt sensor 0 as active
|
||||
mdp.setTiltActive(0, true);*/
|
||||
}
|
||||
|
||||
void loop() {
|
||||
static unsigned long lastCheck = 0;
|
||||
static unsigned long lastTiltCheck = 0;
|
||||
unsigned long currentMillis = millis();
|
||||
|
||||
mdp.poll();
|
||||
|
||||
if (currentMillis - lastCheck >= 15) {
|
||||
lastCheck = currentMillis;
|
||||
scanButtonMatrix();
|
||||
updateLEDMatrix();
|
||||
}
|
||||
|
||||
// Send tilt data every 100ms
|
||||
if (currentMillis - lastTiltCheck >= 100) {
|
||||
lastTiltCheck = currentMillis;
|
||||
//sendTiltData();
|
||||
}
|
||||
}
|
||||
|
||||
void scanButtonMatrix() {
|
||||
for (int row = 0; row < NUM_ROWS; row++) {
|
||||
for (int col = 0; col < NUM_COLS; col++) {
|
||||
digitalWrite(COL_PINS[col], LOW);
|
||||
bool currentState = !digitalRead(ROW_PINS[row]);
|
||||
digitalWrite(COL_PINS[col], HIGH);
|
||||
|
||||
int ledRow, ledCol;
|
||||
mapButtonToLED(row, col, ledRow, ledCol);
|
||||
|
||||
if (currentState != buttonStates[row][col]) {
|
||||
mdp.sendGridKey(ledCol, ledRow, currentState);
|
||||
buttonStates[row][col] = currentState;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void updateLEDMatrix() {
|
||||
for (int row = 0; row < NUM_ROWS; row++) {
|
||||
for (int col = 0; col < NUM_COLS; col++) {
|
||||
int ledRow, ledCol;
|
||||
mapButtonToLED(row, col, ledRow, ledCol);
|
||||
uint8_t intensity = gammaTable[mdp.leds[row * NUM_ROWS + col]] * gammaAdj;
|
||||
pixels.setPixelColor(ledRow * NUM_ROWS + ledCol, pixels.Color(intensity / 2, intensity, intensity / 2));
|
||||
}
|
||||
}
|
||||
pixels.show();
|
||||
}
|
||||
|
||||
void sendTiltData() {
|
||||
sensors_event_t a, g, temp;
|
||||
mpu.getEvent(&a, &g, &temp);
|
||||
|
||||
// Scale gyro data to 16-bit integer range
|
||||
int16_t x = (int16_t)(g.gyro.x * 1000);
|
||||
int16_t y = (int16_t)(g.gyro.y * 1000);
|
||||
int16_t z = (int16_t)(g.gyro.z * 1000);
|
||||
|
||||
mdp.sendTiltEvent(0, x, y, z);
|
||||
}
|
459
hardware/butns/MCU_RaspberryPi_and_Boards.kicad_sym
Normal file
459
hardware/butns/MCU_RaspberryPi_and_Boards.kicad_sym
Normal file
|
@ -0,0 +1,459 @@
|
|||
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
|
||||
(symbol "Pico" (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (id 0) (at -13.97 27.94 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "Pico" (id 1) (at 0 19.05 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "RPi_Pico:RPi_Pico_SMD_TH" (id 2) (at 0 0 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "Pico_0_0"
|
||||
(text "Raspberry Pi Pico" (at 0 21.59 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
)
|
||||
(symbol "Pico_0_1"
|
||||
(rectangle (start -15.24 26.67) (end 15.24 -26.67)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
)
|
||||
(symbol "Pico_1_1"
|
||||
(pin bidirectional line (at -17.78 24.13 0) (length 2.54)
|
||||
(name "GPIO0" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 1.27 0) (length 2.54)
|
||||
(name "GPIO7" (effects (font (size 1.27 1.27))))
|
||||
(number "10" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -1.27 0) (length 2.54)
|
||||
(name "GPIO8" (effects (font (size 1.27 1.27))))
|
||||
(number "11" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -3.81 0) (length 2.54)
|
||||
(name "GPIO9" (effects (font (size 1.27 1.27))))
|
||||
(number "12" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -17.78 -6.35 0) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "13" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -8.89 0) (length 2.54)
|
||||
(name "GPIO10" (effects (font (size 1.27 1.27))))
|
||||
(number "14" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -11.43 0) (length 2.54)
|
||||
(name "GPIO11" (effects (font (size 1.27 1.27))))
|
||||
(number "15" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -13.97 0) (length 2.54)
|
||||
(name "GPIO12" (effects (font (size 1.27 1.27))))
|
||||
(number "16" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -16.51 0) (length 2.54)
|
||||
(name "GPIO13" (effects (font (size 1.27 1.27))))
|
||||
(number "17" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -17.78 -19.05 0) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "18" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -21.59 0) (length 2.54)
|
||||
(name "GPIO14" (effects (font (size 1.27 1.27))))
|
||||
(number "19" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 21.59 0) (length 2.54)
|
||||
(name "GPIO1" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -24.13 0) (length 2.54)
|
||||
(name "GPIO15" (effects (font (size 1.27 1.27))))
|
||||
(number "20" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 -24.13 180) (length 2.54)
|
||||
(name "GPIO16" (effects (font (size 1.27 1.27))))
|
||||
(number "21" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 -21.59 180) (length 2.54)
|
||||
(name "GPIO17" (effects (font (size 1.27 1.27))))
|
||||
(number "22" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 17.78 -19.05 180) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "23" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 -16.51 180) (length 2.54)
|
||||
(name "GPIO18" (effects (font (size 1.27 1.27))))
|
||||
(number "24" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 -13.97 180) (length 2.54)
|
||||
(name "GPIO19" (effects (font (size 1.27 1.27))))
|
||||
(number "25" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 -11.43 180) (length 2.54)
|
||||
(name "GPIO20" (effects (font (size 1.27 1.27))))
|
||||
(number "26" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 -8.89 180) (length 2.54)
|
||||
(name "GPIO21" (effects (font (size 1.27 1.27))))
|
||||
(number "27" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 17.78 -6.35 180) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "28" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 -3.81 180) (length 2.54)
|
||||
(name "GPIO22" (effects (font (size 1.27 1.27))))
|
||||
(number "29" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -17.78 19.05 0) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at 17.78 -1.27 180) (length 2.54)
|
||||
(name "RUN" (effects (font (size 1.27 1.27))))
|
||||
(number "30" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 1.27 180) (length 2.54)
|
||||
(name "GPIO26_ADC0" (effects (font (size 1.27 1.27))))
|
||||
(number "31" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 3.81 180) (length 2.54)
|
||||
(name "GPIO27_ADC1" (effects (font (size 1.27 1.27))))
|
||||
(number "32" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 17.78 6.35 180) (length 2.54)
|
||||
(name "AGND" (effects (font (size 1.27 1.27))))
|
||||
(number "33" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 8.89 180) (length 2.54)
|
||||
(name "GPIO28_ADC2" (effects (font (size 1.27 1.27))))
|
||||
(number "34" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 17.78 11.43 180) (length 2.54)
|
||||
(name "ADC_VREF" (effects (font (size 1.27 1.27))))
|
||||
(number "35" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 17.78 13.97 180) (length 2.54)
|
||||
(name "3V3" (effects (font (size 1.27 1.27))))
|
||||
(number "36" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at 17.78 16.51 180) (length 2.54)
|
||||
(name "3V3_EN" (effects (font (size 1.27 1.27))))
|
||||
(number "37" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 17.78 19.05 180) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "38" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 17.78 21.59 180) (length 2.54)
|
||||
(name "VSYS" (effects (font (size 1.27 1.27))))
|
||||
(number "39" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 16.51 0) (length 2.54)
|
||||
(name "GPIO2" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 17.78 24.13 180) (length 2.54)
|
||||
(name "VBUS" (effects (font (size 1.27 1.27))))
|
||||
(number "40" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -2.54 -29.21 90) (length 2.54)
|
||||
(name "SWCLK" (effects (font (size 1.27 1.27))))
|
||||
(number "41" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 0 -29.21 90) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "42" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 2.54 -29.21 90) (length 2.54)
|
||||
(name "SWDIO" (effects (font (size 1.27 1.27))))
|
||||
(number "43" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 13.97 0) (length 2.54)
|
||||
(name "GPIO3" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 11.43 0) (length 2.54)
|
||||
(name "GPIO4" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 8.89 0) (length 2.54)
|
||||
(name "GPIO5" (effects (font (size 1.27 1.27))))
|
||||
(number "7" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -17.78 6.35 0) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "8" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -17.78 3.81 0) (length 2.54)
|
||||
(name "GPIO6" (effects (font (size 1.27 1.27))))
|
||||
(number "9" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "RP2040" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (id 0) (at -29.21 49.53 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "RP2040" (id 1) (at 24.13 -49.53 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "RP2040_minimal:RP2040-QFN-56" (id 2) (at -19.05 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at -19.05 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "RP2040_0_0"
|
||||
(text "Raspberry Pi" (at 0 5.08 0)
|
||||
(effects (font (size 2.54 2.54)))
|
||||
)
|
||||
(text "RP2040" (at 0 0 0)
|
||||
(effects (font (size 2.54 2.54)))
|
||||
)
|
||||
)
|
||||
(symbol "RP2040_0_1"
|
||||
(rectangle (start 29.21 48.26) (end -29.21 -48.26)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
)
|
||||
(symbol "RP2040_1_1"
|
||||
(pin power_in line (at 8.89 50.8 270) (length 2.54)
|
||||
(name "IOVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 6.35 50.8 270) (length 2.54)
|
||||
(name "IOVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "10" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 12.7 180) (length 2.54)
|
||||
(name "GPIO8" (effects (font (size 1.27 1.27))))
|
||||
(number "11" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 10.16 180) (length 2.54)
|
||||
(name "GPIO9" (effects (font (size 1.27 1.27))))
|
||||
(number "12" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 7.62 180) (length 2.54)
|
||||
(name "GPIO10" (effects (font (size 1.27 1.27))))
|
||||
(number "13" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 5.08 180) (length 2.54)
|
||||
(name "GPIO11" (effects (font (size 1.27 1.27))))
|
||||
(number "14" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 2.54 180) (length 2.54)
|
||||
(name "GPIO12" (effects (font (size 1.27 1.27))))
|
||||
(number "15" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 0 180) (length 2.54)
|
||||
(name "GPIO13" (effects (font (size 1.27 1.27))))
|
||||
(number "16" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -2.54 180) (length 2.54)
|
||||
(name "GPIO14" (effects (font (size 1.27 1.27))))
|
||||
(number "17" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -5.08 180) (length 2.54)
|
||||
(name "GPIO15" (effects (font (size 1.27 1.27))))
|
||||
(number "18" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at -12.7 -50.8 90) (length 2.54)
|
||||
(name "TESTEN" (effects (font (size 1.27 1.27))))
|
||||
(number "19" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 33.02 180) (length 2.54)
|
||||
(name "GPIO0" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -31.75 -2.54 0) (length 2.54)
|
||||
(name "XIN" (effects (font (size 1.27 1.27))))
|
||||
(number "20" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at -31.75 -7.62 0) (length 2.54)
|
||||
(name "XOUT" (effects (font (size 1.27 1.27))))
|
||||
(number "21" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 3.81 50.8 270) (length 2.54)
|
||||
(name "IOVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "22" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -17.78 50.8 270) (length 2.54)
|
||||
(name "DVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "23" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin output line (at -31.75 -31.75 0) (length 2.54)
|
||||
(name "SWCLK" (effects (font (size 1.27 1.27))))
|
||||
(number "24" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -31.75 -34.29 0) (length 2.54)
|
||||
(name "SWD" (effects (font (size 1.27 1.27))))
|
||||
(number "25" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -31.75 -20.32 0) (length 2.54)
|
||||
(name "RUN" (effects (font (size 1.27 1.27))))
|
||||
(number "26" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -7.62 180) (length 2.54)
|
||||
(name "GPIO16" (effects (font (size 1.27 1.27))))
|
||||
(number "27" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -10.16 180) (length 2.54)
|
||||
(name "GPIO17" (effects (font (size 1.27 1.27))))
|
||||
(number "28" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -12.7 180) (length 2.54)
|
||||
(name "GPIO18" (effects (font (size 1.27 1.27))))
|
||||
(number "29" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 30.48 180) (length 2.54)
|
||||
(name "GPIO1" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -15.24 180) (length 2.54)
|
||||
(name "GPIO19" (effects (font (size 1.27 1.27))))
|
||||
(number "30" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -17.78 180) (length 2.54)
|
||||
(name "GPIO20" (effects (font (size 1.27 1.27))))
|
||||
(number "31" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -20.32 180) (length 2.54)
|
||||
(name "GPIO21" (effects (font (size 1.27 1.27))))
|
||||
(number "32" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 1.27 50.8 270) (length 2.54)
|
||||
(name "IOVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "33" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -22.86 180) (length 2.54)
|
||||
(name "GPIO22" (effects (font (size 1.27 1.27))))
|
||||
(number "34" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -25.4 180) (length 2.54)
|
||||
(name "GPIO23" (effects (font (size 1.27 1.27))))
|
||||
(number "35" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -27.94 180) (length 2.54)
|
||||
(name "GPIO24" (effects (font (size 1.27 1.27))))
|
||||
(number "36" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -30.48 180) (length 2.54)
|
||||
(name "GPIO25" (effects (font (size 1.27 1.27))))
|
||||
(number "37" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -35.56 180) (length 2.54)
|
||||
(name "GPIO26_ADC0" (effects (font (size 1.27 1.27))))
|
||||
(number "38" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -38.1 180) (length 2.54)
|
||||
(name "GPIO27_ADC1" (effects (font (size 1.27 1.27))))
|
||||
(number "39" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 27.94 180) (length 2.54)
|
||||
(name "GPIO2" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -40.64 180) (length 2.54)
|
||||
(name "GPIO28_ADC2" (effects (font (size 1.27 1.27))))
|
||||
(number "40" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 -43.18 180) (length 2.54)
|
||||
(name "GPIO29_ADC3" (effects (font (size 1.27 1.27))))
|
||||
(number "41" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -1.27 50.8 270) (length 2.54)
|
||||
(name "IOVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "42" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 16.51 50.8 270) (length 2.54)
|
||||
(name "ADC_AVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "43" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -8.89 50.8 270) (length 2.54)
|
||||
(name "VREG_IN" (effects (font (size 1.27 1.27))))
|
||||
(number "44" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_out line (at -12.7 50.8 270) (length 2.54)
|
||||
(name "VREG_VOUT" (effects (font (size 1.27 1.27))))
|
||||
(number "45" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 40.64 180) (length 2.54)
|
||||
(name "USB_DM" (effects (font (size 1.27 1.27))))
|
||||
(number "46" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 43.18 180) (length 2.54)
|
||||
(name "USB_DP" (effects (font (size 1.27 1.27))))
|
||||
(number "47" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 12.7 50.8 270) (length 2.54)
|
||||
(name "USB_VDD" (effects (font (size 1.27 1.27))))
|
||||
(number "48" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -3.81 50.8 270) (length 2.54)
|
||||
(name "IOVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "49" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 25.4 180) (length 2.54)
|
||||
(name "GPIO3" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -20.32 50.8 270) (length 2.54)
|
||||
(name "DVDD" (effects (font (size 1.27 1.27))))
|
||||
(number "50" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -31.75 20.32 0) (length 2.54)
|
||||
(name "QSPI_SD3" (effects (font (size 1.27 1.27))))
|
||||
(number "51" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin output line (at -31.75 16.51 0) (length 2.54)
|
||||
(name "QSPI_SCLK" (effects (font (size 1.27 1.27))))
|
||||
(number "52" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -31.75 27.94 0) (length 2.54)
|
||||
(name "QSPI_SD0" (effects (font (size 1.27 1.27))))
|
||||
(number "53" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -31.75 22.86 0) (length 2.54)
|
||||
(name "QSPI_SD2" (effects (font (size 1.27 1.27))))
|
||||
(number "54" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -31.75 25.4 0) (length 2.54)
|
||||
(name "QSPI_SD1" (effects (font (size 1.27 1.27))))
|
||||
(number "55" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at -31.75 31.75 0) (length 2.54)
|
||||
(name "QSPI_SS" (effects (font (size 1.27 1.27))))
|
||||
(number "56" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 0 -50.8 90) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "57" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 22.86 180) (length 2.54)
|
||||
(name "GPIO4" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 20.32 180) (length 2.54)
|
||||
(name "GPIO5" (effects (font (size 1.27 1.27))))
|
||||
(number "7" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 17.78 180) (length 2.54)
|
||||
(name "GPIO6" (effects (font (size 1.27 1.27))))
|
||||
(number "8" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 31.75 15.24 180) (length 2.54)
|
||||
(name "GPIO7" (effects (font (size 1.27 1.27))))
|
||||
(number "9" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
|
@ -0,0 +1,37 @@
|
|||
(module Crystal_SMD_HC49-US (layer F.Cu) (tedit 5F0C7995)
|
||||
(descr "SMD Crystal HC-49-SD http://cdn-reichelt.de/documents/datenblatt/B400/xxx-HC49-SMD.pdf, 11.4x4.7mm^2 package")
|
||||
(tags "SMD SMT crystal")
|
||||
(attr smd)
|
||||
(fp_text reference Y1 (at 0 -3.55) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value ABLS-12.000MHZ-B4-T (at 0 3.55) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -6.7 1.3) (end -6.7 2.55) (layer F.SilkS) (width 0.12))
|
||||
(fp_text user %R (at 0 0) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -5.7 -2.35) (end -5.7 2.35) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -5.7 2.35) (end 5.7 2.35) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 5.7 2.35) (end 5.7 -2.35) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 5.7 -2.35) (end -5.7 -2.35) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -3.015 -2.115) (end 3.015 -2.115) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -3.015 2.115) (end 3.015 2.115) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 5.9 -2.55) (end -6.7 -2.55) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -6.7 -2.55) (end -6.7 -1.3) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -6.7 2.55) (end 5.9 2.55) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -6.8 -2.6) (end -6.8 2.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -6.8 2.6) (end 6.8 2.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 6.8 2.6) (end 6.8 -2.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 6.8 -2.6) (end -6.8 -2.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_arc (start -3.015 0) (end -3.015 -2.115) (angle -180) (layer F.Fab) (width 0.1))
|
||||
(fp_arc (start 3.015 0) (end 3.015 -2.115) (angle 180) (layer F.Fab) (width 0.1))
|
||||
(pad 1 smd rect (at -4.5 0) (size 5.6 2.1) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 2 smd rect (at 4.5 0) (size 5.6 2.1) (layers F.Cu F.Paste F.Mask))
|
||||
(model ${KISYS3DMOD}/Crystal.3dshapes/Crystal_SMD_HC49-SD.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
516771
hardware/butns/MCU_RaspberryPi_and_Boards.pretty/Pico.wrl
Normal file
516771
hardware/butns/MCU_RaspberryPi_and_Boards.pretty/Pico.wrl
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,105 @@
|
|||
(module RP2040-QFN-56 (layer F.Cu) (tedit 5EF32B43)
|
||||
(descr "QFN, 56 Pin (http://www.cypress.com/file/416486/download#page=40), generated with kicad-footprint-generator ipc_dfn_qfn_generator.py")
|
||||
(tags "QFN DFN_QFN")
|
||||
(attr smd)
|
||||
(fp_text reference REF** (at 0 -4.82) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value Pico2040-QFN-56 (at 0 4.82) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user %R (at 0 0) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 4.12 -4.12) (end -4.12 -4.12) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 4.12 4.12) (end 4.12 -4.12) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -4.12 4.12) (end 4.12 4.12) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -4.12 -4.12) (end -4.12 4.12) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -3.5 -2.5) (end -2.5 -3.5) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -3.5 3.5) (end -3.5 -2.5) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 3.5 3.5) (end -3.5 3.5) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 3.5 -3.5) (end 3.5 3.5) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -2.5 -3.5) (end 3.5 -3.5) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -2.96 -3.61) (end -3.61 -3.61) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 3.61 3.61) (end 3.61 2.96) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 2.96 3.61) (end 3.61 3.61) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -3.61 3.61) (end -3.61 2.96) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -2.96 3.61) (end -3.61 3.61) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 3.61 -3.61) (end 3.61 -2.96) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 2.96 -3.61) (end 3.61 -3.61) (layer F.SilkS) (width 0.12))
|
||||
(pad 56 smd roundrect (at -2.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 55 smd roundrect (at -2.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 54 smd roundrect (at -1.8 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 53 smd roundrect (at -1.4 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 52 smd roundrect (at -1 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 51 smd roundrect (at -0.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 50 smd roundrect (at -0.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 49 smd roundrect (at 0.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 48 smd roundrect (at 0.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 47 smd roundrect (at 1 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 46 smd roundrect (at 1.4 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 45 smd roundrect (at 1.8 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 44 smd roundrect (at 2.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 43 smd roundrect (at 2.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 42 smd roundrect (at 3.4375 -2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 41 smd roundrect (at 3.4375 -2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 40 smd roundrect (at 3.4375 -1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 39 smd roundrect (at 3.4375 -1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 38 smd roundrect (at 3.4375 -1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 37 smd roundrect (at 3.4375 -0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 36 smd roundrect (at 3.4375 -0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 35 smd roundrect (at 3.4375 0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 34 smd roundrect (at 3.4375 0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 33 smd roundrect (at 3.4375 1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 32 smd roundrect (at 3.4375 1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 31 smd roundrect (at 3.4375 1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 30 smd roundrect (at 3.4375 2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 29 smd roundrect (at 3.4375 2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 28 smd roundrect (at 2.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 27 smd roundrect (at 2.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 26 smd roundrect (at 1.8 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 25 smd roundrect (at 1.4 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 24 smd roundrect (at 1 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 23 smd roundrect (at 0.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 22 smd roundrect (at 0.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 21 smd roundrect (at -0.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 20 smd roundrect (at -0.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 19 smd roundrect (at -1 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 18 smd roundrect (at -1.4 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 17 smd roundrect (at -1.8 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 16 smd roundrect (at -2.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 15 smd roundrect (at -2.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 14 smd roundrect (at -3.4375 2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 13 smd roundrect (at -3.4375 2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 12 smd roundrect (at -3.4375 1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 11 smd roundrect (at -3.4375 1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 10 smd roundrect (at -3.4375 1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 9 smd roundrect (at -3.4375 0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 8 smd roundrect (at -3.4375 0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 7 smd roundrect (at -3.4375 -0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 6 smd roundrect (at -3.4375 -0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 5 smd roundrect (at -3.4375 -1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 4 smd roundrect (at -3.4375 -1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 3 smd roundrect (at -3.4375 -1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 2 smd roundrect (at -3.4375 -2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad 1 smd roundrect (at -3.4375 -2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
|
||||
(pad "" smd roundrect (at 0.6375 0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
|
||||
(pad "" smd roundrect (at 0.6375 -0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
|
||||
(pad "" smd roundrect (at -0.6375 0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
|
||||
(pad "" smd roundrect (at -0.6375 -0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
|
||||
(pad 57 thru_hole circle (at 1.275 1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at 0 1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at -1.275 1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at 1.275 0) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at 0 0) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at -1.275 0) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at 1.275 -1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at 0 -1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 thru_hole circle (at -1.275 -1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
|
||||
(pad 57 smd roundrect (at 0 0) (size 3.2 3.2) (layers F.Cu F.Mask) (roundrect_rratio 0.045))
|
||||
(model ${KISYS3DMOD}/Package_DFN_QFN.3dshapes/QFN-56-1EP_7x7mm_P0.4mm_EP5.6x5.6mm.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
File diff suppressed because it is too large
Load diff
259
hardware/butns/SK6812-EC20.kicad_sym
Normal file
259
hardware/butns/SK6812-EC20.kicad_sym
Normal file
|
@ -0,0 +1,259 @@
|
|||
(kicad_symbol_lib
|
||||
(version 20231120)
|
||||
(generator "kicad_symbol_editor")
|
||||
(generator_version "8.0")
|
||||
(symbol "SK6812-EC20"
|
||||
(pin_names
|
||||
(offset 0.254)
|
||||
)
|
||||
(exclude_from_sim no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(property "Reference" "D"
|
||||
(at 5.08 5.715 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify right bottom)
|
||||
)
|
||||
)
|
||||
(property "Value" "SK6812-EC20"
|
||||
(at 1.27 -5.715 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "LED_SMD:LED_SK6812_PLCC4_5.0x5.0mm_P3.2mm"
|
||||
(at 1.27 -7.62 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" "https://cdn-shop.adafruit.com/product-files/1138/SK6812+LED+datasheet+.pdf"
|
||||
(at 2.54 -9.525 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Description" "RGB LED with integrated controller"
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "ki_keywords" "RGB LED NeoPixel addressable"
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "ki_fp_filters" "LED*SK6812*PLCC*5.0x5.0mm*P3.2mm*"
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(symbol "SK6812-EC20_0_0"
|
||||
(text "RGB"
|
||||
(at 2.286 -4.191 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.762 0.762)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "SK6812-EC20_0_1"
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.27 -3.556) (xy 1.778 -3.556)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.27 -2.54) (xy 1.778 -2.54)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 4.699 -3.556) (xy 2.667 -3.556)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 2.286 -2.54) (xy 1.27 -3.556) (xy 1.27 -3.048)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 2.286 -1.524) (xy 1.27 -2.54) (xy 1.27 -2.032)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 3.683 -1.016) (xy 3.683 -3.556) (xy 3.683 -4.064)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 4.699 -1.524) (xy 2.667 -1.524) (xy 3.683 -3.556) (xy 4.699 -1.524)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(rectangle
|
||||
(start 5.08 5.08)
|
||||
(end -5.08 -5.08)
|
||||
(stroke
|
||||
(width 0.254)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type background)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "SK6812-EC20_1_1"
|
||||
(pin power_in line
|
||||
(at 0 7.62 270)
|
||||
(length 2.54)
|
||||
(name "VDD"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "1"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin output line
|
||||
(at 7.62 0 180)
|
||||
(length 2.54)
|
||||
(name "DOUT"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "2"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin power_in line
|
||||
(at 0 -7.62 90)
|
||||
(length 2.54)
|
||||
(name "VSS"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "3"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 0 0)
|
||||
(length 2.54)
|
||||
(name "DIN"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "4"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
4826
hardware/butns/SK6812-EC20.pretty/SK6812-EC20.STEP
Normal file
4826
hardware/butns/SK6812-EC20.pretty/SK6812-EC20.STEP
Normal file
File diff suppressed because it is too large
Load diff
173
hardware/butns/SK6812-EC20.pretty/SK6812-EC20.kicad_mod
Normal file
173
hardware/butns/SK6812-EC20.pretty/SK6812-EC20.kicad_mod
Normal file
|
@ -0,0 +1,173 @@
|
|||
(footprint "SK6812-EC20"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at 0.4 1.8 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "22afd22e-5c9a-4ebc-8509-97f0288853f5")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "SK6812-EC20"
|
||||
(at 0 3 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "0f8beb73-d23c-4790-99ae-525a1f4b3259")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "795b5d19-106d-4232-b980-343e2361d78e")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "cfb4cdb7-1d46-42b6-928a-1c52bf600581")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "357379c6-48ba-4447-a21e-2aa10cc6c32b")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start 0.475 -0.15)
|
||||
(end 0.825 -0.15)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "8a2a7bc9-8a43-448b-8256-e1975cad3142")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.331468 0.879847)
|
||||
(end 1.331468 1.229847)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4ab6a89c-c322-4d47-87c5-f4245939d725")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.331468 1.229847)
|
||||
(end 0.981468 1.229847)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "278a0a14-9d46-4599-902d-0db8ef8f8bc4")
|
||||
)
|
||||
(fp_rect
|
||||
(start -1.2 -1.1)
|
||||
(end 1.2 1.1)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "7990d11a-3c35-4b57-9981-780473c35626")
|
||||
)
|
||||
(fp_rect
|
||||
(start -1.2 -1.1)
|
||||
(end 1.2 1.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "de034fa0-fb71-469c-9bce-385cae40c04a")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 4.4 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "edf10725-0a9d-4a71-8c81-f671db699f77")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at 0.65 0.6)
|
||||
(size 0.8 0.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(thermal_bridge_angle 45)
|
||||
(uuid "40cac2e8-84b9-462b-85f5-2b836c1c809f")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at 0.65 -0.6)
|
||||
(size 0.8 0.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(thermal_bridge_angle 45)
|
||||
(uuid "cd544606-7f9e-43ef-b7dc-2902f48a725e")
|
||||
)
|
||||
(pad "3" smd rect
|
||||
(at -0.65 -0.6)
|
||||
(size 0.8 0.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(thermal_bridge_angle 45)
|
||||
(uuid "5b19fc8d-afb6-4fc5-9b36-e1bc4e956202")
|
||||
)
|
||||
(pad "4" smd rect
|
||||
(at -0.65 0.6)
|
||||
(size 0.8 0.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(thermal_bridge_angle 45)
|
||||
(uuid "b48d48fb-0c2f-474d-866a-d9047261d198")
|
||||
)
|
||||
(model "${KIPRJMOD}/SK6812-EC20.pretty/SK6812-EC20.STEP"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz -180 0 0)
|
||||
)
|
||||
)
|
||||
)
|
3966
hardware/butns/TS-1187A.step
Normal file
3966
hardware/butns/TS-1187A.step
Normal file
File diff suppressed because it is too large
Load diff
3587
hardware/butns/butns-backend.kicad_sch
Normal file
3587
hardware/butns/butns-backend.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
42815
hardware/butns/butns-frontend.kicad_sch
Normal file
42815
hardware/butns/butns-frontend.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
107817
hardware/butns/butns.kicad_pcb
Normal file
107817
hardware/butns/butns.kicad_pcb
Normal file
File diff suppressed because it is too large
Load diff
594
hardware/butns/butns.kicad_pro
Normal file
594
hardware/butns/butns.kicad_pro
Normal file
|
@ -0,0 +1,594 @@
|
|||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"apply_defaults_to_fp_fields": false,
|
||||
"apply_defaults_to_fp_shapes": false,
|
||||
"apply_defaults_to_fp_text": false,
|
||||
"board_outline_line_width": 0.05,
|
||||
"copper_line_width": 0.2,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.05,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.1,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.1,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 2.7,
|
||||
"height": 2.7,
|
||||
"width": 2.7
|
||||
},
|
||||
"silk_line_width": 0.1,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.1,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"min_clearance": 0.5
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [],
|
||||
"drc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"connection_width": "warning",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint": "error",
|
||||
"footprint_symbol_mismatch": "warning",
|
||||
"footprint_type_mismatch": "ignore",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"holes_co_located": "warning",
|
||||
"invalid_outline": "error",
|
||||
"isolated_copper": "warning",
|
||||
"item_on_disabled_layer": "error",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"lib_footprint_issues": "warning",
|
||||
"lib_footprint_mismatch": "warning",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "warning",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_edge_clearance": "warning",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
"starved_thermal": "error",
|
||||
"text_height": "warning",
|
||||
"text_thickness": "warning",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_connection": 0.0,
|
||||
"min_copper_edge_clearance": 0.5,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.2,
|
||||
"min_microvia_drill": 0.1,
|
||||
"min_resolved_spokes": 2,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.8,
|
||||
"min_text_thickness": 0.08,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.0,
|
||||
"min_via_annular_width": 0.1,
|
||||
"min_via_diameter": 0.5,
|
||||
"solder_mask_to_copper_clearance": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"teardrop_options": [
|
||||
{
|
||||
"td_onpadsmd": true,
|
||||
"td_onroundshapesonly": false,
|
||||
"td_ontrackend": false,
|
||||
"td_onviapad": true
|
||||
}
|
||||
],
|
||||
"teardrop_parameters": [
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_round_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_rect_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_track_end",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
}
|
||||
],
|
||||
"track_widths": [],
|
||||
"tuning_pattern_settings": {
|
||||
"diff_pair_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 1.0
|
||||
},
|
||||
"diff_pair_skew_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
},
|
||||
"single_track_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
}
|
||||
},
|
||||
"via_dimensions": [],
|
||||
"zones_allow_external_fillets": false
|
||||
},
|
||||
"ipc2581": {
|
||||
"dist": "",
|
||||
"distpn": "",
|
||||
"internal_id": "",
|
||||
"mfg": "",
|
||||
"mpn": ""
|
||||
},
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"erc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_entry_needed": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"conflicting_netclasses": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_reference": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"endpoint_off_grid": "warning",
|
||||
"extra_units": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "warning",
|
||||
"missing_bidi_pin": "warning",
|
||||
"missing_input_pin": "warning",
|
||||
"missing_power_pin": "error",
|
||||
"missing_unit": "warning",
|
||||
"multiple_net_names": "warning",
|
||||
"net_not_bus_member": "warning",
|
||||
"no_connect_connected": "warning",
|
||||
"no_connect_dangling": "warning",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "warning",
|
||||
"power_pin_not_driven": "error",
|
||||
"similar_labels": "warning",
|
||||
"simulation_model_issue": "ignore",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": [
|
||||
"SK6812-EC20"
|
||||
]
|
||||
},
|
||||
"meta": {
|
||||
"filename": "butns.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.2,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.2,
|
||||
"via_diameter": 0.6,
|
||||
"via_drill": 0.3,
|
||||
"wire_width": 6
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 3
|
||||
},
|
||||
"net_colors": null,
|
||||
"netclass_assignments": null,
|
||||
"netclass_patterns": []
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"plot": "",
|
||||
"pos_files": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "butns.step",
|
||||
"svg": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"bom_export_filename": "",
|
||||
"bom_fmt_presets": [],
|
||||
"bom_fmt_settings": {
|
||||
"field_delimiter": ",",
|
||||
"keep_line_breaks": false,
|
||||
"keep_tabs": false,
|
||||
"name": "CSV",
|
||||
"ref_delimiter": ",",
|
||||
"ref_range_delimiter": "",
|
||||
"string_delimiter": "\""
|
||||
},
|
||||
"bom_presets": [],
|
||||
"bom_settings": {
|
||||
"exclude_dnp": false,
|
||||
"fields_ordered": [
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Reference",
|
||||
"name": "Reference",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "Value",
|
||||
"name": "Value",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Datasheet",
|
||||
"name": "Datasheet",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Footprint",
|
||||
"name": "Footprint",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Qty",
|
||||
"name": "${QUANTITY}",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "DNP",
|
||||
"name": "${DNP}",
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"filter_string": "",
|
||||
"group_symbols": true,
|
||||
"name": "Grouped By Value",
|
||||
"sort_asc": true,
|
||||
"sort_field": "Referenz"
|
||||
},
|
||||
"connection_grid_size": 50.0,
|
||||
"drawing": {
|
||||
"dashed_lines_dash_length_ratio": 12.0,
|
||||
"dashed_lines_gap_length_ratio": 3.0,
|
||||
"default_line_thickness": 6.0,
|
||||
"default_text_size": 50.0,
|
||||
"field_names": [],
|
||||
"intersheets_ref_own_page": false,
|
||||
"intersheets_ref_prefix": "",
|
||||
"intersheets_ref_short": false,
|
||||
"intersheets_ref_show": false,
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"label_size_ratio": 0.375,
|
||||
"operating_point_overlay_i_precision": 3,
|
||||
"operating_point_overlay_i_range": "~A",
|
||||
"operating_point_overlay_v_precision": 3,
|
||||
"operating_point_overlay_v_range": "~V",
|
||||
"overbar_offset_ratio": 1.23,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.15
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 1
|
||||
},
|
||||
"net_format_name": "",
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_current_sheet_as_root": false,
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"spice_model_current_sheet_as_root": true,
|
||||
"spice_save_all_currents": false,
|
||||
"spice_save_all_dissipations": false,
|
||||
"spice_save_all_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"1c3520c0-bca7-4d12-8c9b-3ac18c44338d",
|
||||
"Stammblatt"
|
||||
],
|
||||
[
|
||||
"b0295986-856b-4508-9cd9-aff1aa86ee33",
|
||||
"Frontend"
|
||||
],
|
||||
[
|
||||
"d5941714-0239-4676-93bd-9d828e2adbdd",
|
||||
"Backend"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
89
hardware/butns/butns.kicad_sch
Normal file
89
hardware/butns/butns.kicad_sch
Normal file
|
@ -0,0 +1,89 @@
|
|||
(kicad_sch
|
||||
(version 20231120)
|
||||
(generator "eeschema")
|
||||
(generator_version "8.0")
|
||||
(uuid "1c3520c0-bca7-4d12-8c9b-3ac18c44338d")
|
||||
(paper "A4")
|
||||
(lib_symbols)
|
||||
(sheet
|
||||
(at 128.27 74.93)
|
||||
(size 24.13 10.16)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "b0295986-856b-4508-9cd9-aff1aa86ee33")
|
||||
(property "Sheetname" "Frontend"
|
||||
(at 128.27 74.2184 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "butns-frontend.kicad_sch"
|
||||
(at 128.27 85.6746 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "butns"
|
||||
(path "/1c3520c0-bca7-4d12-8c9b-3ac18c44338d"
|
||||
(page "2")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet
|
||||
(at 177.8 77.47)
|
||||
(size 26.67 10.16)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "d5941714-0239-4676-93bd-9d828e2adbdd")
|
||||
(property "Sheetname" "Backend"
|
||||
(at 177.8 76.7584 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "butns-backend.kicad_sch"
|
||||
(at 177.8 88.2146 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "butns"
|
||||
(path "/1c3520c0-bca7-4d12-8c9b-3ac18c44338d"
|
||||
(page "3")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet_instances
|
||||
(path "/"
|
||||
(page "1")
|
||||
)
|
||||
)
|
||||
)
|
63953
hardware/butns/butns.step
Normal file
63953
hardware/butns/butns.step
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/butns/butns.stl
Normal file
BIN
hardware/butns/butns.stl
Normal file
Binary file not shown.
1
hardware/butns/case/YAPP_Box
Submodule
1
hardware/butns/case/YAPP_Box
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 0e85dbd3c828090f7a961d3ab034612e500d79d7
|
BIN
hardware/butns/case/base.stl
Normal file
BIN
hardware/butns/case/base.stl
Normal file
Binary file not shown.
46454
hardware/butns/case/buttons-inlay
Normal file
46454
hardware/butns/case/buttons-inlay
Normal file
File diff suppressed because it is too large
Load diff
46454
hardware/butns/case/buttons-inly.stl
Normal file
46454
hardware/butns/case/buttons-inly.stl
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/butns/case/buttons-lessbleed.stl
Normal file
BIN
hardware/butns/case/buttons-lessbleed.stl
Normal file
Binary file not shown.
5378
hardware/butns/case/buttons-pla-lessbleed-black
Normal file
5378
hardware/butns/case/buttons-pla-lessbleed-black
Normal file
File diff suppressed because it is too large
Load diff
5378
hardware/butns/case/buttons-pla-lessbleed-black.stl
Normal file
5378
hardware/butns/case/buttons-pla-lessbleed-black.stl
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/butns/case/buttons-pla-lessbleed.3mf
Normal file
BIN
hardware/butns/case/buttons-pla-lessbleed.3mf
Normal file
Binary file not shown.
293666
hardware/butns/case/buttons-pla-lessbleed.stl
Normal file
293666
hardware/butns/case/buttons-pla-lessbleed.stl
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/butns/case/buttons-pla.stl
Normal file
BIN
hardware/butns/case/buttons-pla.stl
Normal file
Binary file not shown.
73
hardware/butns/case/buttons.scad
Normal file
73
hardware/butns/case/buttons.scad
Normal file
|
@ -0,0 +1,73 @@
|
|||
include <./roundedcube.scad>
|
||||
|
||||
height = 5.3;
|
||||
|
||||
s = 8.5;
|
||||
|
||||
px = 11.43;
|
||||
py = 11.4;
|
||||
|
||||
inlayslack = 1;
|
||||
rubberslack = .6;
|
||||
|
||||
inlayheight = 2.6 - inlayslack;
|
||||
|
||||
w = 0.42*3;
|
||||
h = 0.12*3;
|
||||
|
||||
cross = true;
|
||||
/*
|
||||
intersection() {
|
||||
difference() {
|
||||
union() {
|
||||
for(x=[0:8-1]) for(y=[0:8-1])
|
||||
translate([x * px, y * py, height / 2]) roundedcube([s, s, height], center = true, radius = 1.5, "zmax");
|
||||
|
||||
//translate([- s, -s, 0])cube([7 * px + s * 2, 7 * py + s * 2, inlayheight ]);
|
||||
if (cross) {
|
||||
for(x=[0:14])
|
||||
translate([4 * px, (x-3) * py, h/2]) rotate([0, 0, 45]) cube([14*px, w, h], center = true);
|
||||
|
||||
for(x=[0:14])
|
||||
translate([4 * px, (x-4) * py, h/2]) rotate([0, 0, -45]) cube([14*px, w, h], center = true);
|
||||
} else {
|
||||
for(x=[0:8-1]) for(y=[0:8-1]) {
|
||||
translate([x * px, y * py - s / 4, h/2]) cube([12, w, h], center=true);
|
||||
translate([x * px, y * py + s / 4, h/2]) cube([12, w, h], center=true);
|
||||
translate([x * px - s / 4, y * py, h/2]) cube([w, 12, h], center=true);
|
||||
translate([x * px + s / 4, y * py, h/2]) cube([w, 12, h], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
translate([3.5 * px, 3.5 * py, 0]) cylinder(h = 20, d = 5.4, center = true);
|
||||
translate([-px/2-1, -py/2-1, 0]) cylinder(h = 20, d = 5.8, center = true);
|
||||
translate([7.5 * px+1, 7.5 * py+1, 0]) cylinder(h = 20, d = 5.8, center = true);
|
||||
translate([-px/2-1, 7.5 * py+1, 0]) cylinder(h = 20, d = 5.8, center = true);
|
||||
translate([7.5 * px+1, -py/2-1, 0]) cylinder(h = 20, d = 5.8, center = true);
|
||||
|
||||
}
|
||||
translate([-s/2-1.5, -s/2-1.5, -1]) roundedcube([8*px-2.9+3, 8*py-2.9+3, 10], radius=1.5, center=false, "zmax");
|
||||
|
||||
|
||||
}
|
||||
|
||||
for(x=[0:8-1]) for(y=[0:8-1])
|
||||
translate([x * px + s/2, y * py, inlayheight / 2]) cube([3.25, s/3, inlayheight], center = true);
|
||||
|
||||
for(y=[0:8-1])
|
||||
translate([-1 * px + s - 1, y * py, inlayheight / 2]) cube([2.75, s/4, inlayheight], center = true);
|
||||
*/
|
||||
color("blue")
|
||||
for(x=[0:8-1]) for(y=[0:8-1])
|
||||
translate([x * px - s/2+.15, y * py, (height - 2) / 2]) cube([.4, s-3, height - 2], center = true);
|
||||
/*
|
||||
|
||||
|
||||
color("blue") translate([0, 0, inlayheight]) difference() {
|
||||
translate([3.5*px, 3.5*py, (inlayslack - rubberslack) / 2]) cube([7*px, 7*py, inlayslack - rubberslack], center = true);
|
||||
|
||||
for(x=[0:8-1]) for(y=[0:8-1])
|
||||
translate([x * px, y * py, height / 2]) roundedcube([s+rubberslack, s + rubberslack, height], center = true, radius = 1.5, "zmax");
|
||||
|
||||
}*/
|
BIN
hardware/butns/case/buttons.stl
Normal file
BIN
hardware/butns/case/buttons.stl
Normal file
Binary file not shown.
630
hardware/butns/case/case.scad
Normal file
630
hardware/butns/case/case.scad
Normal file
|
@ -0,0 +1,630 @@
|
|||
//-----------------------------------------------------------------------
|
||||
// Yet Another Parameterized Projectbox generator
|
||||
//
|
||||
// This is a box for <template>
|
||||
//
|
||||
// Version 3.3.0 (2024-11-27)
|
||||
//
|
||||
// This design is parameterized based on the size of a PCB.
|
||||
//
|
||||
// For many/complex cutoutGrills, you might need to adjust
|
||||
// the max number of elements in OpenSCAD:
|
||||
//
|
||||
// Preferences->Advanced->Turn off rendering at 250000 elements
|
||||
// ^^^^^^
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
include <./YAPP_Box/YAPPgenerator_v3.scad>
|
||||
|
||||
//---------------------------------------------------------
|
||||
// This design is parameterized based on the size of a PCB.
|
||||
//---------------------------------------------------------
|
||||
// Note: length/lengte refers to X axis,
|
||||
// width/breedte refers to Y axis,
|
||||
// height/hoogte refers to Z axis
|
||||
|
||||
/*
|
||||
padding-back|<------pcb length --->|<padding-front
|
||||
RIGHT
|
||||
0 X-axis --->
|
||||
+----------------------------------------+ ---
|
||||
| | ^
|
||||
| | padding-right
|
||||
Y | | v
|
||||
| | -5,y +----------------------+ | ---
|
||||
B a | | 0,y x,y | | ^ F
|
||||
A x | | | | | R
|
||||
C i | | | | | pcb width O
|
||||
K s | | | | | N
|
||||
| | 0,0 x,0 | | v T
|
||||
^ | -5,0 +----------------------+ | ---
|
||||
| | | padding-left
|
||||
0 +----------------------------------------+ ---
|
||||
0 X-as --->
|
||||
LEFT
|
||||
*/
|
||||
|
||||
|
||||
//-- which part(s) do you want to print?
|
||||
printBaseShell = true;
|
||||
printLidShell = true;
|
||||
printSwitchExtenders = true;
|
||||
printDisplayClips = true;
|
||||
|
||||
// ********************************************************************
|
||||
// The Following will be used as the first element in the pbc array
|
||||
|
||||
//Defined here so you can define the "Main" PCB using these if wanted
|
||||
pcbLength = 99; // front to back (X axis)
|
||||
pcbWidth = 99; // side to side (Y axis)
|
||||
pcbThickness = 1.6;
|
||||
standoffHeight = 15; //-- How much the PCB needs to be raised from the base to leave room for solderings and whatnot
|
||||
standoffDiameter = 6;
|
||||
standoffPinDiameter = 2.5;
|
||||
standoffHoleSlack = 0.4;
|
||||
|
||||
myPcb = "../butns.stl";
|
||||
|
||||
if ($preview)
|
||||
{
|
||||
translate([pcbLength/2+2.5,pcbWidth/2+2.5,pcbThickness + standoffHeight])
|
||||
{
|
||||
rotate([0,0,90]) color("darkgray") import(myPcb);
|
||||
}
|
||||
}
|
||||
//===================================================================
|
||||
// *** PCBs ***
|
||||
// Printed Circuit Boards
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordPCB : yappCoordBoxInside[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = name
|
||||
// p(1) = length
|
||||
// p(2) = width
|
||||
// p(3) = posx
|
||||
// p(4) = posy
|
||||
// p(5) = Thickness
|
||||
// p(6) = standoff_Height
|
||||
// p(7) = standoff_Diameter
|
||||
// p(8) = standoff_PinDiameter
|
||||
// Optional:
|
||||
// p(9) = standoff_HoleSlack (default to 0.4)
|
||||
|
||||
//The following can be used to get PCB values elsewhere in the script - not in pcb definition.
|
||||
//If "PCB Name" is omitted then "Main" is used
|
||||
// pcbLength --> pcbLength("PCB Name")
|
||||
// pcbWidth --> pcbWidth("PCB Name")
|
||||
// pcbThickness --> pcbThickness("PCB Name")
|
||||
// standoffHeight --> standoffHeight("PCB Name")
|
||||
// standoffDiameter --> standoffDiameter("PCB Name")
|
||||
// standoffPinDiameter --> standoffPinDiameter("PCB Name")
|
||||
// standoffHoleSlack --> standoffHoleSlack("PCB Name")
|
||||
|
||||
pcb =
|
||||
[
|
||||
// Default Main PCB - DO NOT REMOVE the "Main" line.
|
||||
["Main", pcbLength,pcbWidth, 0,0, pcbThickness, standoffHeight, standoffDiameter, standoffPinDiameter, standoffHoleSlack]
|
||||
];
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
//-- padding between pcb and inside wall
|
||||
paddingFront = .5;
|
||||
paddingBack = .5;
|
||||
paddingRight = 1.5;
|
||||
paddingLeft = .5;
|
||||
|
||||
//-- Edit these parameters for your own box dimensions
|
||||
wallThickness = 1.5;
|
||||
basePlaneThickness = 2;
|
||||
lidPlaneThickness = 2;
|
||||
|
||||
//-- Total height of box = lidPlaneThickness
|
||||
// + lidWallHeight
|
||||
//-- + baseWallHeight
|
||||
// + basePlaneThickness
|
||||
//-- space between pcb and lidPlane :=
|
||||
//-- (bottonWallHeight+lidWallHeight) - (standoffHeight+pcbThickness)
|
||||
baseWallHeight = 18;
|
||||
lidWallHeight = 2;
|
||||
|
||||
//-- e where base and lid off box can overlap
|
||||
//-- Make sure this isn't less than lidWallHeight
|
||||
ridgeHeight = 3;
|
||||
ridgeSlack = 0.2;
|
||||
roundRadius = 2.0;
|
||||
|
||||
// Box Types are 0-4 with 0 as the default
|
||||
// 0 = All edges rounded with radius (roundRadius) above
|
||||
// 1 = All edges sqrtuare
|
||||
// 2 = All edges chamfered by (roundRadius) above
|
||||
// 3 = Square top and bottom edges (the ones that touch the build plate) and rounded vertical edges
|
||||
// 4 = Square top and bottom edges (the ones that touch the build plate) and chamfered vertical edges
|
||||
// 5 = Chanfered top and bottom edges (the ones that touch the build plate) and rounded vertical edges
|
||||
boxType = 3; // Default type 0
|
||||
|
||||
// Set the layer height of your printer
|
||||
printerLayerHeight = 0.2;
|
||||
|
||||
|
||||
//---------------------------
|
||||
//-- C O N T R O L --
|
||||
//---------------------------
|
||||
// -- Render --
|
||||
renderQuality = 8; //-> from 1 to 32, Default = 8
|
||||
|
||||
// --Preview --
|
||||
previewQuality = 5; //-> from 1 to 32, Default = 5
|
||||
showSideBySide = false; //-> Default = true
|
||||
onLidGap = 0; // tip don't override to animate the lid opening
|
||||
colorLid = "YellowGreen";
|
||||
alphaLid = 1;
|
||||
colorBase = "BurlyWood";
|
||||
alphaBase = 1;
|
||||
hideLidWalls = false; //-> Remove the walls from the lid : only if preview and showSideBySide=true
|
||||
hideBaseWalls = false; //-> Remove the walls from the base : only if preview and showSideBySide=true
|
||||
showOrientation = true; //-> Show the Front/Back/Left/Right labels : only in preview
|
||||
showPCB = false; //-> Show the PCB in red : only in preview
|
||||
showSwitches = false; //-> Show the switches (for pushbuttons) : only in preview
|
||||
showButtonsDepressed = false; //-> Should the buttons in the Lid On view be in the pressed position
|
||||
showOriginCoordBox = false; //-> Shows red bars representing the origin for yappCoordBox : only in preview
|
||||
showOriginCoordBoxInside = false; //-> Shows blue bars representing the origin for yappCoordBoxInside : only in preview
|
||||
showOriginCoordPCB = false; //-> Shows blue bars representing the origin for yappCoordBoxInside : only in preview
|
||||
showMarkersPCB = false; //-> Shows black bars corners of the PCB : only in preview
|
||||
showMarkersCenter = false; //-> Shows magenta bars along the centers of all faces
|
||||
inspectX = 0; //-> 0=none (>0 from Back)
|
||||
inspectY = 6; //-> 0=none (>0 from Right)
|
||||
inspectZ = 0; //-> 0=none (>0 from Bottom)
|
||||
inspectXfromBack = true; //-> View from the inspection cut foreward
|
||||
inspectYfromLeft = true; //-> View from the inspection cut to the right
|
||||
inspectZfromBottom = true; //-> View from the inspection cut up
|
||||
//---------------------------
|
||||
//-- C O N T R O L --
|
||||
//---------------------------
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
//-------------------------------------------------------------------
|
||||
// Start of Debugging config (used if not overridden in template)
|
||||
// ------------------------------------------------------------------
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
//==================================================================
|
||||
// *** Shapes ***
|
||||
//------------------------------------------------------------------
|
||||
// There are a view pre defines shapes and masks
|
||||
// shapes:
|
||||
// shapeIsoTriangle, shapeHexagon, shape6ptStar
|
||||
//
|
||||
// masks:
|
||||
// maskHoneycomb, maskHexCircles, maskBars, maskOffsetBars
|
||||
//
|
||||
//------------------------------------------------------------------
|
||||
// Shapes should be defined to fit into a 1x1 box (+/-0.5 in X and Y) - they will
|
||||
// be scaled as needed.
|
||||
// defined as a vector of [x,y] vertices pairs.(min 3 vertices)
|
||||
// for example a triangle could be [yappPolygonDef,[[-0.5,-0.5],[0,0.5],[0.5,-0.5]]];
|
||||
// To see how to add your own shapes and mask see the YAPPgenerator program
|
||||
//------------------------------------------------------------------
|
||||
|
||||
|
||||
// Show sample of a Mask
|
||||
//SampleMask(maskHoneycomb);
|
||||
|
||||
//===================================================================
|
||||
// *** PCB Supports ***
|
||||
// Pin and Socket standoffs
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordPCB : pcb[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = posx
|
||||
// p(1) = posy
|
||||
// Optional:
|
||||
// p(2) = Height to bottom of PCB : Default = standoffHeight
|
||||
// p(3) = PCB Gap : Default = -1 : Default for yappCoordPCB=pcbThickness, yappCoordBox=0
|
||||
// p(4) = standoffDiameter Default = standoffDiameter;
|
||||
// p(5) = standoffPinDiameter Default = standoffPinDiameter;
|
||||
// p(6) = standoffHoleSlack Default = standoffHoleSlack;
|
||||
// p(7) = filletRadius (0 = auto size)
|
||||
// p(8) = Pin Length : Default = 0 -> PCB Gap + standoff_PinDiameter
|
||||
// Indicated length of pin without the half sphere tip.
|
||||
// Example : pcbThickness() only leaves the half sphere tip above the PCB
|
||||
// n(a) = { <yappBoth> | yappLidOnly | yappBaseOnly }
|
||||
// n(b) = { <yappPin>, yappHole, yappTopPin }
|
||||
// yappPin = Pin on Base and Hole on Lid
|
||||
// yappHole = Hole on Both
|
||||
// yappTopPin = Hole on Base and Pin on Lid
|
||||
// n(c) = { yappAllCorners, yappFrontLeft | <yappBackLeft> | yappFrontRight | yappBackRight }
|
||||
// n(d) = { <yappCoordPCB> | yappCoordBox | yappCoordBoxInside }
|
||||
// n(e) = { yappNoFillet } : Removes the internal and external fillets and the Rounded tip on the pins
|
||||
// n(f) = [yappPCBName, "XXX"] : Specify a PCB. Defaults to [yappPCBName, "Main"]
|
||||
//-------------------------------------------------------------------
|
||||
pcbStands =
|
||||
[
|
||||
[4+91/2, 4+91/2, standoffHeight, pcbThickness, standoffDiameter, 2.5, 0, 0, 0, yappBaseOnly, yappHole],
|
||||
/*[4+91, 4+91, standoffHeight, pcbThickness, standoffDiameter, 2.5, 0, 0, 0, yappBaseOnly, yappHole],
|
||||
[4, 4+91, standoffHeight, pcbThickness, standoffDiameter, 2.5, 0, 0, 0, yappBaseOnly, yappHole],
|
||||
[4+91, 4, standoffHeight, pcbThickness, standoffDiameter, 2.5, 0, 0, 0, yappBaseOnly, yappHole],
|
||||
[4, 4, standoffHeight, pcbThickness, standoffDiameter, 2.5, 0, 0, 0, yappBaseOnly, yappHole],*/
|
||||
];
|
||||
|
||||
|
||||
//===================================================================
|
||||
// *** Connectors ***
|
||||
// Standoffs with hole through base and socket in lid for screw type connections.
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordBox: box[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = posx
|
||||
// p(1) = posy
|
||||
// p(2) = pcbStandHeight
|
||||
// p(3) = screwDiameter
|
||||
// p(4) = screwHeadDiameter (don't forget to add extra for the fillet)
|
||||
// p(5) = insertDiameter
|
||||
// p(6) = outsideDiameter
|
||||
// Optional:
|
||||
// p(7) = PCB Gap : Default = -1 : Default for yappCoordPCB=pcbThickness, yappCoordBox=0
|
||||
// p(8) = filletRadius : Default = 0/Auto(0 = auto size)
|
||||
// n(a) = { <yappAllCorners>, yappFrontLeft | yappFrontRight | yappBackLeft | yappBackRight }
|
||||
// n(b) = { <yappCoordBox> | yappCoordPCB | yappCoordBoxInside }
|
||||
// n(c) = { yappNoFillet }
|
||||
// n(d) = { yappCountersink }
|
||||
// n(e) = [yappPCBName, "XXX"] : Specify a PCB. Defaults to [yappPCBName, "Main"]
|
||||
// n(f) = { yappThroughLid = changes the screwhole to the lid and the socket to the base}
|
||||
//-------------------------------------------------------------------
|
||||
connectors =
|
||||
[
|
||||
[4, 4, -pcbThickness, 2.6, 5, 2.5, 6.5],
|
||||
[4+91, 4, -pcbThickness, 2.6, 5, 2.5, 6.5],
|
||||
[4, 4+91, -pcbThickness, 2.6, 5, 2.5, 6.5],
|
||||
[4+91, 4+91, -pcbThickness, 2.6, 5, 2.5, 6.5],
|
||||
];
|
||||
|
||||
|
||||
//===================================================================
|
||||
// *** Cutouts ***
|
||||
// There are 6 cutouts one for each surface:
|
||||
// cutoutsBase (Bottom), cutoutsLid (Top), cutoutsFront, cutoutsBack, cutoutsLeft, cutoutsRight
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordBox: box[0,0,0]
|
||||
//
|
||||
// Required Not Used Note
|
||||
//----------------------+-----------------------+---------------+------------------------------------
|
||||
// yappRectangle | width, length | radius |
|
||||
// yappCircle | radius | width, length |
|
||||
// yappRoundedRect | width, length, radius | |
|
||||
// yappCircleWithFlats | width, radius | length | length=distance between flats
|
||||
// yappCircleWithKey | width, length, radius | | width = key width length=key depth
|
||||
// | | | (negative indicates outside of circle)
|
||||
// yappPolygon | width, length | radius | yappPolygonDef object must be
|
||||
// | | | provided
|
||||
// yappRing | width, length, radius | | radius = outer radius,
|
||||
// | | | length = inner radius
|
||||
// | | | width = connection between rings
|
||||
// | | | 0 = No connectors
|
||||
// | | | positive = 2 connectors
|
||||
// | | | negative = 4 connectors
|
||||
// yappSphere | width, radius | | Width = Sphere center distance from
|
||||
// | | | center of depth. negative = below
|
||||
// | | | radius = sphere radius
|
||||
//----------------------+-----------------------+---------------+------------------------------------
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = from Back
|
||||
// p(1) = from Left
|
||||
// p(2) = width
|
||||
// p(3) = length
|
||||
// p(4) = radius
|
||||
// p(5) = shape : { yappRectangle | yappCircle | yappPolygon | yappRoundedRect
|
||||
// | yappCircleWithFlats | yappCircleWithKey | yappSphere }
|
||||
// Optional:
|
||||
// p(6) = depth : Default = 0/Auto : 0 = Auto (plane thickness)
|
||||
// p(7) = angle : Default = 0
|
||||
// n(a) = { yappPolygonDef } : Required if shape = yappPolygon specified -
|
||||
// n(b) = { yappMaskDef } : If a yappMaskDef object is added it will be used as a mask
|
||||
// for the cutout.
|
||||
// n(c) = { [yappMaskDef, hOffset, vOffset, rotation] } : If a list for a mask is added
|
||||
// it will be used as a mask for the cutout. With the Rotation
|
||||
// and offsets applied. This can be used to fine tune the mask
|
||||
// placement within the opening.
|
||||
// n(d) = { <yappCoordPCB> | yappCoordBox | yappCoordBoxInside }
|
||||
// n(e) = { <yappOrigin>, yappCenter }
|
||||
// n(f) = { <yappGlobalOrigin>, yappAltOrigin } // Only affects Top(lid), Back and Right Faces
|
||||
// n(g) = [yappPCBName, "XXX"] : Specify a PCB. Defaults to [yappPCBName, "Main"]
|
||||
// n(h) = { yappFromInside } Make the cut from the inside towards the outside
|
||||
//-------------------------------------------------------------------
|
||||
cutoutsBase =
|
||||
[
|
||||
];
|
||||
cutoutsLid =
|
||||
[
|
||||
for(x=[0:8-1]) for(y=[0:8-1])
|
||||
[10 / 2 + x * 11.43, 10 / 2 + 1 + y * 11.4, 9, 9, 1, yappRoundedRect, 20]
|
||||
];
|
||||
|
||||
cutoutsFront =
|
||||
[
|
||||
];
|
||||
|
||||
|
||||
cutoutsBack =
|
||||
[
|
||||
];
|
||||
|
||||
cutoutsLeft =
|
||||
[
|
||||
[26.5, -4, 12, 5, 2, yappRoundedRect, yappCenter]
|
||||
];
|
||||
|
||||
cutoutsRight =
|
||||
[
|
||||
];
|
||||
|
||||
|
||||
|
||||
//===================================================================
|
||||
// *** Snap Joins ***
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordBox: box[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = posx | posy
|
||||
// p(1) = width
|
||||
// p(2) = { yappLeft | yappRight | yappFront | yappBack } : one or more
|
||||
// Optional:
|
||||
// n(a) = { <yappOrigin>, yappCenter }
|
||||
// n(b) = { yappSymmetric }
|
||||
// n(c) = { yappRectangle } == Make a diamond shape snap
|
||||
//-------------------------------------------------------------------
|
||||
snapJoins =
|
||||
[
|
||||
[99/2, 30, yappLeft, yappRight, yappFront, yappBack, yappCenter, yappSymmetric, yappRectangle]
|
||||
];
|
||||
|
||||
//===================================================================
|
||||
// *** Box Mounts ***
|
||||
// Mounting tabs on the outside of the box
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordBox: box[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = pos : position along the wall : [pos,offset] : vector for position and offset X.
|
||||
// Position is to center of mounting screw in leftmost position in slot
|
||||
// p(1) = screwDiameter
|
||||
// p(2) = width of opening in addition to screw diameter
|
||||
// (0=Circular hole screwWidth = hole twice as wide as it is tall)
|
||||
// p(3) = height
|
||||
// n(a) = { yappLeft | yappRight | yappFront | yappBack } : one or more
|
||||
// Optional:
|
||||
// p(4) = filletRadius : Default = 0/Auto(0 = auto size)
|
||||
// n(b) = { yappNoFillet }
|
||||
// n(c) = { <yappBase>, yappLid }
|
||||
// n(d) = { yappCenter } : shifts Position to be in the center of the opening instead of
|
||||
// the left of the opening
|
||||
// n(e) = { <yappGlobalOrigin>, yappAltOrigin } : Only affects Back and Right Faces
|
||||
//-------------------------------------------------------------------
|
||||
boxMounts =
|
||||
[
|
||||
];
|
||||
|
||||
//===================================================================
|
||||
// *** Light Tubes ***
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordPCB: PCB[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = posx
|
||||
// p(1) = posy
|
||||
// p(2) = tubeLength
|
||||
// p(3) = tubeWidth
|
||||
// p(4) = tubeWall
|
||||
// p(5) = gapAbovePcb
|
||||
// p(6) = { yappCircle | yappRectangle } : tubeType
|
||||
// Optional:
|
||||
// p(7) = lensThickness (how much to leave on the top of the lid for the
|
||||
// light to shine through 0 for open hole : Default = 0/Open
|
||||
// p(8) = Height to top of PCB : Default = standoffHeight+pcbThickness
|
||||
// p(9) = filletRadius : Default = 0/Auto
|
||||
// n(a) = { <yappCoordPCB> | yappCoordBox | yappCoordBoxInside }
|
||||
// n(b) = { <yappGlobalOrigin>, yappAltOrigin }
|
||||
// n(c) = { yappNoFillet }
|
||||
// n(d) = [yappPCBName, "XXX"] : Specify a PCB. Defaults to [yappPCBName, "Main"]
|
||||
//-------------------------------------------------------------------
|
||||
lightTubes =
|
||||
[
|
||||
];
|
||||
|
||||
//===================================================================
|
||||
// *** Push Buttons ***
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordPCB: PCB[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = posx
|
||||
// p(1) = posy
|
||||
// p(2) = capLength
|
||||
// p(3) = capWidth
|
||||
// p(4) = capRadius
|
||||
// p(5) = capAboveLid
|
||||
// p(6) = switchHeight
|
||||
// p(7) = switchTravel
|
||||
// p(8) = poleDiameter
|
||||
// Optional:
|
||||
// p(9) = Height to top of PCB : Default = standoffHeight + pcbThickness
|
||||
// p(10) = { yappRectangle | yappCircle | yappPolygon | yappRoundedRect
|
||||
// | yappCircleWithFlats | yappCircleWithKey } : Shape, Default = yappRectangle
|
||||
// p(11) = angle : Default = 0
|
||||
// p(12) = filletRadius : Default = 0/Auto
|
||||
// p(13) = buttonWall : Default = 2.0;
|
||||
// p(14) = buttonPlateThickness : Default= 2.5;
|
||||
// p(15) = buttonSlack : Default= 0.25;
|
||||
// n(a) = { <yappCoordPCB> | yappCoordBox | yappCoordBoxInside }
|
||||
// n(b) = { <yappGlobalOrigin>, yappAltOrigin }
|
||||
// n(c) = { yappNoFillet }
|
||||
// n(d) = [yappPCBName, "XXX"] : Specify a PCB. Defaults to [yappPCBName, "Main"]
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
pushButtons =
|
||||
[
|
||||
|
||||
];
|
||||
|
||||
//===================================================================
|
||||
// *** Labels ***
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordBox: box[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// p(0) = posx
|
||||
// p(1) = posy/z
|
||||
// p(2) = rotation degrees CCW
|
||||
// p(3) = depth : positive values go into case (Remove) negative valies are raised (Add)
|
||||
// p(4) = { yappLeft | yappRight | yappFront | yappBack | yappLid | yappBaseyappLid } : plane
|
||||
// p(5) = font
|
||||
// p(6) = size
|
||||
// p(7) = "label text"
|
||||
// Optional:
|
||||
// p(8) = Expand : Default = 0 : mm to expand text by (making it bolder)
|
||||
//-------------------------------------------------------------------
|
||||
labelsPlane =
|
||||
[
|
||||
];
|
||||
|
||||
|
||||
//===================================================================
|
||||
// *** Ridge Extension ***
|
||||
// Extension from the lid into the case for adding split opening at various heights
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordBox: box[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = pos
|
||||
// p(1) = width
|
||||
// p(2) = height : Where to relocate the seam : yappCoordPCB = Above (positive) the PCB
|
||||
// yappCoordBox = Above (positive) the bottom of the shell (outside)
|
||||
// Optional:
|
||||
// n(a) = { <yappOrigin>, yappCenter }
|
||||
// n(b) = { <yappCoordPCB> | yappCoordBox | yappCoordBoxInside }
|
||||
// n(c) = { yappAltOrigin, <yappGlobalOrigin> } // Only affects Top(lid), Back and Right Faces
|
||||
// n(d) = [yappPCBName, "XXX"] : Specify a PCB. Defaults to [yappPCBName, "Main"]
|
||||
//
|
||||
// Note: Snaps should not be placed on ridge extensions as they remove the ridge to place them.
|
||||
//-------------------------------------------------------------------
|
||||
ridgeExtLeft =
|
||||
[
|
||||
];
|
||||
|
||||
ridgeExtRight =
|
||||
[
|
||||
];
|
||||
|
||||
ridgeExtFront =
|
||||
[
|
||||
];
|
||||
|
||||
ridgeExtBack =
|
||||
[
|
||||
];
|
||||
|
||||
|
||||
//===================================================================
|
||||
// *** Display Mounts ***
|
||||
// add a cutout to the lid with mounting posts for a display
|
||||
//-------------------------------------------------------------------
|
||||
// Default origin = yappCoordBox: box[0,0,0]
|
||||
//
|
||||
// Parameters:
|
||||
// Required:
|
||||
// p(0) = posx
|
||||
// p(1) = posy
|
||||
// p[2] : displayWidth = overall Width of the display module
|
||||
// p[3] : displayHeight = overall Height of the display module
|
||||
// p[4] : pinInsetH = Horizontal inset of the mounting hole
|
||||
// p[5] : pinInsetV = Vertical inset of the mounting hole
|
||||
// p[6] : pinDiameter,
|
||||
// p[7] : postOverhang = Extra distance on outside of pins for the display to sit on - pin Diameter is a good value
|
||||
// p[8] : walltoPCBGap = Distance from the display PCB to the surface of the screen
|
||||
// p[9] : pcbThickness = Thickness of the display module PCB
|
||||
// p[10] : windowWidth = opening width for the screen
|
||||
// p[11] : windowHeight = Opening height for the screen
|
||||
// p[12] : windowOffsetH = Horizontal offset from the center for the opening
|
||||
// p[13] : windowOffsetV = Vertical offset from the center for the opening
|
||||
// p[14] : bevel = Apply a 45degree bevel to the opening
|
||||
// Optionl:
|
||||
// p[15] : rotation
|
||||
// p[16] : snapDiameter : default = pinDiameter*2
|
||||
// p[17] : lidThickness : default = lidPlaneThickness
|
||||
// n(a) = { <yappOrigin>, yappCenter }
|
||||
// n(b) = { <yappCoordBox> | yappCoordPCB | yappCoordBoxInside }
|
||||
// n(c) = { <yappGlobalOrigin>, yappAltOrigin } // Only affects Top(lid), Back and Right Faces
|
||||
// n(d) = [yappPCBName, "XXX"] : Specify a PCB. Defaults to [yappPCBName, "Main"]
|
||||
//-------------------------------------------------------------------
|
||||
displayMounts =
|
||||
[
|
||||
];
|
||||
|
||||
//========= HOOK functions ============================
|
||||
|
||||
// Hook functions allow you to add 3d objects to the case.
|
||||
// Lid/Base = Shell part to attach the object to.
|
||||
// Inside/Outside = Join the object from the midpoint of the shell to the inside/outside.
|
||||
// Pre = Attach the object Pre before doing Cutouts/Stands/Connectors.
|
||||
|
||||
|
||||
//===========================================================
|
||||
// origin = box(0,0,0)
|
||||
module hookLidInside()
|
||||
{
|
||||
//if (printMessages) echo("hookLidInside() ..");
|
||||
|
||||
} // hookLidInside()
|
||||
|
||||
|
||||
//===========================================================
|
||||
// origin = box(0,0,shellHeight)
|
||||
module hookLidOutside()
|
||||
{
|
||||
//if (printMessages) echo("hookLidOutside() ..");
|
||||
|
||||
} // hookLidOutside()
|
||||
|
||||
//===========================================================
|
||||
//===========================================================
|
||||
// origin = box(0,0,0)
|
||||
module hookBaseInside()
|
||||
{
|
||||
//if (printMessages) echo("hookBaseInside() ..");
|
||||
|
||||
} // hookBaseInside()
|
||||
|
||||
//===========================================================
|
||||
// origin = box(0,0,0)
|
||||
module hookBaseOutside()
|
||||
{
|
||||
//if (printMessages) echo("hookBaseOutside() ..");
|
||||
|
||||
} // hookBaseInside()
|
||||
|
||||
// **********************************************************
|
||||
// **********************************************************
|
||||
// **********************************************************
|
||||
// *************** END OF TEMPLATE SECTION ******************
|
||||
// **********************************************************
|
||||
// **********************************************************
|
||||
// **********************************************************
|
||||
|
||||
//---- This is where the magic happens ----
|
||||
YAPPgenerate();
|
149564
hardware/butns/case/case.stl
Normal file
149564
hardware/butns/case/case.stl
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/butns/case/lid.stl
Normal file
BIN
hardware/butns/case/lid.stl
Normal file
Binary file not shown.
61
hardware/butns/case/roundedcube.scad
Normal file
61
hardware/butns/case/roundedcube.scad
Normal file
|
@ -0,0 +1,61 @@
|
|||
// Higher definition curves
|
||||
$fs = 0.01;
|
||||
|
||||
module roundedcube(size = [1, 1, 1], center = false, radius = 0.5, apply_to = "all") {
|
||||
// If single value, convert to [x, y, z] vector
|
||||
size = (size[0] == undef) ? [size, size, size] : size;
|
||||
|
||||
translate_min = radius;
|
||||
translate_xmax = size[0] - radius;
|
||||
translate_ymax = size[1] - radius;
|
||||
translate_zmax = size[2] - radius;
|
||||
|
||||
diameter = radius * 2;
|
||||
|
||||
module build_point(type = "sphere", rotate = [0, 0, 0]) {
|
||||
if (type == "sphere") {
|
||||
sphere(r = radius);
|
||||
} else if (type == "cylinder") {
|
||||
rotate(a = rotate)
|
||||
cylinder(h = diameter, r = radius, center = true);
|
||||
}
|
||||
}
|
||||
|
||||
obj_translate = (center == false) ?
|
||||
[0, 0, 0] : [
|
||||
-(size[0] / 2),
|
||||
-(size[1] / 2),
|
||||
-(size[2] / 2)
|
||||
];
|
||||
|
||||
translate(v = obj_translate) {
|
||||
hull() {
|
||||
for (translate_x = [translate_min, translate_xmax]) {
|
||||
x_at = (translate_x == translate_min) ? "min" : "max";
|
||||
for (translate_y = [translate_min, translate_ymax]) {
|
||||
y_at = (translate_y == translate_min) ? "min" : "max";
|
||||
for (translate_z = [translate_min, translate_zmax]) {
|
||||
z_at = (translate_z == translate_min) ? "min" : "max";
|
||||
|
||||
translate(v = [translate_x, translate_y, translate_z])
|
||||
if (
|
||||
(apply_to == "all") ||
|
||||
(apply_to == "xmin" && x_at == "min") || (apply_to == "xmax" && x_at == "max") ||
|
||||
(apply_to == "ymin" && y_at == "min") || (apply_to == "ymax" && y_at == "max") ||
|
||||
(apply_to == "zmin" && z_at == "min") || (apply_to == "zmax" && z_at == "max")
|
||||
) {
|
||||
build_point("sphere");
|
||||
} else {
|
||||
rotate =
|
||||
(apply_to == "xmin" || apply_to == "xmax" || apply_to == "x") ? [0, 90, 0] : (
|
||||
(apply_to == "ymin" || apply_to == "ymax" || apply_to == "y") ? [90, 90, 0] :
|
||||
[0, 0, 0]
|
||||
);
|
||||
build_point("cylinder", rotate);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
6
hardware/butns/fp-lib-table
Normal file
6
hardware/butns/fp-lib-table
Normal file
|
@ -0,0 +1,6 @@
|
|||
(fp_lib_table
|
||||
(version 7)
|
||||
(lib (name "SK6812-EC20")(type "KiCad")(uri "${KIPRJMOD}/SK6812-EC20.pretty")(options "")(descr ""))
|
||||
(lib (name "MCU_RaspberryPi_and_Boards")(type "KiCad")(uri "${KIPRJMOD}/MCU_RaspberryPi_and_Boards.pretty")(options "")(descr ""))
|
||||
(lib (name "switch")(type "KiCad")(uri "${KIPRJMOD}/switch.pretty")(options "")(descr ""))
|
||||
)
|
10689
hardware/butns/jlcpcb/gerber/butns-CuBottom.gbr
Normal file
10689
hardware/butns/jlcpcb/gerber/butns-CuBottom.gbr
Normal file
File diff suppressed because it is too large
Load diff
31241
hardware/butns/jlcpcb/gerber/butns-CuTop.gbr
Normal file
31241
hardware/butns/jlcpcb/gerber/butns-CuTop.gbr
Normal file
File diff suppressed because it is too large
Load diff
46
hardware/butns/jlcpcb/gerber/butns-EdgeCuts.gbr
Normal file
46
hardware/butns/jlcpcb/gerber/butns-EdgeCuts.gbr
Normal file
|
@ -0,0 +1,46 @@
|
|||
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.7*%
|
||||
%TF.CreationDate,2025-01-12T22:15:46+01:00*%
|
||||
%TF.ProjectId,butns,6275746e-732e-46b6-9963-61645f706362,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Profile,NP*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.7) date 2025-01-12 22:15:46*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%TA.AperFunction,Profile*%
|
||||
%ADD10C,0.050000*%
|
||||
%TD*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X229340991Y-140590996D02*
|
||||
X134840991Y-140590996D01*
|
||||
X231590991Y-138340996D02*
|
||||
X231590991Y-43840997D01*
|
||||
X132590991Y-43840997D02*
|
||||
G75*
|
||||
G02*
|
||||
X134840991Y-41590997I2249989J11D01*
|
||||
G01*
|
||||
X229340991Y-41590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X231591003Y-43840997I9J-2250003D01*
|
||||
G01*
|
||||
X231590991Y-138340996D02*
|
||||
G75*
|
||||
G02*
|
||||
X229340991Y-140590991I-2249991J-4D01*
|
||||
G01*
|
||||
X132590991Y-138340996D02*
|
||||
X132590991Y-43840997D01*
|
||||
X134840991Y-41590997D02*
|
||||
X229340991Y-41590997D01*
|
||||
X134840991Y-140590996D02*
|
||||
G75*
|
||||
G02*
|
||||
X132590991Y-138340996I35J2250035D01*
|
||||
G01*
|
||||
M02*
|
102
hardware/butns/jlcpcb/gerber/butns-MaskBottom.gbr
Normal file
102
hardware/butns/jlcpcb/gerber/butns-MaskBottom.gbr
Normal file
|
@ -0,0 +1,102 @@
|
|||
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.7*%
|
||||
%TF.CreationDate,2025-01-12T22:15:46+01:00*%
|
||||
%TF.ProjectId,butns,6275746e-732e-46b6-9963-61645f706362,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Soldermask,Bot*%
|
||||
%TF.FilePolarity,Negative*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.7) date 2025-01-12 22:15:46*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10R,2.510000X1.000000*%
|
||||
%ADD11O,1.800000X1.800000*%
|
||||
%ADD12O,1.500000X1.500000*%
|
||||
%ADD13R,1.700000X3.500000*%
|
||||
%ADD14R,3.500000X1.700000*%
|
||||
%ADD15C,2.700000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,J1*%
|
||||
X190790000Y-99980997D03*
|
||||
X194100000Y-97440997D03*
|
||||
X190790000Y-94900997D03*
|
||||
X194100000Y-92360997D03*
|
||||
X190790000Y-89820997D03*
|
||||
X194100000Y-87280997D03*
|
||||
X190790000Y-84740997D03*
|
||||
X194100000Y-82200997D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,U1*%
|
||||
X134350000Y-65575000D03*
|
||||
D12*
|
||||
X137380000Y-65875000D03*
|
||||
X137380000Y-70725000D03*
|
||||
D11*
|
||||
X134350000Y-71025000D03*
|
||||
D13*
|
||||
X134220000Y-58510000D03*
|
||||
X136760000Y-58510000D03*
|
||||
X139300000Y-58510000D03*
|
||||
X141840000Y-58510000D03*
|
||||
X144380000Y-58510000D03*
|
||||
X146920000Y-58510000D03*
|
||||
X149460000Y-58510000D03*
|
||||
X152000000Y-58510000D03*
|
||||
X154540000Y-58510000D03*
|
||||
X157080000Y-58510000D03*
|
||||
X159620000Y-58510000D03*
|
||||
X162160000Y-58510000D03*
|
||||
X164700000Y-58510000D03*
|
||||
X167240000Y-58510000D03*
|
||||
X169780000Y-58510000D03*
|
||||
X172320000Y-58510000D03*
|
||||
X174860000Y-58510000D03*
|
||||
X177400000Y-58510000D03*
|
||||
X179940000Y-58510000D03*
|
||||
X182480000Y-58510000D03*
|
||||
X182480000Y-78090000D03*
|
||||
X179940000Y-78090000D03*
|
||||
X177400000Y-78090000D03*
|
||||
X174860000Y-78090000D03*
|
||||
X172320000Y-78090000D03*
|
||||
X169780000Y-78090000D03*
|
||||
X167240000Y-78090000D03*
|
||||
X164700000Y-78090000D03*
|
||||
X162160000Y-78090000D03*
|
||||
X159620000Y-78090000D03*
|
||||
X157080000Y-78090000D03*
|
||||
X154540000Y-78090000D03*
|
||||
X152000000Y-78090000D03*
|
||||
X149460000Y-78090000D03*
|
||||
X146920000Y-78090000D03*
|
||||
X144380000Y-78090000D03*
|
||||
X141840000Y-78090000D03*
|
||||
X139300000Y-78090000D03*
|
||||
X136760000Y-78090000D03*
|
||||
X134220000Y-78090000D03*
|
||||
D14*
|
||||
X183150000Y-65760000D03*
|
||||
X183150000Y-68300000D03*
|
||||
X183150000Y-70840000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,H5*%
|
||||
X182090991Y-91090997D03*
|
||||
%TD*%
|
||||
%TO.C,H4*%
|
||||
X227590991Y-45590997D03*
|
||||
%TD*%
|
||||
%TO.C,H3*%
|
||||
X227590991Y-136590997D03*
|
||||
%TD*%
|
||||
%TO.C,H2*%
|
||||
X136590991Y-136590997D03*
|
||||
%TD*%
|
||||
%TO.C,H1*%
|
||||
X136590991Y-45590997D03*
|
||||
%TD*%
|
||||
M02*
|
1366
hardware/butns/jlcpcb/gerber/butns-MaskTop.gbr
Normal file
1366
hardware/butns/jlcpcb/gerber/butns-MaskTop.gbr
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/butns/jlcpcb/gerber/butns-NPTH-drl_map.pdf
Normal file
BIN
hardware/butns/jlcpcb/gerber/butns-NPTH-drl_map.pdf
Normal file
Binary file not shown.
30
hardware/butns/jlcpcb/gerber/butns-NPTH.drl
Normal file
30
hardware/butns/jlcpcb/gerber/butns-NPTH.drl
Normal file
|
@ -0,0 +1,30 @@
|
|||
M48
|
||||
; DRILL file {KiCad 8.0.7} date 2025-01-12T22:15:46+0100
|
||||
; FORMAT={-:-/ absolute / inch / decimal}
|
||||
; #@! TF.CreationDate,2025-01-12T22:15:46+01:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.7
|
||||
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||
FMAT,2
|
||||
INCH
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T1C0.0591
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T2C0.0709
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T3C0.1063
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X5.4087Y-2.5935
|
||||
X5.4087Y-2.7844
|
||||
T2
|
||||
X5.2894Y-2.5817
|
||||
X5.2894Y-2.7963
|
||||
T3
|
||||
X5.3776Y-1.7949
|
||||
X5.3776Y-5.3776
|
||||
X7.1689Y-3.5863
|
||||
X8.9603Y-1.7949
|
||||
X8.9603Y-5.3776
|
||||
M30
|
BIN
hardware/butns/jlcpcb/gerber/butns-PTH-drl_map.pdf
Normal file
BIN
hardware/butns/jlcpcb/gerber/butns-PTH-drl_map.pdf
Normal file
Binary file not shown.
387
hardware/butns/jlcpcb/gerber/butns-PTH.drl
Normal file
387
hardware/butns/jlcpcb/gerber/butns-PTH.drl
Normal file
|
@ -0,0 +1,387 @@
|
|||
M48
|
||||
; DRILL file {KiCad 8.0.7} date 2025-01-12T22:15:46+0100
|
||||
; FORMAT={-:-/ absolute / inch / decimal}
|
||||
; #@! TF.CreationDate,2025-01-12T22:15:46+01:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.7
|
||||
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||
FMAT,2
|
||||
INCH
|
||||
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||
T1C0.0118
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X5.321Y-2.1858
|
||||
X5.34Y-2.1
|
||||
X5.38Y-2.92
|
||||
X5.4843Y-2.339
|
||||
X5.4843Y-3.039
|
||||
X5.4965Y-1.97
|
||||
X5.4965Y-2.42
|
||||
X5.4965Y-2.87
|
||||
X5.4965Y-3.32
|
||||
X5.4965Y-3.77
|
||||
X5.4965Y-4.22
|
||||
X5.4965Y-4.67
|
||||
X5.4965Y-5.11
|
||||
X5.58Y-2.3964
|
||||
X5.6115Y-2.3964
|
||||
X5.62Y-2.17
|
||||
X5.64Y-2.21
|
||||
X5.64Y-2.45
|
||||
X5.6678Y-2.09
|
||||
X5.6914Y-2.01
|
||||
X5.6914Y-2.45
|
||||
X5.6914Y-2.9
|
||||
X5.6914Y-3.36
|
||||
X5.6914Y-3.81
|
||||
X5.6914Y-4.25
|
||||
X5.6914Y-4.7
|
||||
X5.6914Y-5.14
|
||||
X5.71Y-3.68
|
||||
X5.72Y-2.08
|
||||
X5.72Y-2.17
|
||||
X5.7343Y-2.4862
|
||||
X5.7343Y-2.935
|
||||
X5.7343Y-3.3839
|
||||
X5.7343Y-3.8327
|
||||
X5.7343Y-4.2815
|
||||
X5.7343Y-4.7303
|
||||
X5.7343Y-5.1791
|
||||
X5.76Y-2.66
|
||||
X5.77Y-2.53
|
||||
X5.78Y-3.48
|
||||
X5.78Y-3.67
|
||||
X5.7982Y-1.9291
|
||||
X5.7982Y-2.8268
|
||||
X5.7982Y-3.2756
|
||||
X5.7982Y-3.7244
|
||||
X5.7982Y-4.1732
|
||||
X5.7982Y-4.622
|
||||
X5.7982Y-5.0709
|
||||
X5.83Y-2.47
|
||||
X5.83Y-2.79
|
||||
X5.85Y-2.3964
|
||||
X5.85Y-4.1496
|
||||
X5.85Y-4.58
|
||||
X5.86Y-5.04
|
||||
X5.87Y-3.5636
|
||||
X5.9465Y-1.97
|
||||
X5.9465Y-2.42
|
||||
X5.9465Y-2.87
|
||||
X5.9465Y-3.32
|
||||
X5.9465Y-3.77
|
||||
X5.9465Y-4.22
|
||||
X5.9465Y-4.67
|
||||
X5.9465Y-5.11
|
||||
X6.0Y-2.3964
|
||||
X6.01Y-2.21
|
||||
X6.08Y-2.3964
|
||||
X6.1178Y-2.08
|
||||
X6.1414Y-2.47
|
||||
X6.1414Y-3.36
|
||||
X6.1414Y-3.82
|
||||
X6.1414Y-4.7
|
||||
X6.1414Y-5.15
|
||||
X6.15Y-2.21
|
||||
X6.15Y-2.52
|
||||
X6.15Y-2.9
|
||||
X6.15Y-4.26
|
||||
X6.157Y-1.9936
|
||||
X6.17Y-2.08
|
||||
X6.17Y-2.71
|
||||
X6.1843Y-2.935
|
||||
X6.1843Y-3.3839
|
||||
X6.1843Y-3.8327
|
||||
X6.1843Y-4.2815
|
||||
X6.1843Y-4.7303
|
||||
X6.1843Y-5.1791
|
||||
X6.23Y-2.1
|
||||
X6.23Y-2.53
|
||||
X6.23Y-2.98
|
||||
X6.23Y-3.44
|
||||
X6.23Y-3.89
|
||||
X6.23Y-4.33
|
||||
X6.23Y-4.78
|
||||
X6.23Y-5.22
|
||||
X6.2482Y-1.9291
|
||||
X6.2482Y-2.8268
|
||||
X6.2482Y-3.2756
|
||||
X6.2482Y-3.7244
|
||||
X6.2482Y-4.1732
|
||||
X6.2482Y-4.622
|
||||
X6.2482Y-5.0709
|
||||
X6.28Y-2.47
|
||||
X6.3Y-2.3964
|
||||
X6.35Y-2.2
|
||||
X6.39Y-5.11
|
||||
X6.3965Y-1.97
|
||||
X6.3965Y-2.42
|
||||
X6.3965Y-2.87
|
||||
X6.3965Y-3.32
|
||||
X6.3965Y-3.77
|
||||
X6.3965Y-4.22
|
||||
X6.3965Y-4.67
|
||||
X6.4843Y-2.339
|
||||
X6.4843Y-3.039
|
||||
X6.5678Y-2.19
|
||||
X6.5914Y-2.0
|
||||
X6.5914Y-2.47
|
||||
X6.5914Y-2.9
|
||||
X6.5914Y-3.36
|
||||
X6.5914Y-3.81
|
||||
X6.5914Y-4.26
|
||||
X6.5914Y-4.7
|
||||
X6.5914Y-5.15
|
||||
X6.6Y-2.18
|
||||
X6.6343Y-2.0374
|
||||
X6.6343Y-2.4862
|
||||
X6.6343Y-2.935
|
||||
X6.6343Y-3.3839
|
||||
X6.6343Y-3.8327
|
||||
X6.6343Y-4.2815
|
||||
X6.6343Y-4.7303
|
||||
X6.6343Y-5.1791
|
||||
X6.68Y-2.09
|
||||
X6.68Y-2.53
|
||||
X6.68Y-2.98
|
||||
X6.68Y-3.43
|
||||
X6.68Y-3.88
|
||||
X6.68Y-4.32
|
||||
X6.68Y-4.78
|
||||
X6.68Y-5.22
|
||||
X6.6982Y-1.9291
|
||||
X6.6982Y-2.8268
|
||||
X6.6982Y-3.2756
|
||||
X6.6982Y-3.7244
|
||||
X6.6982Y-4.1732
|
||||
X6.6982Y-4.622
|
||||
X6.6982Y-5.0709
|
||||
X6.73Y-2.4436
|
||||
X6.8465Y-1.97
|
||||
X6.8465Y-2.42
|
||||
X6.8465Y-2.87
|
||||
X6.8465Y-3.32
|
||||
X6.8465Y-3.77
|
||||
X6.8465Y-4.22
|
||||
X6.8465Y-4.67
|
||||
X6.8465Y-5.11
|
||||
X6.96Y-2.17
|
||||
X6.99Y-2.21
|
||||
X7.0122Y-2.0556
|
||||
X7.0414Y-1.9936
|
||||
X7.0414Y-2.21
|
||||
X7.0414Y-2.39
|
||||
X7.0414Y-2.48
|
||||
X7.0414Y-2.91
|
||||
X7.0414Y-3.36
|
||||
X7.0414Y-3.54
|
||||
X7.0414Y-3.82
|
||||
X7.0414Y-4.71
|
||||
X7.0414Y-5.15
|
||||
X7.0417Y-4.2583
|
||||
X7.05Y-2.73
|
||||
X7.0843Y-2.0374
|
||||
X7.0843Y-2.4862
|
||||
X7.0843Y-2.935
|
||||
X7.0843Y-3.3839
|
||||
X7.0843Y-3.8327
|
||||
X7.0843Y-4.2815
|
||||
X7.0843Y-4.7303
|
||||
X7.0843Y-5.1791
|
||||
X7.09Y-2.76
|
||||
X7.12Y-2.55
|
||||
X7.13Y-2.09
|
||||
X7.13Y-2.97
|
||||
X7.13Y-3.43
|
||||
X7.13Y-3.88
|
||||
X7.13Y-4.32
|
||||
X7.13Y-4.77
|
||||
X7.13Y-5.22
|
||||
X7.1482Y-1.9291
|
||||
X7.1482Y-3.2756
|
||||
X7.1482Y-3.7244
|
||||
X7.1482Y-4.1732
|
||||
X7.1482Y-4.622
|
||||
X7.1482Y-5.0709
|
||||
X7.1752Y-2.689
|
||||
X7.19Y-2.45
|
||||
X7.2Y-2.3964
|
||||
X7.27Y-2.31
|
||||
X7.2965Y-1.97
|
||||
X7.2965Y-2.42
|
||||
X7.2965Y-2.87
|
||||
X7.2965Y-3.32
|
||||
X7.2965Y-3.77
|
||||
X7.2965Y-4.22
|
||||
X7.2965Y-4.67
|
||||
X7.2965Y-5.11
|
||||
X7.32Y-3.17
|
||||
X7.35Y-3.28
|
||||
X7.38Y-3.2336
|
||||
X7.4Y-2.12
|
||||
X7.4Y-3.74
|
||||
X7.4Y-3.93
|
||||
X7.41Y-3.21
|
||||
X7.42Y-3.61
|
||||
X7.4914Y-1.9936
|
||||
X7.4914Y-2.48
|
||||
X7.4914Y-2.91
|
||||
X7.4914Y-3.38
|
||||
X7.4914Y-4.25
|
||||
X7.4914Y-4.7
|
||||
X7.4914Y-5.15
|
||||
X7.4952Y-3.7936
|
||||
X7.51Y-3.14
|
||||
X7.52Y-4.0
|
||||
X7.53Y-2.12
|
||||
X7.53Y-3.59
|
||||
X7.5343Y-2.0374
|
||||
X7.5343Y-2.4862
|
||||
X7.5343Y-2.935
|
||||
X7.5343Y-3.3839
|
||||
X7.5343Y-3.8327
|
||||
X7.5343Y-4.2815
|
||||
X7.5343Y-4.7303
|
||||
X7.5343Y-5.1791
|
||||
X7.54Y-4.12
|
||||
X7.55Y-3.22
|
||||
X7.55Y-3.47
|
||||
X7.57Y-3.88
|
||||
X7.58Y-2.08
|
||||
X7.58Y-2.54
|
||||
X7.58Y-2.99
|
||||
X7.58Y-4.32
|
||||
X7.58Y-4.77
|
||||
X7.58Y-5.22
|
||||
X7.5982Y-1.9291
|
||||
X7.5982Y-2.378
|
||||
X7.5982Y-2.8268
|
||||
X7.5982Y-3.7244
|
||||
X7.5982Y-4.1732
|
||||
X7.5982Y-4.622
|
||||
X7.5982Y-5.0709
|
||||
X7.74Y-2.42
|
||||
X7.7465Y-1.97
|
||||
X7.7465Y-2.87
|
||||
X7.7465Y-3.31
|
||||
X7.7465Y-3.77
|
||||
X7.7465Y-4.22
|
||||
X7.7465Y-4.67
|
||||
X7.7465Y-5.11
|
||||
X7.9178Y-2.17
|
||||
X7.9414Y-2.0
|
||||
X7.9414Y-2.48
|
||||
X7.9414Y-3.36
|
||||
X7.9414Y-4.25
|
||||
X7.9414Y-5.1583
|
||||
X7.947Y-3.7936
|
||||
X7.95Y-4.7
|
||||
X7.9517Y-2.9083
|
||||
X7.9843Y-2.0374
|
||||
X7.9843Y-2.4862
|
||||
X7.9843Y-2.935
|
||||
X7.9843Y-3.3839
|
||||
X7.9843Y-3.8327
|
||||
X7.9843Y-4.2815
|
||||
X7.9843Y-4.7303
|
||||
X7.9843Y-5.1791
|
||||
X8.02Y-3.88
|
||||
X8.03Y-2.09
|
||||
X8.03Y-2.54
|
||||
X8.03Y-2.99
|
||||
X8.03Y-3.44
|
||||
X8.03Y-4.32
|
||||
X8.03Y-4.77
|
||||
X8.03Y-5.22
|
||||
X8.0482Y-1.9291
|
||||
X8.0482Y-2.378
|
||||
X8.0482Y-2.8268
|
||||
X8.0482Y-3.2756
|
||||
X8.0482Y-3.7244
|
||||
X8.0482Y-4.1732
|
||||
X8.0482Y-4.622
|
||||
X8.0482Y-5.0709
|
||||
X8.19Y-2.42
|
||||
X8.1965Y-1.97
|
||||
X8.1965Y-2.87
|
||||
X8.1965Y-3.31
|
||||
X8.1965Y-3.77
|
||||
X8.1965Y-4.22
|
||||
X8.1965Y-4.67
|
||||
X8.1965Y-5.11
|
||||
X8.3678Y-2.16
|
||||
X8.3914Y-2.0
|
||||
X8.3914Y-2.91
|
||||
X8.3914Y-3.34
|
||||
X8.3914Y-3.82
|
||||
X8.3914Y-4.26
|
||||
X8.3914Y-4.71
|
||||
X8.3914Y-5.15
|
||||
X8.4Y-2.47
|
||||
X8.4343Y-2.0374
|
||||
X8.4343Y-2.4862
|
||||
X8.4343Y-2.935
|
||||
X8.4343Y-3.3839
|
||||
X8.4343Y-3.8327
|
||||
X8.4343Y-4.2815
|
||||
X8.4343Y-4.7303
|
||||
X8.4343Y-5.1791
|
||||
X8.48Y-2.1
|
||||
X8.48Y-2.53
|
||||
X8.48Y-2.98
|
||||
X8.48Y-3.43
|
||||
X8.48Y-3.88
|
||||
X8.48Y-4.32
|
||||
X8.48Y-4.77
|
||||
X8.48Y-5.23
|
||||
X8.4982Y-1.9291
|
||||
X8.4982Y-2.378
|
||||
X8.4982Y-2.8268
|
||||
X8.4982Y-3.2756
|
||||
X8.4982Y-3.7244
|
||||
X8.4982Y-4.1732
|
||||
X8.4982Y-4.622
|
||||
X8.4982Y-5.0709
|
||||
X8.6465Y-1.97
|
||||
X8.6465Y-2.42
|
||||
X8.6465Y-2.87
|
||||
X8.6465Y-3.31
|
||||
X8.6465Y-3.77
|
||||
X8.6465Y-4.21
|
||||
X8.6465Y-4.67
|
||||
X8.6465Y-5.11
|
||||
X8.8178Y-2.21
|
||||
X8.85Y-2.3
|
||||
X8.85Y-2.63
|
||||
X8.85Y-3.08
|
||||
X8.85Y-3.99
|
||||
X8.85Y-4.42
|
||||
X8.85Y-4.88
|
||||
X8.86Y-3.54
|
||||
X8.8843Y-2.0374
|
||||
X8.8843Y-2.4862
|
||||
X8.8843Y-2.935
|
||||
X8.8843Y-3.3839
|
||||
X8.8843Y-3.8327
|
||||
X8.8843Y-4.2815
|
||||
X8.8843Y-4.7303
|
||||
X8.8843Y-5.1791
|
||||
X8.93Y-2.1
|
||||
X8.93Y-2.53
|
||||
X8.93Y-2.97
|
||||
X8.93Y-3.43
|
||||
X8.93Y-3.87
|
||||
X8.93Y-4.32
|
||||
X8.93Y-4.78
|
||||
X8.93Y-5.22
|
||||
X8.9482Y-1.9291
|
||||
X8.9482Y-2.378
|
||||
X8.9482Y-2.8268
|
||||
X8.9482Y-3.2756
|
||||
X8.9482Y-3.7244
|
||||
X8.9482Y-4.1732
|
||||
X8.9482Y-4.622
|
||||
X8.9482Y-5.0709
|
||||
M30
|
27
hardware/butns/jlcpcb/gerber/butns-PasteBottom.gbr
Normal file
27
hardware/butns/jlcpcb/gerber/butns-PasteBottom.gbr
Normal file
|
@ -0,0 +1,27 @@
|
|||
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.7*%
|
||||
%TF.CreationDate,2025-01-12T22:15:46+01:00*%
|
||||
%TF.ProjectId,butns,6275746e-732e-46b6-9963-61645f706362,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Paste,Bot*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.7) date 2025-01-12 22:15:46*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10R,2.510000X1.000000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,J1*%
|
||||
X190790000Y-99980997D03*
|
||||
X194100000Y-97440997D03*
|
||||
X190790000Y-94900997D03*
|
||||
X194100000Y-92360997D03*
|
||||
X190790000Y-89820997D03*
|
||||
X194100000Y-87280997D03*
|
||||
X190790000Y-84740997D03*
|
||||
X194100000Y-82200997D03*
|
||||
%TD*%
|
||||
M02*
|
1338
hardware/butns/jlcpcb/gerber/butns-PasteTop.gbr
Normal file
1338
hardware/butns/jlcpcb/gerber/butns-PasteTop.gbr
Normal file
File diff suppressed because it is too large
Load diff
4771
hardware/butns/jlcpcb/gerber/butns-SilkBottom.gbr
Normal file
4771
hardware/butns/jlcpcb/gerber/butns-SilkBottom.gbr
Normal file
File diff suppressed because it is too large
Load diff
4063
hardware/butns/jlcpcb/gerber/butns-SilkTop.gbr
Normal file
4063
hardware/butns/jlcpcb/gerber/butns-SilkTop.gbr
Normal file
File diff suppressed because it is too large
Load diff
698
hardware/butns/jlcpcb/gerber/butns-VScore.gbr
Normal file
698
hardware/butns/jlcpcb/gerber/butns-VScore.gbr
Normal file
|
@ -0,0 +1,698 @@
|
|||
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.7*%
|
||||
%TF.CreationDate,2025-01-12T22:15:46+01:00*%
|
||||
%TF.ProjectId,butns,6275746e-732e-46b6-9963-61645f706362,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Other,Comment*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.7) date 2025-01-12 22:15:46*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X128509580Y-82400002D02*
|
||||
X128557200Y-82447621D01*
|
||||
X128557200Y-82447621D02*
|
||||
X128604819Y-82590478D01*
|
||||
X128604819Y-82590478D02*
|
||||
X128604819Y-82685716D01*
|
||||
X128604819Y-82685716D02*
|
||||
X128557200Y-82828573D01*
|
||||
X128557200Y-82828573D02*
|
||||
X128461961Y-82923811D01*
|
||||
X128461961Y-82923811D02*
|
||||
X128366723Y-82971430D01*
|
||||
X128366723Y-82971430D02*
|
||||
X128176247Y-83019049D01*
|
||||
X128176247Y-83019049D02*
|
||||
X128033390Y-83019049D01*
|
||||
X128033390Y-83019049D02*
|
||||
X127842914Y-82971430D01*
|
||||
X127842914Y-82971430D02*
|
||||
X127747676Y-82923811D01*
|
||||
X127747676Y-82923811D02*
|
||||
X127652438Y-82828573D01*
|
||||
X127652438Y-82828573D02*
|
||||
X127604819Y-82685716D01*
|
||||
X127604819Y-82685716D02*
|
||||
X127604819Y-82590478D01*
|
||||
X127604819Y-82590478D02*
|
||||
X127652438Y-82447621D01*
|
||||
X127652438Y-82447621D02*
|
||||
X127700057Y-82400002D01*
|
||||
X128604819Y-81828573D02*
|
||||
X128557200Y-81923811D01*
|
||||
X128557200Y-81923811D02*
|
||||
X128509580Y-81971430D01*
|
||||
X128509580Y-81971430D02*
|
||||
X128414342Y-82019049D01*
|
||||
X128414342Y-82019049D02*
|
||||
X128128628Y-82019049D01*
|
||||
X128128628Y-82019049D02*
|
||||
X128033390Y-81971430D01*
|
||||
X128033390Y-81971430D02*
|
||||
X127985771Y-81923811D01*
|
||||
X127985771Y-81923811D02*
|
||||
X127938152Y-81828573D01*
|
||||
X127938152Y-81828573D02*
|
||||
X127938152Y-81685716D01*
|
||||
X127938152Y-81685716D02*
|
||||
X127985771Y-81590478D01*
|
||||
X127985771Y-81590478D02*
|
||||
X128033390Y-81542859D01*
|
||||
X128033390Y-81542859D02*
|
||||
X128128628Y-81495240D01*
|
||||
X128128628Y-81495240D02*
|
||||
X128414342Y-81495240D01*
|
||||
X128414342Y-81495240D02*
|
||||
X128509580Y-81542859D01*
|
||||
X128509580Y-81542859D02*
|
||||
X128557200Y-81590478D01*
|
||||
X128557200Y-81590478D02*
|
||||
X128604819Y-81685716D01*
|
||||
X128604819Y-81685716D02*
|
||||
X128604819Y-81828573D01*
|
||||
X127938152Y-81066668D02*
|
||||
X128938152Y-81066668D01*
|
||||
X127985771Y-81066668D02*
|
||||
X127938152Y-80971430D01*
|
||||
X127938152Y-80971430D02*
|
||||
X127938152Y-80780954D01*
|
||||
X127938152Y-80780954D02*
|
||||
X127985771Y-80685716D01*
|
||||
X127985771Y-80685716D02*
|
||||
X128033390Y-80638097D01*
|
||||
X128033390Y-80638097D02*
|
||||
X128128628Y-80590478D01*
|
||||
X128128628Y-80590478D02*
|
||||
X128414342Y-80590478D01*
|
||||
X128414342Y-80590478D02*
|
||||
X128509580Y-80638097D01*
|
||||
X128509580Y-80638097D02*
|
||||
X128557200Y-80685716D01*
|
||||
X128557200Y-80685716D02*
|
||||
X128604819Y-80780954D01*
|
||||
X128604819Y-80780954D02*
|
||||
X128604819Y-80971430D01*
|
||||
X128604819Y-80971430D02*
|
||||
X128557200Y-81066668D01*
|
||||
X127938152Y-80161906D02*
|
||||
X128938152Y-80161906D01*
|
||||
X127985771Y-80161906D02*
|
||||
X127938152Y-80066668D01*
|
||||
X127938152Y-80066668D02*
|
||||
X127938152Y-79876192D01*
|
||||
X127938152Y-79876192D02*
|
||||
X127985771Y-79780954D01*
|
||||
X127985771Y-79780954D02*
|
||||
X128033390Y-79733335D01*
|
||||
X128033390Y-79733335D02*
|
||||
X128128628Y-79685716D01*
|
||||
X128128628Y-79685716D02*
|
||||
X128414342Y-79685716D01*
|
||||
X128414342Y-79685716D02*
|
||||
X128509580Y-79733335D01*
|
||||
X128509580Y-79733335D02*
|
||||
X128557200Y-79780954D01*
|
||||
X128557200Y-79780954D02*
|
||||
X128604819Y-79876192D01*
|
||||
X128604819Y-79876192D02*
|
||||
X128604819Y-80066668D01*
|
||||
X128604819Y-80066668D02*
|
||||
X128557200Y-80161906D01*
|
||||
X128557200Y-78876192D02*
|
||||
X128604819Y-78971430D01*
|
||||
X128604819Y-78971430D02*
|
||||
X128604819Y-79161906D01*
|
||||
X128604819Y-79161906D02*
|
||||
X128557200Y-79257144D01*
|
||||
X128557200Y-79257144D02*
|
||||
X128461961Y-79304763D01*
|
||||
X128461961Y-79304763D02*
|
||||
X128081009Y-79304763D01*
|
||||
X128081009Y-79304763D02*
|
||||
X127985771Y-79257144D01*
|
||||
X127985771Y-79257144D02*
|
||||
X127938152Y-79161906D01*
|
||||
X127938152Y-79161906D02*
|
||||
X127938152Y-78971430D01*
|
||||
X127938152Y-78971430D02*
|
||||
X127985771Y-78876192D01*
|
||||
X127985771Y-78876192D02*
|
||||
X128081009Y-78828573D01*
|
||||
X128081009Y-78828573D02*
|
||||
X128176247Y-78828573D01*
|
||||
X128176247Y-78828573D02*
|
||||
X128271485Y-79304763D01*
|
||||
X128604819Y-78400001D02*
|
||||
X127938152Y-78400001D01*
|
||||
X128128628Y-78400001D02*
|
||||
X128033390Y-78352382D01*
|
||||
X128033390Y-78352382D02*
|
||||
X127985771Y-78304763D01*
|
||||
X127985771Y-78304763D02*
|
||||
X127938152Y-78209525D01*
|
||||
X127938152Y-78209525D02*
|
||||
X127938152Y-78114287D01*
|
||||
X128604819Y-77019048D02*
|
||||
X127604819Y-77019048D01*
|
||||
X128604819Y-76447620D02*
|
||||
X128033390Y-76876191D01*
|
||||
X127604819Y-76447620D02*
|
||||
X128176247Y-77019048D01*
|
||||
X128557200Y-75638096D02*
|
||||
X128604819Y-75733334D01*
|
||||
X128604819Y-75733334D02*
|
||||
X128604819Y-75923810D01*
|
||||
X128604819Y-75923810D02*
|
||||
X128557200Y-76019048D01*
|
||||
X128557200Y-76019048D02*
|
||||
X128461961Y-76066667D01*
|
||||
X128461961Y-76066667D02*
|
||||
X128081009Y-76066667D01*
|
||||
X128081009Y-76066667D02*
|
||||
X127985771Y-76019048D01*
|
||||
X127985771Y-76019048D02*
|
||||
X127938152Y-75923810D01*
|
||||
X127938152Y-75923810D02*
|
||||
X127938152Y-75733334D01*
|
||||
X127938152Y-75733334D02*
|
||||
X127985771Y-75638096D01*
|
||||
X127985771Y-75638096D02*
|
||||
X128081009Y-75590477D01*
|
||||
X128081009Y-75590477D02*
|
||||
X128176247Y-75590477D01*
|
||||
X128176247Y-75590477D02*
|
||||
X128271485Y-76066667D01*
|
||||
X128557200Y-74780953D02*
|
||||
X128604819Y-74876191D01*
|
||||
X128604819Y-74876191D02*
|
||||
X128604819Y-75066667D01*
|
||||
X128604819Y-75066667D02*
|
||||
X128557200Y-75161905D01*
|
||||
X128557200Y-75161905D02*
|
||||
X128461961Y-75209524D01*
|
||||
X128461961Y-75209524D02*
|
||||
X128081009Y-75209524D01*
|
||||
X128081009Y-75209524D02*
|
||||
X127985771Y-75161905D01*
|
||||
X127985771Y-75161905D02*
|
||||
X127938152Y-75066667D01*
|
||||
X127938152Y-75066667D02*
|
||||
X127938152Y-74876191D01*
|
||||
X127938152Y-74876191D02*
|
||||
X127985771Y-74780953D01*
|
||||
X127985771Y-74780953D02*
|
||||
X128081009Y-74733334D01*
|
||||
X128081009Y-74733334D02*
|
||||
X128176247Y-74733334D01*
|
||||
X128176247Y-74733334D02*
|
||||
X128271485Y-75209524D01*
|
||||
X127938152Y-74304762D02*
|
||||
X128938152Y-74304762D01*
|
||||
X127985771Y-74304762D02*
|
||||
X127938152Y-74209524D01*
|
||||
X127938152Y-74209524D02*
|
||||
X127938152Y-74019048D01*
|
||||
X127938152Y-74019048D02*
|
||||
X127985771Y-73923810D01*
|
||||
X127985771Y-73923810D02*
|
||||
X128033390Y-73876191D01*
|
||||
X128033390Y-73876191D02*
|
||||
X128128628Y-73828572D01*
|
||||
X128128628Y-73828572D02*
|
||||
X128414342Y-73828572D01*
|
||||
X128414342Y-73828572D02*
|
||||
X128509580Y-73876191D01*
|
||||
X128509580Y-73876191D02*
|
||||
X128557200Y-73923810D01*
|
||||
X128557200Y-73923810D02*
|
||||
X128604819Y-74019048D01*
|
||||
X128604819Y-74019048D02*
|
||||
X128604819Y-74209524D01*
|
||||
X128604819Y-74209524D02*
|
||||
X128557200Y-74304762D01*
|
||||
X128604819Y-73257143D02*
|
||||
X128557200Y-73352381D01*
|
||||
X128557200Y-73352381D02*
|
||||
X128509580Y-73400000D01*
|
||||
X128509580Y-73400000D02*
|
||||
X128414342Y-73447619D01*
|
||||
X128414342Y-73447619D02*
|
||||
X128128628Y-73447619D01*
|
||||
X128128628Y-73447619D02*
|
||||
X128033390Y-73400000D01*
|
||||
X128033390Y-73400000D02*
|
||||
X127985771Y-73352381D01*
|
||||
X127985771Y-73352381D02*
|
||||
X127938152Y-73257143D01*
|
||||
X127938152Y-73257143D02*
|
||||
X127938152Y-73114286D01*
|
||||
X127938152Y-73114286D02*
|
||||
X127985771Y-73019048D01*
|
||||
X127985771Y-73019048D02*
|
||||
X128033390Y-72971429D01*
|
||||
X128033390Y-72971429D02*
|
||||
X128128628Y-72923810D01*
|
||||
X128128628Y-72923810D02*
|
||||
X128414342Y-72923810D01*
|
||||
X128414342Y-72923810D02*
|
||||
X128509580Y-72971429D01*
|
||||
X128509580Y-72971429D02*
|
||||
X128557200Y-73019048D01*
|
||||
X128557200Y-73019048D02*
|
||||
X128604819Y-73114286D01*
|
||||
X128604819Y-73114286D02*
|
||||
X128604819Y-73257143D01*
|
||||
X127938152Y-72066667D02*
|
||||
X128604819Y-72066667D01*
|
||||
X127938152Y-72495238D02*
|
||||
X128461961Y-72495238D01*
|
||||
X128461961Y-72495238D02*
|
||||
X128557200Y-72447619D01*
|
||||
X128557200Y-72447619D02*
|
||||
X128604819Y-72352381D01*
|
||||
X128604819Y-72352381D02*
|
||||
X128604819Y-72209524D01*
|
||||
X128604819Y-72209524D02*
|
||||
X128557200Y-72114286D01*
|
||||
X128557200Y-72114286D02*
|
||||
X128509580Y-72066667D01*
|
||||
X127938152Y-71733333D02*
|
||||
X127938152Y-71352381D01*
|
||||
X127604819Y-71590476D02*
|
||||
X128461961Y-71590476D01*
|
||||
X128461961Y-71590476D02*
|
||||
X128557200Y-71542857D01*
|
||||
X128557200Y-71542857D02*
|
||||
X128604819Y-71447619D01*
|
||||
X128604819Y-71447619D02*
|
||||
X128604819Y-71352381D01*
|
||||
X128557200Y-71066666D02*
|
||||
X128604819Y-70971428D01*
|
||||
X128604819Y-70971428D02*
|
||||
X128604819Y-70780952D01*
|
||||
X128604819Y-70780952D02*
|
||||
X128557200Y-70685714D01*
|
||||
X128557200Y-70685714D02*
|
||||
X128461961Y-70638095D01*
|
||||
X128461961Y-70638095D02*
|
||||
X128414342Y-70638095D01*
|
||||
X128414342Y-70638095D02*
|
||||
X128319104Y-70685714D01*
|
||||
X128319104Y-70685714D02*
|
||||
X128271485Y-70780952D01*
|
||||
X128271485Y-70780952D02*
|
||||
X128271485Y-70923809D01*
|
||||
X128271485Y-70923809D02*
|
||||
X128223866Y-71019047D01*
|
||||
X128223866Y-71019047D02*
|
||||
X128128628Y-71066666D01*
|
||||
X128128628Y-71066666D02*
|
||||
X128081009Y-71066666D01*
|
||||
X128081009Y-71066666D02*
|
||||
X127985771Y-71019047D01*
|
||||
X127985771Y-71019047D02*
|
||||
X127938152Y-70923809D01*
|
||||
X127938152Y-70923809D02*
|
||||
X127938152Y-70780952D01*
|
||||
X127938152Y-70780952D02*
|
||||
X127985771Y-70685714D01*
|
||||
X128557200Y-69495237D02*
|
||||
X128604819Y-69399999D01*
|
||||
X128604819Y-69399999D02*
|
||||
X128604819Y-69209523D01*
|
||||
X128604819Y-69209523D02*
|
||||
X128557200Y-69114285D01*
|
||||
X128557200Y-69114285D02*
|
||||
X128461961Y-69066666D01*
|
||||
X128461961Y-69066666D02*
|
||||
X128414342Y-69066666D01*
|
||||
X128414342Y-69066666D02*
|
||||
X128319104Y-69114285D01*
|
||||
X128319104Y-69114285D02*
|
||||
X128271485Y-69209523D01*
|
||||
X128271485Y-69209523D02*
|
||||
X128271485Y-69352380D01*
|
||||
X128271485Y-69352380D02*
|
||||
X128223866Y-69447618D01*
|
||||
X128223866Y-69447618D02*
|
||||
X128128628Y-69495237D01*
|
||||
X128128628Y-69495237D02*
|
||||
X128081009Y-69495237D01*
|
||||
X128081009Y-69495237D02*
|
||||
X127985771Y-69447618D01*
|
||||
X127985771Y-69447618D02*
|
||||
X127938152Y-69352380D01*
|
||||
X127938152Y-69352380D02*
|
||||
X127938152Y-69209523D01*
|
||||
X127938152Y-69209523D02*
|
||||
X127985771Y-69114285D01*
|
||||
X128604819Y-68638094D02*
|
||||
X127604819Y-68638094D01*
|
||||
X128604819Y-68209523D02*
|
||||
X128081009Y-68209523D01*
|
||||
X128081009Y-68209523D02*
|
||||
X127985771Y-68257142D01*
|
||||
X127985771Y-68257142D02*
|
||||
X127938152Y-68352380D01*
|
||||
X127938152Y-68352380D02*
|
||||
X127938152Y-68495237D01*
|
||||
X127938152Y-68495237D02*
|
||||
X127985771Y-68590475D01*
|
||||
X127985771Y-68590475D02*
|
||||
X128033390Y-68638094D01*
|
||||
X128604819Y-67590475D02*
|
||||
X128557200Y-67685713D01*
|
||||
X128557200Y-67685713D02*
|
||||
X128509580Y-67733332D01*
|
||||
X128509580Y-67733332D02*
|
||||
X128414342Y-67780951D01*
|
||||
X128414342Y-67780951D02*
|
||||
X128128628Y-67780951D01*
|
||||
X128128628Y-67780951D02*
|
||||
X128033390Y-67733332D01*
|
||||
X128033390Y-67733332D02*
|
||||
X127985771Y-67685713D01*
|
||||
X127985771Y-67685713D02*
|
||||
X127938152Y-67590475D01*
|
||||
X127938152Y-67590475D02*
|
||||
X127938152Y-67447618D01*
|
||||
X127938152Y-67447618D02*
|
||||
X127985771Y-67352380D01*
|
||||
X127985771Y-67352380D02*
|
||||
X128033390Y-67304761D01*
|
||||
X128033390Y-67304761D02*
|
||||
X128128628Y-67257142D01*
|
||||
X128128628Y-67257142D02*
|
||||
X128414342Y-67257142D01*
|
||||
X128414342Y-67257142D02*
|
||||
X128509580Y-67304761D01*
|
||||
X128509580Y-67304761D02*
|
||||
X128557200Y-67352380D01*
|
||||
X128557200Y-67352380D02*
|
||||
X128604819Y-67447618D01*
|
||||
X128604819Y-67447618D02*
|
||||
X128604819Y-67590475D01*
|
||||
X127938152Y-66923808D02*
|
||||
X128604819Y-66733332D01*
|
||||
X128604819Y-66733332D02*
|
||||
X128128628Y-66542856D01*
|
||||
X128128628Y-66542856D02*
|
||||
X128604819Y-66352380D01*
|
||||
X128604819Y-66352380D02*
|
||||
X127938152Y-66161904D01*
|
||||
X127938152Y-65780951D02*
|
||||
X128604819Y-65780951D01*
|
||||
X128033390Y-65780951D02*
|
||||
X127985771Y-65733332D01*
|
||||
X127985771Y-65733332D02*
|
||||
X127938152Y-65638094D01*
|
||||
X127938152Y-65638094D02*
|
||||
X127938152Y-65495237D01*
|
||||
X127938152Y-65495237D02*
|
||||
X127985771Y-65399999D01*
|
||||
X127985771Y-65399999D02*
|
||||
X128081009Y-65352380D01*
|
||||
X128081009Y-65352380D02*
|
||||
X128604819Y-65352380D01*
|
||||
X128604819Y-63971427D02*
|
||||
X128557200Y-64066665D01*
|
||||
X128557200Y-64066665D02*
|
||||
X128509580Y-64114284D01*
|
||||
X128509580Y-64114284D02*
|
||||
X128414342Y-64161903D01*
|
||||
X128414342Y-64161903D02*
|
||||
X128128628Y-64161903D01*
|
||||
X128128628Y-64161903D02*
|
||||
X128033390Y-64114284D01*
|
||||
X128033390Y-64114284D02*
|
||||
X127985771Y-64066665D01*
|
||||
X127985771Y-64066665D02*
|
||||
X127938152Y-63971427D01*
|
||||
X127938152Y-63971427D02*
|
||||
X127938152Y-63828570D01*
|
||||
X127938152Y-63828570D02*
|
||||
X127985771Y-63733332D01*
|
||||
X127985771Y-63733332D02*
|
||||
X128033390Y-63685713D01*
|
||||
X128033390Y-63685713D02*
|
||||
X128128628Y-63638094D01*
|
||||
X128128628Y-63638094D02*
|
||||
X128414342Y-63638094D01*
|
||||
X128414342Y-63638094D02*
|
||||
X128509580Y-63685713D01*
|
||||
X128509580Y-63685713D02*
|
||||
X128557200Y-63733332D01*
|
||||
X128557200Y-63733332D02*
|
||||
X128604819Y-63828570D01*
|
||||
X128604819Y-63828570D02*
|
||||
X128604819Y-63971427D01*
|
||||
X127938152Y-63209522D02*
|
||||
X128604819Y-63209522D01*
|
||||
X128033390Y-63209522D02*
|
||||
X127985771Y-63161903D01*
|
||||
X127985771Y-63161903D02*
|
||||
X127938152Y-63066665D01*
|
||||
X127938152Y-63066665D02*
|
||||
X127938152Y-62923808D01*
|
||||
X127938152Y-62923808D02*
|
||||
X127985771Y-62828570D01*
|
||||
X127985771Y-62828570D02*
|
||||
X128081009Y-62780951D01*
|
||||
X128081009Y-62780951D02*
|
||||
X128604819Y-62780951D01*
|
||||
X128604819Y-61542855D02*
|
||||
X127604819Y-61542855D01*
|
||||
X127604819Y-61542855D02*
|
||||
X127604819Y-61304760D01*
|
||||
X127604819Y-61304760D02*
|
||||
X127652438Y-61161903D01*
|
||||
X127652438Y-61161903D02*
|
||||
X127747676Y-61066665D01*
|
||||
X127747676Y-61066665D02*
|
||||
X127842914Y-61019046D01*
|
||||
X127842914Y-61019046D02*
|
||||
X128033390Y-60971427D01*
|
||||
X128033390Y-60971427D02*
|
||||
X128176247Y-60971427D01*
|
||||
X128176247Y-60971427D02*
|
||||
X128366723Y-61019046D01*
|
||||
X128366723Y-61019046D02*
|
||||
X128461961Y-61066665D01*
|
||||
X128461961Y-61066665D02*
|
||||
X128557200Y-61161903D01*
|
||||
X128557200Y-61161903D02*
|
||||
X128604819Y-61304760D01*
|
||||
X128604819Y-61304760D02*
|
||||
X128604819Y-61542855D01*
|
||||
X127938152Y-60638093D02*
|
||||
X128604819Y-60447617D01*
|
||||
X128604819Y-60447617D02*
|
||||
X128128628Y-60257141D01*
|
||||
X128128628Y-60257141D02*
|
||||
X128604819Y-60066665D01*
|
||||
X128604819Y-60066665D02*
|
||||
X127938152Y-59876189D01*
|
||||
X127938152Y-59066665D02*
|
||||
X128747676Y-59066665D01*
|
||||
X128747676Y-59066665D02*
|
||||
X128842914Y-59114284D01*
|
||||
X128842914Y-59114284D02*
|
||||
X128890533Y-59161903D01*
|
||||
X128890533Y-59161903D02*
|
||||
X128938152Y-59257141D01*
|
||||
X128938152Y-59257141D02*
|
||||
X128938152Y-59399998D01*
|
||||
X128938152Y-59399998D02*
|
||||
X128890533Y-59495236D01*
|
||||
X128557200Y-59066665D02*
|
||||
X128604819Y-59161903D01*
|
||||
X128604819Y-59161903D02*
|
||||
X128604819Y-59352379D01*
|
||||
X128604819Y-59352379D02*
|
||||
X128557200Y-59447617D01*
|
||||
X128557200Y-59447617D02*
|
||||
X128509580Y-59495236D01*
|
||||
X128509580Y-59495236D02*
|
||||
X128414342Y-59542855D01*
|
||||
X128414342Y-59542855D02*
|
||||
X128128628Y-59542855D01*
|
||||
X128128628Y-59542855D02*
|
||||
X128033390Y-59495236D01*
|
||||
X128033390Y-59495236D02*
|
||||
X127985771Y-59447617D01*
|
||||
X127985771Y-59447617D02*
|
||||
X127938152Y-59352379D01*
|
||||
X127938152Y-59352379D02*
|
||||
X127938152Y-59161903D01*
|
||||
X127938152Y-59161903D02*
|
||||
X127985771Y-59066665D01*
|
||||
X128557200Y-58638093D02*
|
||||
X128604819Y-58542855D01*
|
||||
X128604819Y-58542855D02*
|
||||
X128604819Y-58352379D01*
|
||||
X128604819Y-58352379D02*
|
||||
X128557200Y-58257141D01*
|
||||
X128557200Y-58257141D02*
|
||||
X128461961Y-58209522D01*
|
||||
X128461961Y-58209522D02*
|
||||
X128414342Y-58209522D01*
|
||||
X128414342Y-58209522D02*
|
||||
X128319104Y-58257141D01*
|
||||
X128319104Y-58257141D02*
|
||||
X128271485Y-58352379D01*
|
||||
X128271485Y-58352379D02*
|
||||
X128271485Y-58495236D01*
|
||||
X128271485Y-58495236D02*
|
||||
X128223866Y-58590474D01*
|
||||
X128223866Y-58590474D02*
|
||||
X128128628Y-58638093D01*
|
||||
X128128628Y-58638093D02*
|
||||
X128081009Y-58638093D01*
|
||||
X128081009Y-58638093D02*
|
||||
X127985771Y-58590474D01*
|
||||
X127985771Y-58590474D02*
|
||||
X127938152Y-58495236D01*
|
||||
X127938152Y-58495236D02*
|
||||
X127938152Y-58352379D01*
|
||||
X127938152Y-58352379D02*
|
||||
X127985771Y-58257141D01*
|
||||
X128604819Y-56876188D02*
|
||||
X128557200Y-56971426D01*
|
||||
X128557200Y-56971426D02*
|
||||
X128461961Y-57019045D01*
|
||||
X128461961Y-57019045D02*
|
||||
X127604819Y-57019045D01*
|
||||
X128604819Y-56066664D02*
|
||||
X128081009Y-56066664D01*
|
||||
X128081009Y-56066664D02*
|
||||
X127985771Y-56114283D01*
|
||||
X127985771Y-56114283D02*
|
||||
X127938152Y-56209521D01*
|
||||
X127938152Y-56209521D02*
|
||||
X127938152Y-56399997D01*
|
||||
X127938152Y-56399997D02*
|
||||
X127985771Y-56495235D01*
|
||||
X128557200Y-56066664D02*
|
||||
X128604819Y-56161902D01*
|
||||
X128604819Y-56161902D02*
|
||||
X128604819Y-56399997D01*
|
||||
X128604819Y-56399997D02*
|
||||
X128557200Y-56495235D01*
|
||||
X128557200Y-56495235D02*
|
||||
X128461961Y-56542854D01*
|
||||
X128461961Y-56542854D02*
|
||||
X128366723Y-56542854D01*
|
||||
X128366723Y-56542854D02*
|
||||
X128271485Y-56495235D01*
|
||||
X128271485Y-56495235D02*
|
||||
X128223866Y-56399997D01*
|
||||
X128223866Y-56399997D02*
|
||||
X128223866Y-56161902D01*
|
||||
X128223866Y-56161902D02*
|
||||
X128176247Y-56066664D01*
|
||||
X127938152Y-55685711D02*
|
||||
X128604819Y-55447616D01*
|
||||
X127938152Y-55209521D02*
|
||||
X128604819Y-55447616D01*
|
||||
X128604819Y-55447616D02*
|
||||
X128842914Y-55542854D01*
|
||||
X128842914Y-55542854D02*
|
||||
X128890533Y-55590473D01*
|
||||
X128890533Y-55590473D02*
|
||||
X128938152Y-55685711D01*
|
||||
X128557200Y-54447616D02*
|
||||
X128604819Y-54542854D01*
|
||||
X128604819Y-54542854D02*
|
||||
X128604819Y-54733330D01*
|
||||
X128604819Y-54733330D02*
|
||||
X128557200Y-54828568D01*
|
||||
X128557200Y-54828568D02*
|
||||
X128461961Y-54876187D01*
|
||||
X128461961Y-54876187D02*
|
||||
X128081009Y-54876187D01*
|
||||
X128081009Y-54876187D02*
|
||||
X127985771Y-54828568D01*
|
||||
X127985771Y-54828568D02*
|
||||
X127938152Y-54733330D01*
|
||||
X127938152Y-54733330D02*
|
||||
X127938152Y-54542854D01*
|
||||
X127938152Y-54542854D02*
|
||||
X127985771Y-54447616D01*
|
||||
X127985771Y-54447616D02*
|
||||
X128081009Y-54399997D01*
|
||||
X128081009Y-54399997D02*
|
||||
X128176247Y-54399997D01*
|
||||
X128176247Y-54399997D02*
|
||||
X128271485Y-54876187D01*
|
||||
X128604819Y-53971425D02*
|
||||
X127938152Y-53971425D01*
|
||||
X128128628Y-53971425D02*
|
||||
X128033390Y-53923806D01*
|
||||
X128033390Y-53923806D02*
|
||||
X127985771Y-53876187D01*
|
||||
X127985771Y-53876187D02*
|
||||
X127938152Y-53780949D01*
|
||||
X127938152Y-53780949D02*
|
||||
X127938152Y-53685711D01*
|
||||
%TO.C,H5*%
|
||||
X184790991Y-91090997D02*
|
||||
G75*
|
||||
G02*
|
||||
X179390991Y-91090997I-2700000J0D01*
|
||||
G01*
|
||||
X179390991Y-91090997D02*
|
||||
G75*
|
||||
G02*
|
||||
X184790991Y-91090997I2700000J0D01*
|
||||
G01*
|
||||
%TO.C,H4*%
|
||||
X230290991Y-45590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X224890991Y-45590997I-2700000J0D01*
|
||||
G01*
|
||||
X224890991Y-45590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X230290991Y-45590997I2700000J0D01*
|
||||
G01*
|
||||
%TO.C,H3*%
|
||||
X230290991Y-136590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X224890991Y-136590997I-2700000J0D01*
|
||||
G01*
|
||||
X224890991Y-136590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X230290991Y-136590997I2700000J0D01*
|
||||
G01*
|
||||
%TO.C,H2*%
|
||||
X139290991Y-136590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X133890991Y-136590997I-2700000J0D01*
|
||||
G01*
|
||||
X133890991Y-136590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X139290991Y-136590997I2700000J0D01*
|
||||
G01*
|
||||
%TO.C,H1*%
|
||||
X139290991Y-45590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X133890991Y-45590997I-2700000J0D01*
|
||||
G01*
|
||||
X133890991Y-45590997D02*
|
||||
G75*
|
||||
G02*
|
||||
X139290991Y-45590997I2700000J0D01*
|
||||
G01*
|
||||
%TD*%
|
||||
M02*
|
8
hardware/butns/jlcpcb/production_files/BOM-butns.csv
Normal file
8
hardware/butns/jlcpcb/production_files/BOM-butns.csv
Normal file
|
@ -0,0 +1,8 @@
|
|||
Comment,Designator,Footprint,LCSC,Quantity
|
||||
100nF,"C1,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C2,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C3,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C4,C40,C41,C42,C43,C44,C45,C46,C47,C48,C49,C5,C50,C51,C52,C53,C54,C55,C56,C57,C58,C59,C6,C60,C61,C62,C63,C64,C65,C7,C8,C9",C_0603_1608Metric,C14663,65
|
||||
1N4148WS,"D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D2,D20,D21,D22,D23,D24,D25,D26,D27,D28,D29,D3,D30,D31,D32,D33,D34,D35,D36,D37,D38,D39,D4,D40,D41,D42,D43,D44,D45,D46,D47,D48,D49,D5,D50,D51,D52,D53,D54,D55,D56,D57,D58,D59,D6,D60,D61,D62,D63,D64,D65,D7,D8,D9",D_SOD-323,C2128,64
|
||||
SK6812-EC20,"D1,D100,D101,D102,D103,D104,D105,D106,D107,D108,D109,D110,D111,D112,D113,D114,D115,D116,D117,D118,D119,D120,D121,D122,D123,D124,D125,D126,D127,D128,D66,D67,D68,D69,D70,D71,D72,D73,D74,D75,D76,D77,D78,D79,D80,D81,D82,D83,D84,D85,D86,D87,D88,D89,D90,D91,D92,D93,D94,D95,D96,D97,D98,D99",SK6812-EC20,C2909058,64
|
||||
SW_Push,"SW1,SW10,SW11,SW12,SW13,SW14,SW15,SW16,SW17,SW18,SW19,SW2,SW20,SW21,SW22,SW23,SW24,SW25,SW26,SW27,SW28,SW29,SW3,SW30,SW31,SW32,SW33,SW34,SW35,SW36,SW37,SW38,SW39,SW4,SW40,SW41,SW42,SW43,SW44,SW45,SW46,SW47,SW48,SW49,SW5,SW50,SW51,SW52,SW53,SW54,SW55,SW56,SW57,SW58,SW59,SW6,SW60,SW61,SW62,SW63,SW64,SW7,SW8,SW9",SW_Push_1P1T_XKB_TS-1187A,C318884,64
|
||||
74LVC1G17,U2,SOT-23-5_HandSoldering,C7836,1
|
||||
Conn_01x08,J1,PinHeader_1x08_P2.54mm_Vertical_SMD_Pin1Left,,1
|
||||
Pico,U1,RPi_Pico_SMD_TH,,1
|
|
261
hardware/butns/jlcpcb/production_files/CPL-butns.csv
Normal file
261
hardware/butns/jlcpcb/production_files/CPL-butns.csv
Normal file
|
@ -0,0 +1,261 @@
|
|||
Designator,Val,Package,Mid X,Mid Y,Rotation,Layer
|
||||
C1,100nF,C_0603_1608Metric,146.5,-49.0,180.0,top
|
||||
C10,100nF,C_0603_1608Metric,157.93,-60.4,180.0,top
|
||||
C11,100nF,C_0603_1608Metric,169.36,-60.4,180.0,top
|
||||
C12,100nF,C_0603_1608Metric,180.79,-60.4,180.0,top
|
||||
C13,100nF,C_0603_1608Metric,192.22,-60.4,180.0,top
|
||||
C14,100nF,C_0603_1608Metric,203.65,-60.4,180.0,top
|
||||
C15,100nF,C_0603_1608Metric,215.08,-60.4,180.0,top
|
||||
C16,100nF,C_0603_1608Metric,226.51,-60.4,180.0,top
|
||||
C17,100nF,C_0603_1608Metric,146.5,-71.8,180.0,top
|
||||
C18,100nF,C_0603_1608Metric,157.93,-71.8,180.0,top
|
||||
C19,100nF,C_0603_1608Metric,169.36,-71.8,180.0,top
|
||||
C2,100nF,C_0603_1608Metric,157.93,-49.0,180.0,top
|
||||
C20,100nF,C_0603_1608Metric,180.79,-71.8,180.0,top
|
||||
C21,100nF,C_0603_1608Metric,192.22,-71.8,180.0,top
|
||||
C22,100nF,C_0603_1608Metric,203.65,-71.8,180.0,top
|
||||
C23,100nF,C_0603_1608Metric,215.08,-71.8,180.0,top
|
||||
C24,100nF,C_0603_1608Metric,226.51,-71.8,180.0,top
|
||||
C25,100nF,C_0603_1608Metric,146.5,-83.2,180.0,top
|
||||
C26,100nF,C_0603_1608Metric,157.93,-83.2,180.0,top
|
||||
C27,100nF,C_0603_1608Metric,169.36,-83.2,180.0,top
|
||||
C28,100nF,C_0603_1608Metric,180.79,-83.2,180.0,top
|
||||
C29,100nF,C_0603_1608Metric,192.22,-83.2,180.0,top
|
||||
C3,100nF,C_0603_1608Metric,169.36,-49.0,180.0,top
|
||||
C30,100nF,C_0603_1608Metric,203.65,-83.2,180.0,top
|
||||
C31,100nF,C_0603_1608Metric,215.08,-83.2,180.0,top
|
||||
C32,100nF,C_0603_1608Metric,226.51,-83.2,180.0,top
|
||||
C33,100nF,C_0603_1608Metric,146.5,-94.6,180.0,top
|
||||
C34,100nF,C_0603_1608Metric,157.93,-94.6,180.0,top
|
||||
C35,100nF,C_0603_1608Metric,169.36,-94.6,180.0,top
|
||||
C36,100nF,C_0603_1608Metric,180.79,-94.6,180.0,top
|
||||
C37,100nF,C_0603_1608Metric,192.22,-94.6,180.0,top
|
||||
C38,100nF,C_0603_1608Metric,203.65,-94.6,180.0,top
|
||||
C39,100nF,C_0603_1608Metric,215.08,-94.6,180.0,top
|
||||
C4,100nF,C_0603_1608Metric,180.79,-49.0,180.0,top
|
||||
C40,100nF,C_0603_1608Metric,226.51,-94.6,180.0,top
|
||||
C41,100nF,C_0603_1608Metric,146.5,-106.0,180.0,top
|
||||
C42,100nF,C_0603_1608Metric,157.93,-106.0,180.0,top
|
||||
C43,100nF,C_0603_1608Metric,169.36,-106.0,180.0,top
|
||||
C44,100nF,C_0603_1608Metric,180.79,-106.0,180.0,top
|
||||
C45,100nF,C_0603_1608Metric,192.22,-106.0,180.0,top
|
||||
C46,100nF,C_0603_1608Metric,203.65,-106.0,180.0,top
|
||||
C47,100nF,C_0603_1608Metric,215.08,-106.0,180.0,top
|
||||
C48,100nF,C_0603_1608Metric,226.51,-106.0,180.0,top
|
||||
C49,100nF,C_0603_1608Metric,146.5,-117.4,180.0,top
|
||||
C5,100nF,C_0603_1608Metric,192.22,-49.0,180.0,top
|
||||
C50,100nF,C_0603_1608Metric,157.93,-117.4,180.0,top
|
||||
C51,100nF,C_0603_1608Metric,169.36,-117.4,180.0,top
|
||||
C52,100nF,C_0603_1608Metric,180.79,-117.4,180.0,top
|
||||
C53,100nF,C_0603_1608Metric,192.22,-117.4,180.0,top
|
||||
C54,100nF,C_0603_1608Metric,203.65,-117.4,180.0,top
|
||||
C55,100nF,C_0603_1608Metric,215.08,-117.4,180.0,top
|
||||
C56,100nF,C_0603_1608Metric,226.51,-117.4,180.0,top
|
||||
C57,100nF,C_0603_1608Metric,146.5,-128.8,180.0,top
|
||||
C58,100nF,C_0603_1608Metric,157.93,-128.8,180.0,top
|
||||
C59,100nF,C_0603_1608Metric,169.36,-128.8,180.0,top
|
||||
C6,100nF,C_0603_1608Metric,203.65,-49.0,180.0,top
|
||||
C60,100nF,C_0603_1608Metric,180.79,-128.8,180.0,top
|
||||
C61,100nF,C_0603_1608Metric,192.22,-128.8,180.0,top
|
||||
C62,100nF,C_0603_1608Metric,203.65,-128.8,180.0,top
|
||||
C63,100nF,C_0603_1608Metric,215.08,-128.8,180.0,top
|
||||
C64,100nF,C_0603_1608Metric,226.51,-128.8,180.0,top
|
||||
C65,100nF,C_0603_1608Metric,134.62,-52.578,90.0,top
|
||||
C7,100nF,C_0603_1608Metric,215.08,-49.0,180.0,top
|
||||
C8,100nF,C_0603_1608Metric,226.51,-49.0,180.0,top
|
||||
C9,100nF,C_0603_1608Metric,146.5,-60.4,180.0,top
|
||||
D1,SK6812-EC20,SK6812-EC20,146.25,-51.1,90.0,top
|
||||
D10,1N4148WS,D_SOD-323,138.25,-62.5,90.0,top
|
||||
D100,SK6812-EC20,SK6812-EC20,180.54,-96.7,90.0,top
|
||||
D101,SK6812-EC20,SK6812-EC20,191.97,-96.7,90.0,top
|
||||
D102,SK6812-EC20,SK6812-EC20,203.4,-96.7,90.0,top
|
||||
D103,SK6812-EC20,SK6812-EC20,214.83,-96.7,90.0,top
|
||||
D104,SK6812-EC20,SK6812-EC20,226.26,-96.7,90.0,top
|
||||
D105,SK6812-EC20,SK6812-EC20,146.25,-108.1,90.0,top
|
||||
D106,SK6812-EC20,SK6812-EC20,157.68,-108.1,90.0,top
|
||||
D107,SK6812-EC20,SK6812-EC20,169.11,-108.1,90.0,top
|
||||
D108,SK6812-EC20,SK6812-EC20,180.54,-108.1,90.0,top
|
||||
D109,SK6812-EC20,SK6812-EC20,191.97,-108.1,90.0,top
|
||||
D11,1N4148WS,D_SOD-323,149.68,-62.5,90.0,top
|
||||
D110,SK6812-EC20,SK6812-EC20,203.4,-108.1,90.0,top
|
||||
D111,SK6812-EC20,SK6812-EC20,214.83,-108.1,90.0,top
|
||||
D112,SK6812-EC20,SK6812-EC20,226.26,-108.1,90.0,top
|
||||
D113,SK6812-EC20,SK6812-EC20,146.25,-119.5,90.0,top
|
||||
D114,SK6812-EC20,SK6812-EC20,157.68,-119.5,90.0,top
|
||||
D115,SK6812-EC20,SK6812-EC20,169.11,-119.5,90.0,top
|
||||
D116,SK6812-EC20,SK6812-EC20,180.54,-119.5,90.0,top
|
||||
D117,SK6812-EC20,SK6812-EC20,191.97,-119.5,90.0,top
|
||||
D118,SK6812-EC20,SK6812-EC20,203.4,-119.5,90.0,top
|
||||
D119,SK6812-EC20,SK6812-EC20,214.83,-119.5,90.0,top
|
||||
D12,1N4148WS,D_SOD-323,161.11,-62.5,90.0,top
|
||||
D120,SK6812-EC20,SK6812-EC20,226.26,-119.5,90.0,top
|
||||
D121,SK6812-EC20,SK6812-EC20,146.25,-130.9,90.0,top
|
||||
D122,SK6812-EC20,SK6812-EC20,157.68,-130.9,90.0,top
|
||||
D123,SK6812-EC20,SK6812-EC20,169.11,-130.9,90.0,top
|
||||
D124,SK6812-EC20,SK6812-EC20,180.54,-130.9,90.0,top
|
||||
D125,SK6812-EC20,SK6812-EC20,191.97,-130.9,90.0,top
|
||||
D126,SK6812-EC20,SK6812-EC20,203.4,-130.9,90.0,top
|
||||
D127,SK6812-EC20,SK6812-EC20,214.83,-130.9,90.0,top
|
||||
D128,SK6812-EC20,SK6812-EC20,226.26,-130.9,90.0,top
|
||||
D13,1N4148WS,D_SOD-323,172.54,-62.5,90.0,top
|
||||
D14,1N4148WS,D_SOD-323,183.97,-62.5,90.0,top
|
||||
D15,1N4148WS,D_SOD-323,195.4,-62.5,90.0,top
|
||||
D16,1N4148WS,D_SOD-323,206.83,-62.5,90.0,top
|
||||
D17,1N4148WS,D_SOD-323,218.26,-62.5,90.0,top
|
||||
D18,1N4148WS,D_SOD-323,138.25,-73.9,90.0,top
|
||||
D19,1N4148WS,D_SOD-323,149.68,-73.9,90.0,top
|
||||
D2,1N4148WS,D_SOD-323,138.25,-51.1,90.0,top
|
||||
D20,1N4148WS,D_SOD-323,161.11,-73.9,90.0,top
|
||||
D21,1N4148WS,D_SOD-323,172.54,-73.9,90.0,top
|
||||
D22,1N4148WS,D_SOD-323,183.97,-73.9,90.0,top
|
||||
D23,1N4148WS,D_SOD-323,195.4,-73.9,90.0,top
|
||||
D24,1N4148WS,D_SOD-323,206.83,-73.9,90.0,top
|
||||
D25,1N4148WS,D_SOD-323,218.26,-73.9,90.0,top
|
||||
D26,1N4148WS,D_SOD-323,138.25,-85.3,90.0,top
|
||||
D27,1N4148WS,D_SOD-323,149.68,-85.3,90.0,top
|
||||
D28,1N4148WS,D_SOD-323,161.11,-85.3,90.0,top
|
||||
D29,1N4148WS,D_SOD-323,172.54,-85.3,90.0,top
|
||||
D3,1N4148WS,D_SOD-323,149.68,-51.1,90.0,top
|
||||
D30,1N4148WS,D_SOD-323,183.97,-85.3,90.0,top
|
||||
D31,1N4148WS,D_SOD-323,195.4,-85.3,90.0,top
|
||||
D32,1N4148WS,D_SOD-323,206.83,-85.3,90.0,top
|
||||
D33,1N4148WS,D_SOD-323,218.26,-85.3,90.0,top
|
||||
D34,1N4148WS,D_SOD-323,138.25,-96.7,90.0,top
|
||||
D35,1N4148WS,D_SOD-323,149.68,-96.7,90.0,top
|
||||
D36,1N4148WS,D_SOD-323,161.11,-96.7,90.0,top
|
||||
D37,1N4148WS,D_SOD-323,172.54,-96.7,90.0,top
|
||||
D38,1N4148WS,D_SOD-323,183.97,-96.7,90.0,top
|
||||
D39,1N4148WS,D_SOD-323,195.4,-96.7,90.0,top
|
||||
D4,1N4148WS,D_SOD-323,161.11,-51.1,90.0,top
|
||||
D40,1N4148WS,D_SOD-323,206.83,-96.7,90.0,top
|
||||
D41,1N4148WS,D_SOD-323,218.26,-96.7,90.0,top
|
||||
D42,1N4148WS,D_SOD-323,138.25,-108.1,90.0,top
|
||||
D43,1N4148WS,D_SOD-323,149.68,-108.1,90.0,top
|
||||
D44,1N4148WS,D_SOD-323,161.11,-108.1,90.0,top
|
||||
D45,1N4148WS,D_SOD-323,172.54,-108.1,90.0,top
|
||||
D46,1N4148WS,D_SOD-323,183.97,-108.1,90.0,top
|
||||
D47,1N4148WS,D_SOD-323,195.4,-108.1,90.0,top
|
||||
D48,1N4148WS,D_SOD-323,206.83,-108.1,90.0,top
|
||||
D49,1N4148WS,D_SOD-323,218.26,-108.1,90.0,top
|
||||
D5,1N4148WS,D_SOD-323,172.54,-51.1,90.0,top
|
||||
D50,1N4148WS,D_SOD-323,138.25,-119.5,90.0,top
|
||||
D51,1N4148WS,D_SOD-323,149.68,-119.5,90.0,top
|
||||
D52,1N4148WS,D_SOD-323,161.11,-119.5,90.0,top
|
||||
D53,1N4148WS,D_SOD-323,172.54,-119.5,90.0,top
|
||||
D54,1N4148WS,D_SOD-323,183.97,-119.5,90.0,top
|
||||
D55,1N4148WS,D_SOD-323,195.4,-119.5,90.0,top
|
||||
D56,1N4148WS,D_SOD-323,206.83,-119.5,90.0,top
|
||||
D57,1N4148WS,D_SOD-323,218.26,-119.5,90.0,top
|
||||
D58,1N4148WS,D_SOD-323,138.25,-130.9,90.0,top
|
||||
D59,1N4148WS,D_SOD-323,149.68,-130.9,90.0,top
|
||||
D6,1N4148WS,D_SOD-323,183.97,-51.1,90.0,top
|
||||
D60,1N4148WS,D_SOD-323,161.11,-130.9,90.0,top
|
||||
D61,1N4148WS,D_SOD-323,172.54,-130.9,90.0,top
|
||||
D62,1N4148WS,D_SOD-323,183.97,-130.9,90.0,top
|
||||
D63,1N4148WS,D_SOD-323,195.4,-130.9,90.0,top
|
||||
D64,1N4148WS,D_SOD-323,206.83,-130.9,90.0,top
|
||||
D65,1N4148WS,D_SOD-323,218.26,-130.9,90.0,top
|
||||
D66,SK6812-EC20,SK6812-EC20,157.68,-51.1,90.0,top
|
||||
D67,SK6812-EC20,SK6812-EC20,169.11,-51.1,90.0,top
|
||||
D68,SK6812-EC20,SK6812-EC20,180.54,-51.1,90.0,top
|
||||
D69,SK6812-EC20,SK6812-EC20,191.97,-51.1,90.0,top
|
||||
D7,1N4148WS,D_SOD-323,195.4,-51.1,90.0,top
|
||||
D70,SK6812-EC20,SK6812-EC20,203.4,-51.1,90.0,top
|
||||
D71,SK6812-EC20,SK6812-EC20,214.83,-51.1,90.0,top
|
||||
D72,SK6812-EC20,SK6812-EC20,226.26,-51.1,90.0,top
|
||||
D73,SK6812-EC20,SK6812-EC20,146.25,-62.5,90.0,top
|
||||
D74,SK6812-EC20,SK6812-EC20,157.68,-62.5,90.0,top
|
||||
D75,SK6812-EC20,SK6812-EC20,169.11,-62.5,90.0,top
|
||||
D76,SK6812-EC20,SK6812-EC20,180.54,-62.5,90.0,top
|
||||
D77,SK6812-EC20,SK6812-EC20,191.97,-62.5,90.0,top
|
||||
D78,SK6812-EC20,SK6812-EC20,203.4,-62.5,90.0,top
|
||||
D79,SK6812-EC20,SK6812-EC20,214.83,-62.5,90.0,top
|
||||
D8,1N4148WS,D_SOD-323,206.83,-51.1,90.0,top
|
||||
D80,SK6812-EC20,SK6812-EC20,226.26,-62.5,90.0,top
|
||||
D81,SK6812-EC20,SK6812-EC20,146.25,-73.9,90.0,top
|
||||
D82,SK6812-EC20,SK6812-EC20,157.68,-73.9,90.0,top
|
||||
D83,SK6812-EC20,SK6812-EC20,169.11,-73.9,90.0,top
|
||||
D84,SK6812-EC20,SK6812-EC20,180.54,-73.9,90.0,top
|
||||
D85,SK6812-EC20,SK6812-EC20,191.97,-73.9,90.0,top
|
||||
D86,SK6812-EC20,SK6812-EC20,203.4,-73.9,90.0,top
|
||||
D87,SK6812-EC20,SK6812-EC20,214.83,-73.9,90.0,top
|
||||
D88,SK6812-EC20,SK6812-EC20,226.26,-73.9,90.0,top
|
||||
D89,SK6812-EC20,SK6812-EC20,146.25,-85.3,90.0,top
|
||||
D9,1N4148WS,D_SOD-323,218.26,-51.1,90.0,top
|
||||
D90,SK6812-EC20,SK6812-EC20,157.68,-85.3,90.0,top
|
||||
D91,SK6812-EC20,SK6812-EC20,169.11,-85.3,90.0,top
|
||||
D92,SK6812-EC20,SK6812-EC20,180.54,-85.3,90.0,top
|
||||
D93,SK6812-EC20,SK6812-EC20,191.97,-85.3,90.0,top
|
||||
D94,SK6812-EC20,SK6812-EC20,203.4,-85.3,90.0,top
|
||||
D95,SK6812-EC20,SK6812-EC20,214.83,-85.3,90.0,top
|
||||
D96,SK6812-EC20,SK6812-EC20,226.26,-85.3,90.0,top
|
||||
D97,SK6812-EC20,SK6812-EC20,146.25,-96.7,90.0,top
|
||||
D98,SK6812-EC20,SK6812-EC20,157.68,-96.7,90.0,top
|
||||
D99,SK6812-EC20,SK6812-EC20,169.11,-96.7,90.0,top
|
||||
J1,Conn_01x08,PinHeader_1x08_P2.54mm_Vertical_SMD_Pin1Left,192.445,-91.090997,180.0,bottom
|
||||
SW1,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-51.1,90.0,top
|
||||
SW10,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-62.5,90.0,top
|
||||
SW11,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-62.5,90.0,top
|
||||
SW12,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-62.5,90.0,top
|
||||
SW13,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-62.5,90.0,top
|
||||
SW14,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-62.5,90.0,top
|
||||
SW15,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-62.5,90.0,top
|
||||
SW16,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-62.5,90.0,top
|
||||
SW17,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-73.95,90.0,top
|
||||
SW18,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-73.95,90.0,top
|
||||
SW19,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-73.95,90.0,top
|
||||
SW2,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-51.1,90.0,top
|
||||
SW20,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-73.95,90.0,top
|
||||
SW21,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-73.95,90.0,top
|
||||
SW22,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-73.95,90.0,top
|
||||
SW23,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-73.95,90.0,top
|
||||
SW24,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-73.95,90.0,top
|
||||
SW25,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-85.375997,90.0,top
|
||||
SW26,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-85.375997,90.0,top
|
||||
SW27,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-85.375997,90.0,top
|
||||
SW28,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-85.375997,90.0,top
|
||||
SW29,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-85.375997,90.0,top
|
||||
SW3,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-51.1,90.0,top
|
||||
SW30,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-85.375997,90.0,top
|
||||
SW31,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-85.35,90.0,top
|
||||
SW32,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-85.35,90.0,top
|
||||
SW33,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-96.805996,90.0,top
|
||||
SW34,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-96.805996,90.0,top
|
||||
SW35,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-96.805996,90.0,top
|
||||
SW36,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-96.805996,90.0,top
|
||||
SW37,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-96.805996,90.0,top
|
||||
SW38,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-96.805996,90.0,top
|
||||
SW39,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-96.805996,90.0,top
|
||||
SW4,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-51.1,90.0,top
|
||||
SW40,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-96.805996,90.0,top
|
||||
SW41,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-108.235996,90.0,top
|
||||
SW42,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-108.235996,90.0,top
|
||||
SW43,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-108.235996,90.0,top
|
||||
SW44,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-108.235996,90.0,top
|
||||
SW45,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-108.235996,90.0,top
|
||||
SW46,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-108.235996,90.0,top
|
||||
SW47,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-108.235996,90.0,top
|
||||
SW48,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-108.235996,90.0,top
|
||||
SW49,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-119.665996,90.0,top
|
||||
SW5,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-51.1,90.0,top
|
||||
SW50,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-119.665996,90.0,top
|
||||
SW51,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-119.665996,90.0,top
|
||||
SW52,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-119.665996,90.0,top
|
||||
SW53,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-119.665996,90.0,top
|
||||
SW54,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-119.665996,90.0,top
|
||||
SW55,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-119.665996,90.0,top
|
||||
SW56,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-119.665996,90.0,top
|
||||
SW57,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-131.095996,90.0,top
|
||||
SW58,SW_Push,SW_Push_1P1T_XKB_TS-1187A,153.515991,-131.095996,90.0,top
|
||||
SW59,SW_Push,SW_Push_1P1T_XKB_TS-1187A,164.945991,-131.095996,90.0,top
|
||||
SW6,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-51.1,90.0,top
|
||||
SW60,SW_Push,SW_Push_1P1T_XKB_TS-1187A,176.375991,-131.095996,90.0,top
|
||||
SW61,SW_Push,SW_Push_1P1T_XKB_TS-1187A,187.805991,-131.095996,90.0,top
|
||||
SW62,SW_Push,SW_Push_1P1T_XKB_TS-1187A,199.235991,-131.095996,90.0,top
|
||||
SW63,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-131.095996,90.0,top
|
||||
SW64,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-131.095996,90.0,top
|
||||
SW7,SW_Push,SW_Push_1P1T_XKB_TS-1187A,210.665991,-51.1,90.0,top
|
||||
SW8,SW_Push,SW_Push_1P1T_XKB_TS-1187A,222.095991,-51.1,90.0,top
|
||||
SW9,SW_Push,SW_Push_1P1T_XKB_TS-1187A,142.085991,-62.5,90.0,top
|
||||
U1,Pico,RPi_Pico_SMD_TH,159.135,-68.3,270.0,bottom
|
||||
U2,74LVC1G17,SOT-23-5_HandSoldering,135.702,-56.468,90.0,top
|
|
BIN
hardware/butns/jlcpcb/production_files/GERBER-butns.zip
Normal file
BIN
hardware/butns/jlcpcb/production_files/GERBER-butns.zip
Normal file
Binary file not shown.
BIN
hardware/butns/jlcpcb/project.db
Normal file
BIN
hardware/butns/jlcpcb/project.db
Normal file
Binary file not shown.
35919
hardware/butns/model/Raspberry Pi Pico.step
Normal file
35919
hardware/butns/model/Raspberry Pi Pico.step
Normal file
File diff suppressed because it is too large
Load diff
161854
hardware/butns/model/butns.wrl
Normal file
161854
hardware/butns/model/butns.wrl
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/butns/model/picow.stl
Normal file
BIN
hardware/butns/model/picow.stl
Normal file
Binary file not shown.
208
hardware/butns/model/shapes3D/C_0603_1608Metric.wrl
Normal file
208
hardware/butns/model/shapes3D/C_0603_1608Metric.wrl
Normal file
|
@ -0,0 +1,208 @@
|
|||
#VRML V2.0 utf8
|
||||
#kicad StepUp wrl exported
|
||||
|
||||
# Copyright (C) 2017, kicad StepUp
|
||||
#
|
||||
# This work is licensed under the [Creative Commons CC-BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/legalcode),
|
||||
# with the following exception:
|
||||
# To the extent that the creation of electronic designs that use 'Licensed Material' can be considered to be 'Adapted Material',
|
||||
# then the copyright holder waives article 3 of the license with respect to these designs and any generated files which use data provided
|
||||
# as part of the 'Licensed Material'.
|
||||
# You are free to use the library data in your own projects without the obligation to share your project files under this or any other license agreement.
|
||||
# However, if you wish to redistribute these libraries, or parts thereof (including in modified form) as a collection then the exception above does not apply.
|
||||
# Please refer to https://github.com/KiCad/kicad-packages3D/blob/master/LICENSE.md for further clarification of the exception.
|
||||
# Disclaimer of Warranties and Limitation of Liability.
|
||||
# These libraries are provided in the hope that they will be useful, but are provided without warranty of any kind, express or implied.
|
||||
# *USE 3D CAD DATA AT YOUR OWN RISK*
|
||||
# *DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.*
|
||||
#
|
||||
Shape {
|
||||
appearance Appearance {material DEF PIN-01 Material {
|
||||
ambientIntensity 0.271
|
||||
diffuseColor 0.824 0.82 0.781
|
||||
specularColor 0.328 0.258 0.172
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.7
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape {
|
||||
appearance Appearance {material DEF CAP-CERAMIC-06 Material {
|
||||
ambientIntensity 0.453
|
||||
diffuseColor 0.379 0.27 0.215
|
||||
specularColor 0.223 0.223 0.223
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.15
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,1,3,-1,5,1,6,-1,7,1,5,-1,2,1,7,-1,8,9,10,-1,11,9,8,-1,12,9,11,-1,13,9,12,-1,14,9,13,-1,15,9,14,-1,16,17,18,-1,18,17,19,-1,19,17,20,-1,20,17,21,-1,21,17,22,-1,22,17,23,-1,24,25,26,-1,26,25,27,-1,27,25,28,-1,28,25,29,-1,29,25,30,-1,30,25,31,-1,2,7,25,-1,31,7,9,-1,10,7,16,-1,9,7,10,-1,25,7,31,-1,16,7,17,-1]
|
||||
coord Coordinate { point [-0.315 -0.157 0.306,-0.315 -0.153 0.312,-0.315 -0.157 0.303,-0.315 -0.156 0.308,-0.315 -0.155 0.311,-0.315 -0.148 0.315,-0.315 -0.151 0.314,-0.315 -0.146 0.315,-0.315 0.157 0.009,-0.315 0.146 0.000,-0.315 0.157 0.012,-0.315 0.156 0.007,-0.315 0.155 0.004,-0.315 0.153 0.003,-0.315 0.151 0.001,-0.315 0.148 0.000,-0.315 0.157 0.303,-0.315 0.146 0.315,-0.315 0.157 0.306,-0.315 0.156 0.308,-0.315 0.155 0.311,-0.315 0.153 0.312,-0.315 0.151 0.314,-0.315 0.148 0.315,-0.315 -0.157 0.009,-0.315 -0.157 0.012,-0.315 -0.156 0.007,-0.315 -0.155 0.004,-0.315 -0.153 0.003,-0.315 -0.151 0.001,-0.315 -0.148 0.000,-0.315 -0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.197 -0.157 0.012,-0.197 -0.157 0.303,-0.315 -0.157 0.012,-0.315 -0.157 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,2,5,-1,4,0,2,-1,6,5,7,-1,6,4,5,-1,8,7,9,-1,8,6,7,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1]
|
||||
coord Coordinate { point [-0.197 -0.157 0.009,-0.315 -0.157 0.012,-0.315 -0.157 0.009,-0.197 -0.157 0.012,-0.197 -0.156 0.007,-0.315 -0.156 0.007,-0.197 -0.155 0.004,-0.315 -0.155 0.004,-0.197 -0.153 0.003,-0.315 -0.153 0.003,-0.197 -0.151 0.001,-0.315 -0.151 0.001,-0.197 -0.148 0.000,-0.315 -0.148 0.000,-0.197 -0.146 0.000,-0.315 -0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1]
|
||||
coord Coordinate { point [-0.315 -0.157 0.303,-0.197 -0.157 0.306,-0.315 -0.157 0.306,-0.197 -0.157 0.303,-0.197 -0.156 0.308,-0.315 -0.156 0.308,-0.197 -0.155 0.311,-0.315 -0.155 0.311,-0.197 -0.153 0.312,-0.315 -0.153 0.312,-0.197 -0.151 0.314,-0.315 -0.151 0.314,-0.197 -0.148 0.315,-0.315 -0.148 0.315,-0.197 -0.146 0.315,-0.315 -0.146 0.315]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.315 0.146 0.000,-0.197 0.146 0.000,-0.315 -0.146 0.000,-0.197 -0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1]
|
||||
coord Coordinate { point [-0.197 0.146 0.315,-0.315 0.146 0.315,-0.315 -0.146 0.315,-0.197 -0.146 0.315]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1]
|
||||
coord Coordinate { point [-0.315 0.157 0.012,-0.197 0.157 0.009,-0.315 0.157 0.009,-0.197 0.157 0.012,-0.197 0.156 0.007,-0.315 0.156 0.007,-0.197 0.155 0.004,-0.315 0.155 0.004,-0.197 0.153 0.003,-0.315 0.153 0.003,-0.197 0.151 0.001,-0.315 0.151 0.001,-0.197 0.148 0.000,-0.315 0.148 0.000,-0.197 0.146 0.000,-0.315 0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,2,5,-1,4,0,2,-1,6,5,7,-1,6,4,5,-1,8,7,9,-1,8,6,7,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1]
|
||||
coord Coordinate { point [-0.197 0.157 0.306,-0.315 0.157 0.303,-0.315 0.157 0.306,-0.197 0.157 0.303,-0.197 0.156 0.308,-0.315 0.156 0.308,-0.197 0.155 0.311,-0.315 0.155 0.311,-0.197 0.153 0.312,-0.315 0.153 0.312,-0.197 0.151 0.314,-0.315 0.151 0.314,-0.197 0.148 0.315,-0.315 0.148 0.315,-0.197 0.146 0.315,-0.315 0.146 0.315]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1]
|
||||
coord Coordinate { point [-0.197 0.157 0.303,-0.197 0.157 0.012,-0.315 0.157 0.012,-0.315 0.157 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,4,5,-1,6,0,2,-1,3,7,4,-1,8,9,10,-1,11,6,2,-1,12,13,14,-1,15,2,9,-1,15,9,8,-1,12,14,16,-1,15,11,2,-1,1,17,18,-1,1,18,19,-1,20,7,3,-1,21,12,16,-1,22,23,24,-1,22,25,23,-1,22,26,25,-1,27,28,29,-1,27,30,28,-1,27,31,30,-1,32,7,20,-1,27,24,31,-1,27,22,24,-1,33,26,22,-1,34,27,29,-1,35,21,16,-1,36,7,32,-1,37,34,29,-1,36,38,7,-1,36,39,38,-1,40,39,36,-1,41,26,33,-1,42,37,29,-1,43,26,41,-1,44,29,45,-1,17,46,18,-1,17,47,46,-1,44,42,29,-1,17,16,47,-1,17,35,16,-1,48,26,43,-1,48,43,49,-1,50,44,45,-1,51,48,49,-1,52,50,45,-1,53,48,51,-1,4,52,45,-1,1,19,54,-1,4,45,55,-1,1,54,56,-1,4,55,57,-1,1,56,2,-1,5,4,57,-1,58,40,36,-1,14,59,60,-1,58,61,40,-1,14,60,48,-1,58,9,62,-1,14,48,53,-1,58,62,63,-1,58,63,61,-1,13,59,14,-1,10,9,58,-1]
|
||||
coord Coordinate { point [-0.197 -0.157 0.306,-0.197 -0.157 0.303,-0.197 -0.143 0.299,-0.197 0.153 0.312,-0.197 0.143 0.299,-0.197 0.155 0.311,-0.197 -0.156 0.308,-0.197 0.141 0.301,-0.197 -0.151 0.314,-0.197 -0.141 0.301,-0.197 -0.148 0.315,-0.197 -0.155 0.311,-0.197 -0.155 0.004,-0.197 -0.153 0.003,-0.197 -0.141 0.014,-0.197 -0.153 0.312,-0.197 -0.143 0.016,-0.197 -0.157 0.012,-0.197 -0.146 0.024,-0.197 -0.146 0.291,-0.197 0.151 0.314,-0.197 -0.156 0.007,-0.197 0.141 0.014,-0.197 0.151 0.001,-0.197 0.153 0.003,-0.197 0.148 0.000,-0.197 0.146 0.000,-0.197 0.143 0.016,-0.197 0.157 0.009,-0.197 0.157 0.012,-0.197 0.156 0.007,-0.197 0.155 0.004,-0.197 0.148 0.315,-0.197 0.139 0.013,-0.197 0.144 0.018,-0.197 -0.157 0.009,-0.197 0.146 0.315,-0.197 0.145 0.021,-0.197 0.139 0.302,-0.197 0.136 0.303,-0.197 0.134 0.303,-0.197 0.136 0.012,-0.197 0.146 0.024,-0.197 0.134 0.012,-0.197 0.146 0.291,-0.197 0.157 0.303,-0.197 -0.145 0.021,-0.197 -0.144 0.018,-0.197 -0.146 0.000,-0.197 -0.134 0.012,-0.197 0.145 0.294,-0.197 -0.136 0.012,-0.197 0.144 0.296,-0.197 -0.139 0.013,-0.197 -0.145 0.294,-0.197 0.157 0.306,-0.197 -0.144 0.296,-0.197 0.156 0.308,-0.197 -0.146 0.315,-0.197 -0.151 0.001,-0.197 -0.148 0.000,-0.197 -0.134 0.303,-0.197 -0.139 0.302,-0.197 -0.136 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,2,5,-1,4,0,2,-1,6,5,7,-1,6,4,5,-1,8,7,9,-1,8,6,7,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1]
|
||||
coord Coordinate { point [0.197 -0.145 0.021,-0.197 -0.146 0.024,-0.197 -0.145 0.021,0.197 -0.146 0.024,0.197 -0.144 0.018,-0.197 -0.144 0.018,0.197 -0.143 0.016,-0.197 -0.143 0.016,0.197 -0.141 0.014,-0.197 -0.141 0.014,0.197 -0.139 0.013,-0.197 -0.139 0.013,0.197 -0.136 0.012,-0.197 -0.136 0.012,0.197 -0.134 0.012,-0.197 -0.134 0.012]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.197 0.134 0.012,0.197 0.134 0.012,-0.197 -0.134 0.012,0.197 -0.134 0.012]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1]
|
||||
coord Coordinate { point [-0.197 0.146 0.024,0.197 0.145 0.021,-0.197 0.145 0.021,0.197 0.146 0.024,0.197 0.144 0.018,-0.197 0.144 0.018,0.197 0.143 0.016,-0.197 0.143 0.016,0.197 0.141 0.014,-0.197 0.141 0.014,0.197 0.139 0.013,-0.197 0.139 0.013,0.197 0.136 0.012,-0.197 0.136 0.012,0.197 0.134 0.012,-0.197 0.134 0.012]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1]
|
||||
coord Coordinate { point [0.197 0.146 0.291,0.197 0.146 0.024,-0.197 0.146 0.024,-0.197 0.146 0.291]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,2,5,-1,4,0,2,-1,6,5,7,-1,6,4,5,-1,8,7,9,-1,8,6,7,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1]
|
||||
coord Coordinate { point [0.197 0.145 0.294,-0.197 0.146 0.291,-0.197 0.145 0.294,0.197 0.146 0.291,0.197 0.144 0.296,-0.197 0.144 0.296,0.197 0.143 0.299,-0.197 0.143 0.299,0.197 0.141 0.301,-0.197 0.141 0.301,0.197 0.139 0.302,-0.197 0.139 0.302,0.197 0.136 0.303,-0.197 0.136 0.303,0.197 0.134 0.303,-0.197 0.134 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1]
|
||||
coord Coordinate { point [0.197 0.134 0.303,-0.197 0.134 0.303,-0.197 -0.134 0.303,0.197 -0.134 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1]
|
||||
coord Coordinate { point [-0.197 -0.146 0.291,0.197 -0.145 0.294,-0.197 -0.145 0.294,0.197 -0.146 0.291,0.197 -0.144 0.296,-0.197 -0.144 0.296,0.197 -0.143 0.299,-0.197 -0.143 0.299,0.197 -0.141 0.301,-0.197 -0.141 0.301,0.197 -0.139 0.302,-0.197 -0.139 0.302,0.197 -0.136 0.303,-0.197 -0.136 0.303,0.197 -0.134 0.303,-0.197 -0.134 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.197 -0.146 0.024,0.197 -0.146 0.291,-0.197 -0.146 0.024,-0.197 -0.146 0.291]
|
||||
}}
|
||||
appearance Appearance{material USE CAP-CERAMIC-06 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,4,5,-1,6,7,8,-1,9,4,3,-1,1,10,2,-1,2,11,6,-1,6,11,7,-1,10,11,2,-1,12,13,14,-1,15,16,17,-1,14,13,18,-1,17,16,19,-1,9,20,4,-1,13,21,18,-1,22,23,24,-1,25,23,22,-1,26,23,25,-1,27,28,29,-1,30,28,27,-1,31,28,30,-1,9,32,20,-1,24,28,31,-1,23,28,24,-1,26,33,23,-1,28,34,29,-1,21,35,18,-1,9,36,32,-1,34,37,29,-1,38,36,9,-1,39,36,38,-1,39,40,36,-1,26,41,33,-1,37,42,29,-1,26,43,41,-1,29,44,45,-1,46,15,17,-1,47,15,46,-1,42,44,29,-1,18,15,47,-1,35,15,18,-1,26,48,43,-1,43,48,49,-1,44,50,45,-1,48,51,49,-1,50,52,45,-1,48,53,51,-1,19,16,54,-1,54,16,55,-1,52,3,45,-1,55,16,2,-1,45,3,56,-1,56,3,57,-1,40,58,36,-1,59,58,40,-1,3,5,57,-1,6,58,60,-1,60,58,61,-1,62,14,63,-1,61,58,59,-1,63,14,48,-1,48,14,53,-1,6,8,58,-1,62,12,14,-1,16,0,2,-1]
|
||||
coord Coordinate { point [0.197 -0.157 0.306,0.197 -0.156 0.308,0.197 -0.143 0.299,0.197 0.143 0.299,0.197 0.153 0.312,0.197 0.155 0.311,0.197 -0.141 0.301,0.197 -0.151 0.314,0.197 -0.148 0.315,0.197 0.141 0.301,0.197 -0.155 0.311,0.197 -0.153 0.312,0.197 -0.153 0.003,0.197 -0.155 0.004,0.197 -0.141 0.014,0.197 -0.157 0.012,0.197 -0.157 0.303,0.197 -0.146 0.024,0.197 -0.143 0.016,0.197 -0.146 0.291,0.197 0.151 0.314,0.197 -0.156 0.007,0.197 0.151 0.001,0.197 0.141 0.014,0.197 0.153 0.003,0.197 0.148 0.000,0.197 0.146 0.000,0.197 0.157 0.009,0.197 0.143 0.016,0.197 0.157 0.012,0.197 0.156 0.007,0.197 0.155 0.004,0.197 0.148 0.315,0.197 0.139 0.013,0.197 0.144 0.018,0.197 -0.157 0.009,0.197 0.146 0.315,0.197 0.145 0.021,0.197 0.139 0.302,0.197 0.136 0.303,0.197 0.134 0.303,0.197 0.136 0.012,0.197 0.146 0.024,0.197 0.134 0.012,0.197 0.146 0.291,0.197 0.157 0.303,0.197 -0.145 0.021,0.197 -0.144 0.018,0.197 -0.146 0.000,0.197 -0.134 0.012,0.197 0.145 0.294,0.197 -0.136 0.012,0.197 0.144 0.296,0.197 -0.139 0.013,0.197 -0.145 0.294,0.197 -0.144 0.296,0.197 0.157 0.306,0.197 0.156 0.308,0.197 -0.146 0.315,0.197 -0.134 0.303,0.197 -0.139 0.302,0.197 -0.136 0.303,0.197 -0.151 0.001,0.197 -0.148 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.315 -0.157 0.012,0.315 -0.157 0.303,0.197 -0.157 0.012,0.197 -0.157 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,2,5,-1,4,0,2,-1,6,5,7,-1,6,4,5,-1,8,7,9,-1,8,6,7,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1]
|
||||
coord Coordinate { point [0.315 -0.157 0.009,0.197 -0.157 0.012,0.197 -0.157 0.009,0.315 -0.157 0.012,0.315 -0.156 0.007,0.197 -0.156 0.007,0.315 -0.155 0.004,0.197 -0.155 0.004,0.315 -0.153 0.003,0.197 -0.153 0.003,0.315 -0.151 0.001,0.197 -0.151 0.001,0.315 -0.148 0.000,0.197 -0.148 0.000,0.315 -0.146 0.000,0.197 -0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1]
|
||||
coord Coordinate { point [0.197 -0.157 0.303,0.315 -0.157 0.306,0.197 -0.157 0.306,0.315 -0.157 0.303,0.315 -0.156 0.308,0.197 -0.156 0.308,0.315 -0.155 0.311,0.197 -0.155 0.311,0.315 -0.153 0.312,0.197 -0.153 0.312,0.315 -0.151 0.314,0.197 -0.151 0.314,0.315 -0.148 0.315,0.197 -0.148 0.315,0.315 -0.146 0.315,0.197 -0.146 0.315]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.197 0.146 0.000,0.315 0.146 0.000,0.197 -0.146 0.000,0.315 -0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1]
|
||||
coord Coordinate { point [0.315 0.146 0.315,0.197 0.146 0.315,0.197 -0.146 0.315,0.315 -0.146 0.315]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1]
|
||||
coord Coordinate { point [0.197 0.157 0.012,0.315 0.157 0.009,0.197 0.157 0.009,0.315 0.157 0.012,0.315 0.156 0.007,0.197 0.156 0.007,0.315 0.155 0.004,0.197 0.155 0.004,0.315 0.153 0.003,0.197 0.153 0.003,0.315 0.151 0.001,0.197 0.151 0.001,0.315 0.148 0.000,0.197 0.148 0.000,0.315 0.146 0.000,0.197 0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,2,5,-1,4,0,2,-1,6,5,7,-1,6,4,5,-1,8,7,9,-1,8,6,7,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1]
|
||||
coord Coordinate { point [0.315 0.157 0.306,0.197 0.157 0.303,0.197 0.157 0.306,0.315 0.157 0.303,0.315 0.156 0.308,0.197 0.156 0.308,0.315 0.155 0.311,0.197 0.155 0.311,0.315 0.153 0.312,0.197 0.153 0.312,0.315 0.151 0.314,0.197 0.151 0.314,0.315 0.148 0.315,0.197 0.148 0.315,0.315 0.146 0.315,0.197 0.146 0.315]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1]
|
||||
coord Coordinate { point [0.315 0.157 0.303,0.315 0.157 0.012,0.197 0.157 0.012,0.197 0.157 0.303]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,0,4,3,-1,0,5,6,-1,0,7,5,-1,0,2,7,-1,8,9,10,-1,8,11,9,-1,8,12,11,-1,8,13,12,-1,8,14,13,-1,8,15,14,-1,16,17,18,-1,16,18,19,-1,16,19,20,-1,16,20,21,-1,16,21,22,-1,16,22,23,-1,24,25,26,-1,24,26,27,-1,24,27,28,-1,24,28,29,-1,24,29,30,-1,24,30,31,-1,7,2,24,-1,7,31,8,-1,7,10,17,-1,7,8,10,-1,7,24,31,-1,7,17,16,-1]
|
||||
coord Coordinate { point [0.315 -0.153 0.312,0.315 -0.157 0.306,0.315 -0.157 0.303,0.315 -0.156 0.308,0.315 -0.155 0.311,0.315 -0.148 0.315,0.315 -0.151 0.314,0.315 -0.146 0.315,0.315 0.146 0.000,0.315 0.157 0.009,0.315 0.157 0.012,0.315 0.156 0.007,0.315 0.155 0.004,0.315 0.153 0.003,0.315 0.151 0.001,0.315 0.148 0.000,0.315 0.146 0.315,0.315 0.157 0.303,0.315 0.157 0.306,0.315 0.156 0.308,0.315 0.155 0.311,0.315 0.153 0.312,0.315 0.151 0.314,0.315 0.148 0.315,0.315 -0.157 0.012,0.315 -0.157 0.009,0.315 -0.156 0.007,0.315 -0.155 0.004,0.315 -0.153 0.003,0.315 -0.151 0.001,0.315 -0.148 0.000,0.315 -0.146 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
453
hardware/butns/model/shapes3D/D_SOD-323.wrl
Normal file
453
hardware/butns/model/shapes3D/D_SOD-323.wrl
Normal file
|
@ -0,0 +1,453 @@
|
|||
#VRML V2.0 utf8
|
||||
#kicad StepUp wrl exported
|
||||
|
||||
# Copyright (C) 2017, kicad StepUp
|
||||
#
|
||||
# This work is licensed under the [Creative Commons CC-BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/legalcode),
|
||||
# with the following exception:
|
||||
# To the extent that the creation of electronic designs that use 'Licensed Material' can be considered to be 'Adapted Material',
|
||||
# then the copyright holder waives article 3 of the license with respect to these designs and any generated files which use data provided
|
||||
# as part of the 'Licensed Material'.
|
||||
# You are free to use the library data in your own projects without the obligation to share your project files under this or any other license agreement.
|
||||
# However, if you wish to redistribute these libraries, or parts thereof (including in modified form) as a collection then the exception above does not apply.
|
||||
# Please refer to https://github.com/KiCad/kicad-packages3D/blob/master/LICENSE.md for further clarification of the exception.
|
||||
# Disclaimer of Warranties and Limitation of Liability.
|
||||
# These libraries are provided in the hope that they will be useful, but are provided without warranty of any kind, express or implied.
|
||||
# *USE 3D CAD DATA AT YOUR OWN RISK*
|
||||
# *DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.*
|
||||
#
|
||||
Shape {
|
||||
appearance Appearance {material DEF PIN-01 Material {
|
||||
ambientIntensity 0.271
|
||||
diffuseColor 0.824 0.82 0.781
|
||||
specularColor 0.328 0.258 0.172
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.7
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape {
|
||||
appearance Appearance {material DEF IC-LABEL-01 Material {
|
||||
ambientIntensity 0.082
|
||||
diffuseColor 0.691 0.664 0.598
|
||||
specularColor 0.0 0.0 0.0
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.01
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape {
|
||||
appearance Appearance {material DEF IC-BODY-EPOXY-04 Material {
|
||||
ambientIntensity 0.293
|
||||
diffuseColor 0.148 0.145 0.145
|
||||
specularColor 0.18 0.168 0.16
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.35
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.362 0.069 0.179,0.362 0.069 0.087,0.362 -0.069 0.179,0.362 -0.069 0.087]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.335 0.069 0.207,0.342 0.069 0.206,0.335 -0.069 0.207,0.342 -0.069 0.206,0.348 0.069 0.203,0.348 -0.069 0.203,0.354 0.069 0.199,0.354 -0.069 0.199,0.359 0.069 0.193,0.359 -0.069 0.193,0.361 0.069 0.186,0.361 -0.069 0.186,0.362 0.069 0.179,0.362 -0.069 0.179]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.362 0.069 0.087,0.365 0.069 0.064,0.362 -0.069 0.087,0.365 -0.069 0.064,0.374 0.069 0.043,0.374 -0.069 0.043,0.388 0.069 0.025,0.388 -0.069 0.025,0.406 0.069 0.012,0.406 -0.069 0.012,0.426 0.069 0.003,0.426 -0.069 0.003,0.449 0.069 0.000,0.449 -0.069 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,5,3,-1,3,5,1,-1,6,7,4,-1,4,7,5,-1,8,9,6,-1,6,9,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1,15,16,17,-1,14,16,15,-1,17,18,19,-1,16,18,17,-1,19,20,21,-1,18,20,19,-1,21,22,23,-1,20,22,21,-1,24,25,22,-1,22,25,23,-1,26,27,24,-1,24,27,25,-1,28,29,26,-1,26,29,27,-1]
|
||||
coord Coordinate { point [0.492 0.069 0.000,0.449 0.069 0.059,0.492 0.069 0.059,0.449 0.069 0.000,0.426 0.069 0.003,0.442 0.069 0.060,0.406 0.069 0.012,0.435 0.069 0.063,0.388 0.069 0.025,0.429 0.069 0.067,0.374 0.069 0.043,0.425 0.069 0.073,0.365 0.069 0.064,0.422 0.069 0.079,0.362 0.069 0.087,0.421 0.069 0.087,0.362 0.069 0.179,0.421 0.069 0.179,0.361 0.069 0.186,0.418 0.069 0.202,0.359 0.069 0.193,0.410 0.069 0.222,0.354 0.069 0.199,0.396 0.069 0.240,0.348 0.069 0.203,0.378 0.069 0.254,0.342 0.069 0.206,0.357 0.069 0.263,0.335 0.069 0.207,0.335 0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,5,3,-1,4,3,0,-1,6,7,5,-1,6,5,4,-1,8,9,7,-1,8,7,6,-1,10,8,11,-1,10,9,8,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1,16,15,17,-1,16,14,15,-1,18,17,19,-1,18,16,17,-1,20,19,21,-1,20,18,19,-1,22,21,23,-1,22,20,21,-1,24,25,22,-1,24,22,23,-1,26,27,25,-1,26,25,24,-1,28,29,27,-1,28,27,26,-1]
|
||||
coord Coordinate { point [0.449 -0.069 0.059,0.492 -0.069 0.000,0.492 -0.069 0.059,0.449 -0.069 0.000,0.442 -0.069 0.060,0.426 -0.069 0.003,0.435 -0.069 0.063,0.406 -0.069 0.012,0.429 -0.069 0.067,0.388 -0.069 0.025,0.374 -0.069 0.043,0.425 -0.069 0.073,0.365 -0.069 0.064,0.422 -0.069 0.079,0.362 -0.069 0.087,0.421 -0.069 0.087,0.362 -0.069 0.179,0.421 -0.069 0.179,0.361 -0.069 0.186,0.418 -0.069 0.202,0.359 -0.069 0.193,0.410 -0.069 0.222,0.354 -0.069 0.199,0.396 -0.069 0.240,0.378 -0.069 0.254,0.348 -0.069 0.203,0.357 -0.069 0.263,0.342 -0.069 0.206,0.335 -0.069 0.266,0.335 -0.069 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1]
|
||||
coord Coordinate { point [0.335 0.209 0.207,0.335 0.069 0.207,0.311 0.197 0.039,0.335 -0.069 0.207,0.311 -0.197 0.039,0.335 -0.209 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.449 0.069 0.000,0.492 0.069 0.000,0.449 -0.069 0.000,0.492 -0.069 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.335 0.209 0.266,0.335 0.069 0.266,0.335 0.209 0.207,0.335 0.069 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.421 0.069 0.179,0.418 0.069 0.202,0.421 -0.069 0.179,0.418 -0.069 0.202,0.410 0.069 0.222,0.410 -0.069 0.222,0.396 0.069 0.240,0.396 -0.069 0.240,0.378 0.069 0.254,0.378 -0.069 0.254,0.357 0.069 0.263,0.357 -0.069 0.263,0.335 0.069 0.266,0.335 -0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.421 0.069 0.087,0.421 0.069 0.179,0.421 -0.069 0.087,0.421 -0.069 0.179]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.449 0.069 0.059,0.442 0.069 0.060,0.449 -0.069 0.059,0.442 -0.069 0.060,0.435 0.069 0.063,0.435 -0.069 0.063,0.429 0.069 0.067,0.429 -0.069 0.067,0.425 0.069 0.073,0.425 -0.069 0.073,0.422 0.069 0.079,0.422 -0.069 0.079,0.421 0.069 0.087,0.421 -0.069 0.087]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.492 0.069 0.059,0.449 0.069 0.059,0.492 -0.069 0.059,0.449 -0.069 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.492 0.069 0.000,0.492 0.069 0.059,0.492 -0.069 0.000,0.492 -0.069 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.335 -0.069 0.266,0.335 -0.209 0.266,0.335 -0.069 0.207,0.335 -0.209 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,4,5,6,-1,7,5,4,-1,3,5,7,-1,1,5,3,-1]
|
||||
coord Coordinate { point [-0.311 0.197 0.039,-0.285 0.223 0.039,-0.311 -0.197 0.039,-0.285 -0.223 0.039,0.311 -0.197 0.039,0.285 0.223 0.039,0.311 0.197 0.039,0.285 -0.223 0.039]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.293 0.222 0.073,0.299 0.216 0.073,0.285 0.223 0.039,0.305 0.210 0.073,0.311 0.197 0.039,0.310 0.205 0.073,0.296 0.226 0.106,0.302 0.220 0.106,0.308 0.214 0.106,0.314 0.208 0.106,0.297 0.246 0.207,0.299 0.230 0.140,0.306 0.224 0.140,0.312 0.217 0.140,0.319 0.210 0.140,0.335 0.209 0.207,0.302 0.234 0.173,0.309 0.227 0.173,0.316 0.220 0.173,0.323 0.213 0.173]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.310 -0.205 0.073,0.305 -0.210 0.073,0.311 -0.197 0.039,0.299 -0.216 0.073,0.285 -0.223 0.039,0.293 -0.222 0.073,0.314 -0.208 0.106,0.308 -0.214 0.106,0.302 -0.220 0.106,0.296 -0.226 0.106,0.335 -0.209 0.207,0.319 -0.210 0.140,0.312 -0.217 0.140,0.306 -0.224 0.140,0.299 -0.230 0.140,0.297 -0.246 0.207,0.323 -0.213 0.173,0.316 -0.220 0.173,0.309 -0.227 0.173,0.302 -0.234 0.173]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.297 0.246 0.207,0.335 0.209 0.266,0.335 0.209 0.207,0.297 0.246 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.325 0.204 0.266,0.325 0.069 0.266,0.335 0.209 0.266,0.335 0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.335 -0.069 0.266,0.325 0.069 0.266,0.325 -0.069 0.266,0.335 0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1]
|
||||
coord Coordinate { point [0.325 -0.069 0.266,0.335 -0.209 0.266,0.335 -0.069 0.266,0.325 -0.204 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.335 -0.209 0.207,0.297 -0.246 0.266,0.297 -0.246 0.207,0.335 -0.209 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1]
|
||||
coord Coordinate { point [-0.335 -0.209 0.207,-0.335 -0.069 0.207,-0.311 -0.197 0.039,-0.335 0.069 0.207,-0.311 0.197 0.039,-0.335 0.209 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.310 0.205 0.073,-0.305 0.210 0.073,-0.311 0.197 0.039,-0.299 0.216 0.073,-0.285 0.223 0.039,-0.293 0.222 0.073,-0.314 0.208 0.106,-0.308 0.214 0.106,-0.302 0.220 0.106,-0.296 0.226 0.106,-0.335 0.209 0.207,-0.319 0.210 0.140,-0.312 0.217 0.140,-0.306 0.224 0.140,-0.299 0.230 0.140,-0.297 0.246 0.207,-0.323 0.213 0.173,-0.316 0.220 0.173,-0.309 0.227 0.173,-0.302 0.234 0.173]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.285 0.223 0.039,0.297 0.246 0.207,0.285 0.223 0.039,-0.297 0.246 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.285 -0.223 0.039,-0.297 -0.246 0.207,-0.285 -0.223 0.039,0.297 -0.246 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.293 -0.222 0.073,-0.299 -0.216 0.073,-0.285 -0.223 0.039,-0.305 -0.210 0.073,-0.311 -0.197 0.039,-0.310 -0.205 0.073,-0.296 -0.226 0.106,-0.302 -0.220 0.106,-0.308 -0.214 0.106,-0.314 -0.208 0.106,-0.297 -0.246 0.207,-0.299 -0.230 0.140,-0.306 -0.224 0.140,-0.312 -0.217 0.140,-0.319 -0.210 0.140,-0.335 -0.209 0.207,-0.302 -0.234 0.173,-0.309 -0.227 0.173,-0.316 -0.220 0.173,-0.323 -0.213 0.173]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.297 0.246 0.266,0.325 0.204 0.266,0.335 0.209 0.266,0.292 0.236 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.297 0.246 0.207,0.297 0.246 0.266,0.297 0.246 0.207,-0.297 0.246 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,4,3,5,-1,1,3,2,-1]
|
||||
coord Coordinate { point [0.325 0.204 0.266,0.301 0.192 0.433,0.325 0.069 0.266,0.301 -0.192 0.433,0.325 -0.069 0.266,0.325 -0.204 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.335 -0.209 0.266,0.292 -0.236 0.266,0.297 -0.246 0.266,0.325 -0.204 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.297 -0.246 0.207,-0.297 -0.246 0.266,-0.297 -0.246 0.207,0.297 -0.246 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.335 -0.209 0.266,-0.335 -0.069 0.266,-0.335 -0.209 0.207,-0.335 -0.069 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.335 0.069 0.266,-0.335 0.209 0.266,-0.335 0.069 0.207,-0.335 0.209 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.335 -0.069 0.207,-0.342 -0.069 0.206,-0.335 0.069 0.207,-0.342 0.069 0.206,-0.348 -0.069 0.203,-0.348 0.069 0.203,-0.354 -0.069 0.199,-0.354 0.069 0.199,-0.359 -0.069 0.193,-0.359 0.069 0.193,-0.361 -0.069 0.186,-0.361 0.069 0.186,-0.362 -0.069 0.179,-0.362 0.069 0.179]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.335 0.209 0.207,-0.297 0.246 0.266,-0.297 0.246 0.207,-0.335 0.209 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.297 -0.246 0.207,-0.335 -0.209 0.266,-0.335 -0.209 0.207,-0.297 -0.246 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.296 0.225 0.299,0.302 0.219 0.299,0.292 0.236 0.266,0.308 0.213 0.299,0.325 0.204 0.266,0.314 0.207 0.299,0.293 0.221 0.333,0.299 0.216 0.333,0.304 0.210 0.333,0.310 0.205 0.333,0.281 0.213 0.433,0.290 0.217 0.366,0.295 0.212 0.366,0.301 0.207 0.366,0.306 0.202 0.366,0.301 0.192 0.433,0.288 0.213 0.400,0.292 0.208 0.400,0.297 0.204 0.400,0.301 0.199 0.400]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.297 0.246 0.266,0.292 0.236 0.266,0.297 0.246 0.266,-0.292 0.236 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,0,2,-1,4,5,1,-1,4,1,0,-1,6,5,4,-1,7,6,4,-1,8,9,10,-1,8,10,11,-1,8,7,3,-1,8,3,9,-1,2,9,3,-1,8,6,7,-1]
|
||||
coord Coordinate { point [-0.282 -0.193 0.433,-0.301 -0.192 0.433,-0.281 -0.213 0.433,-0.124 -0.193 0.433,-0.282 0.193 0.433,-0.301 0.192 0.433,-0.281 0.213 0.433,-0.124 0.193 0.433,0.281 0.213 0.433,0.281 -0.213 0.433,0.301 -0.192 0.433,0.301 0.192 0.433]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.314 -0.207 0.299,0.308 -0.213 0.299,0.325 -0.204 0.266,0.302 -0.219 0.299,0.292 -0.236 0.266,0.296 -0.225 0.299,0.310 -0.205 0.333,0.304 -0.210 0.333,0.299 -0.216 0.333,0.293 -0.221 0.333,0.301 -0.192 0.433,0.306 -0.202 0.366,0.301 -0.207 0.366,0.295 -0.212 0.366,0.290 -0.217 0.366,0.281 -0.213 0.433,0.301 -0.199 0.400,0.297 -0.204 0.400,0.292 -0.208 0.400,0.288 -0.213 0.400]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.297 -0.246 0.266,-0.292 -0.236 0.266,-0.297 -0.246 0.266,0.292 -0.236 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.325 -0.204 0.266,-0.325 -0.069 0.266,-0.335 -0.209 0.266,-0.335 -0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,5,3,-1,3,5,1,-1,6,7,4,-1,4,7,5,-1,8,9,6,-1,6,9,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1,15,16,17,-1,14,16,15,-1,17,18,19,-1,16,18,17,-1,19,20,21,-1,18,20,19,-1,21,22,23,-1,20,22,21,-1,24,25,22,-1,22,25,23,-1,26,27,24,-1,24,27,25,-1,28,29,26,-1,26,29,27,-1]
|
||||
coord Coordinate { point [-0.492 -0.069 0.000,-0.449 -0.069 0.059,-0.492 -0.069 0.059,-0.449 -0.069 0.000,-0.426 -0.069 0.003,-0.442 -0.069 0.060,-0.406 -0.069 0.012,-0.435 -0.069 0.063,-0.388 -0.069 0.025,-0.429 -0.069 0.067,-0.374 -0.069 0.043,-0.425 -0.069 0.073,-0.365 -0.069 0.064,-0.422 -0.069 0.079,-0.362 -0.069 0.087,-0.421 -0.069 0.087,-0.362 -0.069 0.179,-0.421 -0.069 0.179,-0.361 -0.069 0.186,-0.418 -0.069 0.202,-0.359 -0.069 0.193,-0.410 -0.069 0.222,-0.354 -0.069 0.199,-0.396 -0.069 0.240,-0.348 -0.069 0.203,-0.378 -0.069 0.254,-0.342 -0.069 0.206,-0.357 -0.069 0.263,-0.335 -0.069 0.207,-0.335 -0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,5,3,-1,4,3,0,-1,6,7,5,-1,6,5,4,-1,8,9,7,-1,8,7,6,-1,10,8,11,-1,10,9,8,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1,16,15,17,-1,16,14,15,-1,18,17,19,-1,18,16,17,-1,20,19,21,-1,20,18,19,-1,22,21,23,-1,22,20,21,-1,24,25,22,-1,24,22,23,-1,26,27,25,-1,26,25,24,-1,28,29,27,-1,28,27,26,-1]
|
||||
coord Coordinate { point [-0.449 0.069 0.059,-0.492 0.069 0.000,-0.492 0.069 0.059,-0.449 0.069 0.000,-0.442 0.069 0.060,-0.426 0.069 0.003,-0.435 0.069 0.063,-0.406 0.069 0.012,-0.429 0.069 0.067,-0.388 0.069 0.025,-0.374 0.069 0.043,-0.425 0.069 0.073,-0.365 0.069 0.064,-0.422 0.069 0.079,-0.362 0.069 0.087,-0.421 0.069 0.087,-0.362 0.069 0.179,-0.421 0.069 0.179,-0.361 0.069 0.186,-0.418 0.069 0.202,-0.359 0.069 0.193,-0.410 0.069 0.222,-0.354 0.069 0.199,-0.396 0.069 0.240,-0.378 0.069 0.254,-0.348 0.069 0.203,-0.357 0.069 0.263,-0.342 0.069 0.206,-0.335 0.069 0.266,-0.335 0.069 0.207]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1]
|
||||
coord Coordinate { point [-0.325 0.069 0.266,-0.335 0.209 0.266,-0.335 0.069 0.266,-0.325 0.204 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.362 -0.069 0.179,-0.362 -0.069 0.087,-0.362 0.069 0.179,-0.362 0.069 0.087]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.335 0.209 0.266,-0.292 0.236 0.266,-0.297 0.246 0.266,-0.325 0.204 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.297 -0.246 0.266,-0.325 -0.204 0.266,-0.335 -0.209 0.266,-0.292 -0.236 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.292 0.236 0.266,0.281 0.213 0.433,0.292 0.236 0.266,-0.281 0.213 0.433]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,4,3,5,-1,1,3,2,-1]
|
||||
coord Coordinate { point [-0.325 -0.204 0.266,-0.301 -0.192 0.433,-0.325 -0.069 0.266,-0.301 0.192 0.433,-0.325 0.069 0.266,-0.325 0.204 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.296 -0.225 0.299,-0.302 -0.219 0.299,-0.292 -0.236 0.266,-0.308 -0.213 0.299,-0.325 -0.204 0.266,-0.314 -0.207 0.299,-0.293 -0.221 0.333,-0.299 -0.216 0.333,-0.304 -0.210 0.333,-0.310 -0.205 0.333,-0.281 -0.213 0.433,-0.290 -0.217 0.366,-0.295 -0.212 0.366,-0.301 -0.207 0.366,-0.306 -0.202 0.366,-0.301 -0.192 0.433,-0.288 -0.213 0.400,-0.292 -0.208 0.400,-0.297 -0.204 0.400,-0.301 -0.199 0.400]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.314 0.207 0.299,-0.308 0.213 0.299,-0.325 0.204 0.266,-0.302 0.219 0.299,-0.292 0.236 0.266,-0.296 0.225 0.299,-0.310 0.205 0.333,-0.304 0.210 0.333,-0.299 0.216 0.333,-0.293 0.221 0.333,-0.301 0.192 0.433,-0.306 0.202 0.366,-0.301 0.207 0.366,-0.295 0.212 0.366,-0.290 0.217 0.366,-0.281 0.213 0.433,-0.301 0.199 0.400,-0.297 0.204 0.400,-0.292 0.208 0.400,-0.288 0.213 0.400]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.292 -0.236 0.266,-0.281 -0.213 0.433,-0.292 -0.236 0.266,0.281 -0.213 0.433]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1]
|
||||
coord Coordinate { point [-0.124 -0.193 0.433,-0.282 -0.193 0.429,-0.282 -0.193 0.433,-0.124 -0.193 0.429]
|
||||
}}
|
||||
appearance Appearance{material USE IC-LABEL-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.124 0.193 0.429,-0.124 -0.193 0.433,-0.124 0.193 0.433,-0.124 -0.193 0.429]
|
||||
}}
|
||||
appearance Appearance{material USE IC-LABEL-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.282 0.193 0.429,-0.124 0.193 0.433,-0.282 0.193 0.433,-0.124 0.193 0.429]
|
||||
}}
|
||||
appearance Appearance{material USE IC-LABEL-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1]
|
||||
coord Coordinate { point [-0.282 -0.193 0.433,-0.282 0.193 0.429,-0.282 0.193 0.433,-0.282 -0.193 0.429]
|
||||
}}
|
||||
appearance Appearance{material USE IC-LABEL-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.335 0.069 0.266,-0.325 -0.069 0.266,-0.325 0.069 0.266,-0.335 -0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.421 -0.069 0.179,-0.418 -0.069 0.202,-0.421 0.069 0.179,-0.418 0.069 0.202,-0.410 -0.069 0.222,-0.410 0.069 0.222,-0.396 -0.069 0.240,-0.396 0.069 0.240,-0.378 -0.069 0.254,-0.378 0.069 0.254,-0.357 -0.069 0.263,-0.357 0.069 0.263,-0.335 -0.069 0.266,-0.335 0.069 0.266]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.421 -0.069 0.087,-0.421 -0.069 0.179,-0.421 0.069 0.087,-0.421 0.069 0.179]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.449 -0.069 0.059,-0.442 -0.069 0.060,-0.449 0.069 0.059,-0.442 0.069 0.060,-0.435 -0.069 0.063,-0.435 0.069 0.063,-0.429 -0.069 0.067,-0.429 0.069 0.067,-0.425 -0.069 0.073,-0.425 0.069 0.073,-0.422 -0.069 0.079,-0.422 0.069 0.079,-0.421 -0.069 0.087,-0.421 0.069 0.087]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.492 -0.069 0.059,-0.449 -0.069 0.059,-0.492 0.069 0.059,-0.449 0.069 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.492 -0.069 0.000,-0.492 -0.069 0.059,-0.492 0.069 0.000,-0.492 0.069 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.449 -0.069 0.000,-0.492 -0.069 0.000,-0.449 0.069 0.000,-0.492 0.069 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.362 -0.069 0.087,-0.365 -0.069 0.064,-0.362 0.069 0.087,-0.365 0.069 0.064,-0.374 -0.069 0.043,-0.374 0.069 0.043,-0.388 -0.069 0.025,-0.388 0.069 0.025,-0.406 -0.069 0.012,-0.406 0.069 0.012,-0.426 -0.069 0.003,-0.426 0.069 0.003,-0.449 -0.069 0.000,-0.449 0.069 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1]
|
||||
coord Coordinate { point [-0.124 0.193 0.429,-0.282 0.193 0.429,-0.282 -0.193 0.429,-0.124 -0.193 0.429]
|
||||
}}
|
||||
appearance Appearance{material USE IC-LABEL-01 }
|
||||
}
|
516771
hardware/butns/model/shapes3D/Pico.wrl
Normal file
516771
hardware/butns/model/shapes3D/Pico.wrl
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1871
hardware/butns/model/shapes3D/SK6812-EC20.wrl
Normal file
1871
hardware/butns/model/shapes3D/SK6812-EC20.wrl
Normal file
File diff suppressed because it is too large
Load diff
705
hardware/butns/model/shapes3D/SOT-23-5.wrl
Normal file
705
hardware/butns/model/shapes3D/SOT-23-5.wrl
Normal file
|
@ -0,0 +1,705 @@
|
|||
#VRML V2.0 utf8
|
||||
#kicad StepUp wrl exported
|
||||
|
||||
# Copyright (C) 2017, kicad StepUp
|
||||
#
|
||||
# This work is licensed under the [Creative Commons CC-BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/legalcode),
|
||||
# with the following exception:
|
||||
# To the extent that the creation of electronic designs that use 'Licensed Material' can be considered to be 'Adapted Material',
|
||||
# then the copyright holder waives article 3 of the license with respect to these designs and any generated files which use data provided
|
||||
# as part of the 'Licensed Material'.
|
||||
# You are free to use the library data in your own projects without the obligation to share your project files under this or any other license agreement.
|
||||
# However, if you wish to redistribute these libraries, or parts thereof (including in modified form) as a collection then the exception above does not apply.
|
||||
# Please refer to https://github.com/KiCad/kicad-packages3D/blob/master/LICENSE.md for further clarification of the exception.
|
||||
# Disclaimer of Warranties and Limitation of Liability.
|
||||
# These libraries are provided in the hope that they will be useful, but are provided without warranty of any kind, express or implied.
|
||||
# *USE 3D CAD DATA AT YOUR OWN RISK*
|
||||
# *DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.*
|
||||
#
|
||||
Shape {
|
||||
appearance Appearance {material DEF PIN-01 Material {
|
||||
ambientIntensity 0.271
|
||||
diffuseColor 0.824 0.82 0.781
|
||||
specularColor 0.328 0.258 0.172
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.7
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape {
|
||||
appearance Appearance {material DEF IC-LABEL-01 Material {
|
||||
ambientIntensity 0.082
|
||||
diffuseColor 0.691 0.664 0.598
|
||||
specularColor 0.0 0.0 0.0
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.01
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape {
|
||||
appearance Appearance {material DEF IC-BODY-EPOXY-04 Material {
|
||||
ambientIntensity 0.293
|
||||
diffuseColor 0.148 0.145 0.145
|
||||
specularColor 0.18 0.168 0.16
|
||||
emissiveColor 0.0 0.0 0.0
|
||||
transparency 0.0
|
||||
shininess 0.35
|
||||
}
|
||||
}
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.260 0.535 0.039,0.278 0.571 0.295,0.260 0.535 0.039,-0.278 0.571 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,4,5,6,-1,7,5,4,-1,3,5,7,-1,1,5,3,-1]
|
||||
coord Coordinate { point [0.260 0.535 0.039,0.279 0.515 0.039,-0.260 0.535 0.039,-0.279 0.515 0.039,-0.260 -0.535 0.039,0.279 -0.515 0.039,0.260 -0.535 0.039,-0.279 -0.515 0.039]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.268 0.537 0.091,0.272 0.533 0.091,0.260 0.535 0.039,0.277 0.528 0.091,0.279 0.515 0.039,0.282 0.524 0.091,0.272 0.544 0.142,0.277 0.539 0.142,0.283 0.533 0.142,0.288 0.528 0.142,0.278 0.571 0.295,0.276 0.550 0.193,0.282 0.544 0.193,0.288 0.538 0.193,0.295 0.532 0.193,0.315 0.533 0.295,0.281 0.557 0.244,0.287 0.550 0.244,0.294 0.543 0.244,0.301 0.537 0.244]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.278 0.571 0.295,0.278 0.571 0.354,0.278 0.571 0.295,-0.278 0.571 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.282 0.524 0.091,-0.277 0.528 0.091,-0.279 0.515 0.039,-0.272 0.533 0.091,-0.260 0.535 0.039,-0.268 0.537 0.091,-0.288 0.528 0.142,-0.283 0.533 0.142,-0.277 0.539 0.142,-0.272 0.544 0.142,-0.315 0.533 0.295,-0.295 0.532 0.193,-0.288 0.538 0.193,-0.282 0.544 0.193,-0.276 0.550 0.193,-0.278 0.571 0.295,-0.301 0.537 0.244,-0.294 0.543 0.244,-0.287 0.550 0.244,-0.281 0.557 0.244]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,1,3,2,-1,2,4,5,-1,3,4,2,-1,4,6,5,-1,6,7,5,-1]
|
||||
coord Coordinate { point [0.315 0.533 0.295,0.315 0.472 0.295,0.279 0.515 0.039,0.315 0.276 0.295,0.315 -0.276 0.295,0.279 -0.515 0.039,0.315 -0.472 0.295,0.315 -0.533 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.282 -0.524 0.091,0.277 -0.528 0.091,0.279 -0.515 0.039,0.272 -0.533 0.091,0.260 -0.535 0.039,0.268 -0.537 0.091,0.288 -0.528 0.142,0.283 -0.533 0.142,0.277 -0.539 0.142,0.272 -0.544 0.142,0.315 -0.533 0.295,0.295 -0.532 0.193,0.288 -0.538 0.193,0.282 -0.544 0.193,0.276 -0.550 0.193,0.278 -0.571 0.295,0.301 -0.537 0.244,0.294 -0.543 0.244,0.287 -0.550 0.244,0.281 -0.557 0.244]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.260 -0.535 0.039,-0.278 -0.571 0.295,-0.260 -0.535 0.039,0.278 -0.571 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.268 -0.537 0.091,-0.272 -0.533 0.091,-0.260 -0.535 0.039,-0.277 -0.528 0.091,-0.279 -0.515 0.039,-0.282 -0.524 0.091,-0.272 -0.544 0.142,-0.277 -0.539 0.142,-0.283 -0.533 0.142,-0.288 -0.528 0.142,-0.278 -0.571 0.295,-0.276 -0.550 0.193,-0.282 -0.544 0.193,-0.288 -0.538 0.193,-0.295 -0.532 0.193,-0.315 -0.533 0.295,-0.281 -0.557 0.244,-0.287 -0.550 0.244,-0.294 -0.543 0.244,-0.301 -0.537 0.244]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,1,3,2,-1,3,4,2,-1,5,6,4,-1,4,6,2,-1,5,7,6,-1,7,8,6,-1,8,9,6,-1]
|
||||
coord Coordinate { point [-0.315 -0.533 0.295,-0.315 -0.472 0.295,-0.279 -0.515 0.039,-0.315 -0.276 0.295,-0.315 -0.098 0.295,-0.315 0.098 0.295,-0.279 0.515 0.039,-0.315 0.276 0.295,-0.315 0.472 0.295,-0.315 0.533 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.278 0.571 0.295,0.315 0.533 0.354,0.315 0.533 0.295,0.278 0.571 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.278 0.571 0.354,0.273 0.561 0.354,0.278 0.571 0.354,-0.273 0.561 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.315 0.533 0.295,-0.278 0.571 0.354,-0.278 0.571 0.295,-0.315 0.533 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.315 0.533 0.354,0.315 0.472 0.354,0.315 0.533 0.295,0.315 0.472 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.315 -0.472 0.354,0.315 -0.533 0.354,0.315 -0.472 0.295,0.315 -0.533 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.315 0.276 0.295,0.335 0.472 0.295,0.335 0.276 0.295,0.315 0.472 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.315 -0.472 0.295,0.335 -0.276 0.295,0.335 -0.472 0.295,0.315 -0.276 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.315 0.276 0.354,0.315 -0.276 0.354,0.315 0.276 0.295,0.315 -0.276 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.315 -0.533 0.295,0.278 -0.571 0.354,0.278 -0.571 0.295,0.315 -0.533 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.278 -0.571 0.295,-0.278 -0.571 0.354,-0.278 -0.571 0.295,0.278 -0.571 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.278 -0.571 0.295,-0.315 -0.533 0.354,-0.315 -0.533 0.295,-0.278 -0.571 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.315 -0.533 0.354,-0.315 -0.472 0.354,-0.315 -0.533 0.295,-0.315 -0.472 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.315 0.472 0.354,-0.315 0.533 0.354,-0.315 0.472 0.295,-0.315 0.533 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.315 -0.276 0.295,-0.335 -0.472 0.295,-0.335 -0.276 0.295,-0.315 -0.472 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.315 0.472 0.295,-0.335 0.276 0.295,-0.335 0.472 0.295,-0.315 0.276 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.315 -0.276 0.354,-0.315 -0.098 0.354,-0.315 -0.276 0.295,-0.315 -0.098 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.315 0.098 0.354,-0.315 0.276 0.354,-0.315 0.098 0.295,-0.315 0.276 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.315 0.098 0.295,-0.335 -0.098 0.295,-0.335 0.098 0.295,-0.315 -0.098 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.278 0.571 0.354,0.305 0.529 0.354,0.315 0.533 0.354,0.273 0.561 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,4,0,-1,0,4,1,-1,2,5,0,-1,3,6,4,-1,2,7,5,-1,1,7,2,-1,4,8,1,-1,1,8,7,-1,0,9,10,-1,5,9,0,-1,4,11,8,-1,3,11,6,-1,6,11,4,-1,7,12,5,-1,5,12,9,-1,8,13,7,-1,7,13,12,-1,9,14,10,-1,15,16,3,-1,3,16,11,-1,11,16,8,-1,8,16,13,-1,14,17,10,-1,12,17,9,-1,9,17,14,-1,10,18,15,-1,13,18,12,-1,17,18,10,-1,12,18,17,-1,18,19,15,-1,15,19,16,-1,13,19,18,-1,16,19,13,-1]
|
||||
coord Coordinate { point [-0.273 0.561 0.354,-0.159 0.547 0.457,-0.161 0.554 0.406,-0.255 0.525 0.610,-0.157 0.539 0.508,-0.054 0.554 0.406,-0.155 0.532 0.559,-0.053 0.547 0.457,-0.052 0.539 0.508,0.054 0.554 0.406,0.273 0.561 0.354,-0.052 0.532 0.559,0.053 0.547 0.457,0.052 0.539 0.508,0.161 0.554 0.406,0.255 0.525 0.610,0.052 0.532 0.559,0.159 0.547 0.457,0.157 0.539 0.508,0.155 0.532 0.559]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.315 0.533 0.354,-0.273 0.561 0.354,-0.278 0.571 0.354,-0.305 0.529 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.305 0.529 0.354,0.305 0.472 0.354,0.315 0.533 0.354,0.315 0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,5,3,-1,3,5,1,-1,6,7,4,-1,4,7,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1,15,16,17,-1,14,16,15,-1,17,18,19,-1,16,18,17,-1,19,20,21,-1,18,20,19,-1,21,22,23,-1,20,22,21,-1,24,25,22,-1,22,25,23,-1,26,27,24,-1,24,27,25,-1,28,29,26,-1,26,29,27,-1,30,31,28,-1,28,31,29,-1]
|
||||
coord Coordinate { point [0.551 0.472 0.000,0.472 0.472 0.059,0.551 0.472 0.059,0.472 0.472 0.000,0.447 0.472 0.003,0.462 0.472 0.060,0.423 0.472 0.013,0.453 0.472 0.064,0.403 0.472 0.029,0.445 0.472 0.071,0.387 0.472 0.049,0.438 0.472 0.079,0.377 0.472 0.073,0.434 0.472 0.088,0.374 0.472 0.098,0.433 0.472 0.098,0.374 0.472 0.256,0.433 0.472 0.256,0.373 0.472 0.266,0.430 0.472 0.281,0.369 0.472 0.276,0.420 0.472 0.305,0.362 0.472 0.284,0.404 0.472 0.326,0.354 0.472 0.290,0.384 0.472 0.341,0.345 0.472 0.294,0.360 0.472 0.351,0.335 0.472 0.295,0.335 0.472 0.354,0.315 0.472 0.295,0.315 0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,5,3,-1,4,3,0,-1,6,7,5,-1,6,5,4,-1,8,6,9,-1,8,7,6,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1,16,15,17,-1,16,14,15,-1,18,17,19,-1,18,16,17,-1,20,19,21,-1,20,18,19,-1,22,21,23,-1,22,20,21,-1,24,25,22,-1,24,22,23,-1,26,27,25,-1,26,25,24,-1,28,29,27,-1,28,27,26,-1,30,31,29,-1,30,29,28,-1]
|
||||
coord Coordinate { point [0.472 -0.472 0.059,0.551 -0.472 0.000,0.551 -0.472 0.059,0.472 -0.472 0.000,0.462 -0.472 0.060,0.447 -0.472 0.003,0.453 -0.472 0.064,0.423 -0.472 0.013,0.403 -0.472 0.029,0.445 -0.472 0.071,0.387 -0.472 0.049,0.438 -0.472 0.079,0.377 -0.472 0.073,0.434 -0.472 0.088,0.374 -0.472 0.098,0.433 -0.472 0.098,0.374 -0.472 0.256,0.433 -0.472 0.256,0.373 -0.472 0.266,0.430 -0.472 0.281,0.369 -0.472 0.276,0.420 -0.472 0.305,0.362 -0.472 0.284,0.404 -0.472 0.326,0.384 -0.472 0.341,0.354 -0.472 0.290,0.360 -0.472 0.351,0.345 -0.472 0.294,0.335 -0.472 0.354,0.335 -0.472 0.295,0.315 -0.472 0.354,0.315 -0.472 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1]
|
||||
coord Coordinate { point [0.305 -0.472 0.354,0.315 -0.533 0.354,0.315 -0.472 0.354,0.305 -0.529 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.335 0.472 0.295,0.345 0.472 0.294,0.335 0.276 0.295,0.345 0.276 0.294,0.354 0.472 0.290,0.354 0.276 0.290,0.362 0.472 0.284,0.362 0.276 0.284,0.369 0.472 0.276,0.369 0.276 0.276,0.373 0.472 0.266,0.373 0.276 0.266,0.374 0.472 0.256,0.374 0.276 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,5,3,-1,4,3,0,-1,6,7,5,-1,6,5,4,-1,8,6,9,-1,8,7,6,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1,16,15,17,-1,16,14,15,-1,18,17,19,-1,18,16,17,-1,20,19,21,-1,20,18,19,-1,22,21,23,-1,22,20,21,-1,24,25,22,-1,24,22,23,-1,26,27,25,-1,26,25,24,-1,28,29,27,-1,28,27,26,-1,30,31,29,-1,30,29,28,-1]
|
||||
coord Coordinate { point [0.472 0.276 0.059,0.551 0.276 0.000,0.551 0.276 0.059,0.472 0.276 0.000,0.462 0.276 0.060,0.447 0.276 0.003,0.453 0.276 0.064,0.423 0.276 0.013,0.403 0.276 0.029,0.445 0.276 0.071,0.387 0.276 0.049,0.438 0.276 0.079,0.377 0.276 0.073,0.434 0.276 0.088,0.374 0.276 0.098,0.433 0.276 0.098,0.374 0.276 0.256,0.433 0.276 0.256,0.373 0.276 0.266,0.430 0.276 0.281,0.369 0.276 0.276,0.420 0.276 0.305,0.362 0.276 0.284,0.404 0.276 0.326,0.384 0.276 0.341,0.354 0.276 0.290,0.360 0.276 0.351,0.345 0.276 0.294,0.335 0.276 0.354,0.335 0.276 0.295,0.315 0.276 0.354,0.315 0.276 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,5,3,-1,3,5,1,-1,6,7,4,-1,4,7,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1,15,16,17,-1,14,16,15,-1,17,18,19,-1,16,18,17,-1,19,20,21,-1,18,20,19,-1,21,22,23,-1,20,22,21,-1,24,25,22,-1,22,25,23,-1,26,27,24,-1,24,27,25,-1,28,29,26,-1,26,29,27,-1,30,31,28,-1,28,31,29,-1]
|
||||
coord Coordinate { point [0.551 -0.276 0.000,0.472 -0.276 0.059,0.551 -0.276 0.059,0.472 -0.276 0.000,0.447 -0.276 0.003,0.462 -0.276 0.060,0.423 -0.276 0.013,0.453 -0.276 0.064,0.403 -0.276 0.029,0.445 -0.276 0.071,0.387 -0.276 0.049,0.438 -0.276 0.079,0.377 -0.276 0.073,0.434 -0.276 0.088,0.374 -0.276 0.098,0.433 -0.276 0.098,0.374 -0.276 0.256,0.433 -0.276 0.256,0.373 -0.276 0.266,0.430 -0.276 0.281,0.369 -0.276 0.276,0.420 -0.276 0.305,0.362 -0.276 0.284,0.404 -0.276 0.326,0.354 -0.276 0.290,0.384 -0.276 0.341,0.345 -0.276 0.294,0.360 -0.276 0.351,0.335 -0.276 0.295,0.335 -0.276 0.354,0.315 -0.276 0.295,0.315 -0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.335 -0.276 0.295,0.345 -0.276 0.294,0.335 -0.472 0.295,0.345 -0.472 0.294,0.354 -0.276 0.290,0.354 -0.472 0.290,0.362 -0.276 0.284,0.362 -0.472 0.284,0.369 -0.276 0.276,0.369 -0.472 0.276,0.373 -0.276 0.266,0.373 -0.472 0.266,0.374 -0.276 0.256,0.374 -0.472 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.305 0.276 0.354,0.305 -0.276 0.354,0.315 0.276 0.354,0.315 -0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.315 -0.533 0.354,0.273 -0.561 0.354,0.278 -0.571 0.354,0.305 -0.529 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [0.278 -0.571 0.354,-0.273 -0.561 0.354,-0.278 -0.571 0.354,0.273 -0.561 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1]
|
||||
coord Coordinate { point [-0.278 -0.571 0.354,-0.305 -0.529 0.354,-0.315 -0.533 0.354,-0.273 -0.561 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.305 -0.529 0.354,-0.305 -0.472 0.354,-0.315 -0.533 0.354,-0.315 -0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,5,3,-1,3,5,1,-1,6,7,4,-1,4,7,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1,15,16,17,-1,14,16,15,-1,17,18,19,-1,16,18,17,-1,19,20,21,-1,18,20,19,-1,21,22,23,-1,20,22,21,-1,24,25,22,-1,22,25,23,-1,26,27,24,-1,24,27,25,-1,28,29,26,-1,26,29,27,-1,30,31,28,-1,28,31,29,-1]
|
||||
coord Coordinate { point [-0.551 -0.472 0.000,-0.472 -0.472 0.059,-0.551 -0.472 0.059,-0.472 -0.472 0.000,-0.447 -0.472 0.003,-0.462 -0.472 0.060,-0.423 -0.472 0.013,-0.453 -0.472 0.064,-0.403 -0.472 0.029,-0.445 -0.472 0.071,-0.387 -0.472 0.049,-0.438 -0.472 0.079,-0.377 -0.472 0.073,-0.434 -0.472 0.088,-0.374 -0.472 0.098,-0.433 -0.472 0.098,-0.374 -0.472 0.256,-0.433 -0.472 0.256,-0.373 -0.472 0.266,-0.430 -0.472 0.281,-0.369 -0.472 0.276,-0.420 -0.472 0.305,-0.362 -0.472 0.284,-0.404 -0.472 0.326,-0.354 -0.472 0.290,-0.384 -0.472 0.341,-0.345 -0.472 0.294,-0.360 -0.472 0.351,-0.335 -0.472 0.295,-0.335 -0.472 0.354,-0.315 -0.472 0.295,-0.315 -0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,5,3,-1,4,3,0,-1,6,7,5,-1,6,5,4,-1,8,9,7,-1,8,7,6,-1,10,8,11,-1,10,9,8,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1,16,15,17,-1,16,14,15,-1,18,17,19,-1,18,16,17,-1,20,19,21,-1,20,18,19,-1,22,21,23,-1,22,20,21,-1,24,25,22,-1,24,22,23,-1,26,27,25,-1,26,25,24,-1,28,29,27,-1,28,27,26,-1,30,31,29,-1,30,29,28,-1]
|
||||
coord Coordinate { point [-0.472 0.472 0.059,-0.551 0.472 0.000,-0.551 0.472 0.059,-0.472 0.472 0.000,-0.462 0.472 0.060,-0.447 0.472 0.003,-0.453 0.472 0.064,-0.423 0.472 0.013,-0.445 0.472 0.071,-0.403 0.472 0.029,-0.387 0.472 0.049,-0.438 0.472 0.079,-0.377 0.472 0.073,-0.434 0.472 0.088,-0.374 0.472 0.098,-0.433 0.472 0.098,-0.374 0.472 0.256,-0.433 0.472 0.256,-0.373 0.472 0.266,-0.430 0.472 0.281,-0.369 0.472 0.276,-0.420 0.472 0.305,-0.362 0.472 0.284,-0.404 0.472 0.326,-0.384 0.472 0.341,-0.354 0.472 0.290,-0.360 0.472 0.351,-0.345 0.472 0.294,-0.335 0.472 0.354,-0.335 0.472 0.295,-0.315 0.472 0.354,-0.315 0.472 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1]
|
||||
coord Coordinate { point [-0.305 0.472 0.354,-0.315 0.533 0.354,-0.315 0.472 0.354,-0.305 0.529 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.335 -0.472 0.295,-0.345 -0.472 0.294,-0.335 -0.276 0.295,-0.345 -0.276 0.294,-0.354 -0.472 0.290,-0.354 -0.276 0.290,-0.362 -0.472 0.284,-0.362 -0.276 0.284,-0.369 -0.472 0.276,-0.369 -0.276 0.276,-0.373 -0.472 0.266,-0.373 -0.276 0.266,-0.374 -0.472 0.256,-0.374 -0.276 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,5,3,-1,4,3,0,-1,6,7,5,-1,6,5,4,-1,8,9,7,-1,8,7,6,-1,10,8,11,-1,10,9,8,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1,16,15,17,-1,16,14,15,-1,18,17,19,-1,18,16,17,-1,20,19,21,-1,20,18,19,-1,22,21,23,-1,22,20,21,-1,24,25,22,-1,24,22,23,-1,26,27,25,-1,26,25,24,-1,28,29,27,-1,28,27,26,-1,30,31,29,-1,30,29,28,-1]
|
||||
coord Coordinate { point [-0.472 -0.276 0.059,-0.551 -0.276 0.000,-0.551 -0.276 0.059,-0.472 -0.276 0.000,-0.462 -0.276 0.060,-0.447 -0.276 0.003,-0.453 -0.276 0.064,-0.423 -0.276 0.013,-0.445 -0.276 0.071,-0.403 -0.276 0.029,-0.387 -0.276 0.049,-0.438 -0.276 0.079,-0.377 -0.276 0.073,-0.434 -0.276 0.088,-0.374 -0.276 0.098,-0.433 -0.276 0.098,-0.374 -0.276 0.256,-0.433 -0.276 0.256,-0.373 -0.276 0.266,-0.430 -0.276 0.281,-0.369 -0.276 0.276,-0.420 -0.276 0.305,-0.362 -0.276 0.284,-0.404 -0.276 0.326,-0.384 -0.276 0.341,-0.354 -0.276 0.290,-0.360 -0.276 0.351,-0.345 -0.276 0.294,-0.335 -0.276 0.354,-0.335 -0.276 0.295,-0.315 -0.276 0.354,-0.315 -0.276 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,5,3,-1,3,5,1,-1,6,7,4,-1,4,7,5,-1,8,9,6,-1,6,9,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1,15,16,17,-1,14,16,15,-1,17,18,19,-1,16,18,17,-1,19,20,21,-1,18,20,19,-1,21,22,23,-1,20,22,21,-1,24,25,22,-1,22,25,23,-1,26,27,24,-1,24,27,25,-1,28,29,26,-1,26,29,27,-1,30,31,28,-1,28,31,29,-1]
|
||||
coord Coordinate { point [-0.551 0.276 0.000,-0.472 0.276 0.059,-0.551 0.276 0.059,-0.472 0.276 0.000,-0.447 0.276 0.003,-0.462 0.276 0.060,-0.423 0.276 0.013,-0.453 0.276 0.064,-0.403 0.276 0.029,-0.445 0.276 0.071,-0.387 0.276 0.049,-0.438 0.276 0.079,-0.377 0.276 0.073,-0.434 0.276 0.088,-0.374 0.276 0.098,-0.433 0.276 0.098,-0.374 0.276 0.256,-0.433 0.276 0.256,-0.373 0.276 0.266,-0.430 0.276 0.281,-0.369 0.276 0.276,-0.420 0.276 0.305,-0.362 0.276 0.284,-0.404 0.276 0.326,-0.354 0.276 0.290,-0.384 0.276 0.341,-0.345 0.276 0.294,-0.360 0.276 0.351,-0.335 0.276 0.295,-0.335 0.276 0.354,-0.315 0.276 0.295,-0.315 0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.335 0.276 0.295,-0.345 0.276 0.294,-0.335 0.472 0.295,-0.345 0.472 0.294,-0.354 0.276 0.290,-0.354 0.472 0.290,-0.362 0.276 0.284,-0.362 0.472 0.284,-0.369 0.276 0.276,-0.369 0.472 0.276,-0.373 0.276 0.266,-0.373 0.472 0.266,-0.374 0.276 0.256,-0.374 0.472 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.305 -0.276 0.354,-0.305 -0.098 0.354,-0.315 -0.276 0.354,-0.315 -0.098 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,4,5,3,-1,3,5,1,-1,6,7,4,-1,4,7,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1,13,14,15,-1,12,14,13,-1,15,16,17,-1,14,16,15,-1,17,18,19,-1,16,18,17,-1,19,20,21,-1,18,20,19,-1,21,22,23,-1,20,22,21,-1,24,25,22,-1,22,25,23,-1,26,27,24,-1,24,27,25,-1,28,29,26,-1,26,29,27,-1,30,31,28,-1,28,31,29,-1]
|
||||
coord Coordinate { point [-0.551 -0.098 0.000,-0.472 -0.098 0.059,-0.551 -0.098 0.059,-0.472 -0.098 0.000,-0.447 -0.098 0.003,-0.462 -0.098 0.060,-0.423 -0.098 0.013,-0.453 -0.098 0.064,-0.403 -0.098 0.029,-0.445 -0.098 0.071,-0.387 -0.098 0.049,-0.438 -0.098 0.079,-0.377 -0.098 0.073,-0.434 -0.098 0.088,-0.374 -0.098 0.098,-0.433 -0.098 0.098,-0.374 -0.098 0.256,-0.433 -0.098 0.256,-0.373 -0.098 0.266,-0.430 -0.098 0.281,-0.369 -0.098 0.276,-0.420 -0.098 0.305,-0.362 -0.098 0.284,-0.404 -0.098 0.326,-0.354 -0.098 0.290,-0.384 -0.098 0.341,-0.345 -0.098 0.294,-0.360 -0.098 0.351,-0.335 -0.098 0.295,-0.335 -0.098 0.354,-0.315 -0.098 0.295,-0.315 -0.098 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1,4,5,3,-1,4,3,0,-1,6,7,5,-1,6,5,4,-1,8,6,9,-1,8,7,6,-1,10,9,11,-1,10,8,9,-1,12,11,13,-1,12,10,11,-1,14,13,15,-1,14,12,13,-1,16,15,17,-1,16,14,15,-1,18,17,19,-1,18,16,17,-1,20,19,21,-1,20,18,19,-1,22,21,23,-1,22,20,21,-1,24,25,22,-1,24,22,23,-1,26,27,25,-1,26,25,24,-1,28,29,27,-1,28,27,26,-1,30,31,29,-1,30,29,28,-1]
|
||||
coord Coordinate { point [-0.472 0.098 0.059,-0.551 0.098 0.000,-0.551 0.098 0.059,-0.472 0.098 0.000,-0.462 0.098 0.060,-0.447 0.098 0.003,-0.453 0.098 0.064,-0.423 0.098 0.013,-0.403 0.098 0.029,-0.445 0.098 0.071,-0.387 0.098 0.049,-0.438 0.098 0.079,-0.377 0.098 0.073,-0.434 0.098 0.088,-0.374 0.098 0.098,-0.433 0.098 0.098,-0.374 0.098 0.256,-0.433 0.098 0.256,-0.373 0.098 0.266,-0.430 0.098 0.281,-0.369 0.098 0.276,-0.420 0.098 0.305,-0.362 0.098 0.284,-0.404 0.098 0.326,-0.384 0.098 0.341,-0.354 0.098 0.290,-0.360 0.098 0.351,-0.345 0.098 0.294,-0.335 0.098 0.354,-0.335 0.098 0.295,-0.315 0.098 0.354,-0.315 0.098 0.295]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,3,1,-1]
|
||||
coord Coordinate { point [-0.305 0.098 0.354,-0.315 0.276 0.354,-0.315 0.098 0.354,-0.305 0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.335 -0.098 0.295,-0.345 -0.098 0.294,-0.335 0.098 0.295,-0.345 0.098 0.294,-0.354 -0.098 0.290,-0.354 0.098 0.290,-0.362 -0.098 0.284,-0.362 0.098 0.284,-0.369 -0.098 0.276,-0.369 0.098 0.276,-0.373 -0.098 0.266,-0.373 0.098 0.266,-0.374 -0.098 0.256,-0.374 0.098 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.275 0.548 0.406,0.281 0.542 0.406,0.273 0.561 0.354,0.286 0.537 0.406,0.305 0.529 0.354,0.292 0.531 0.406,0.271 0.542 0.457,0.276 0.537 0.457,0.281 0.531 0.457,0.286 0.526 0.457,0.255 0.525 0.610,0.266 0.535 0.508,0.271 0.531 0.508,0.275 0.526 0.508,0.279 0.522 0.508,0.269 0.511 0.610,0.262 0.529 0.559,0.265 0.525 0.559,0.269 0.521 0.559,0.273 0.518 0.559]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,0,2,3,-1,4,5,6,-1,4,7,5,-1,4,3,7,-1,4,0,3,-1]
|
||||
coord Coordinate { point [0.269 0.511 0.610,0.255 0.525 0.610,-0.255 0.525 0.610,-0.269 0.511 0.610,0.269 -0.511 0.610,-0.255 -0.525 0.610,0.255 -0.525 0.610,-0.269 -0.511 0.610]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.292 0.531 0.406,-0.286 0.537 0.406,-0.305 0.529 0.354,-0.281 0.542 0.406,-0.273 0.561 0.354,-0.275 0.548 0.406,-0.286 0.526 0.457,-0.281 0.531 0.457,-0.276 0.537 0.457,-0.271 0.542 0.457,-0.269 0.511 0.610,-0.279 0.522 0.508,-0.275 0.526 0.508,-0.271 0.531 0.508,-0.266 0.535 0.508,-0.255 0.525 0.610,-0.273 0.518 0.559,-0.269 0.521 0.559,-0.265 0.525 0.559,-0.262 0.529 0.559]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,5,4,6,-1,6,4,7,-1,1,4,3,-1]
|
||||
coord Coordinate { point [0.305 0.529 0.354,0.269 0.511 0.610,0.305 0.472 0.354,0.305 0.276 0.354,0.269 -0.511 0.610,0.305 -0.276 0.354,0.305 -0.472 0.354,0.305 -0.529 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1]
|
||||
coord Coordinate { point [0.335 0.276 0.354,0.315 0.472 0.354,0.315 0.276 0.354,0.335 0.472 0.354,0.305 0.472 0.354,0.305 0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.433 0.472 0.256,0.430 0.472 0.281,0.433 0.276 0.256,0.430 0.276 0.281,0.420 0.472 0.305,0.420 0.276 0.305,0.404 0.472 0.326,0.404 0.276 0.326,0.384 0.472 0.341,0.384 0.276 0.341,0.360 0.472 0.351,0.360 0.276 0.351,0.335 0.472 0.354,0.335 0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.433 0.472 0.098,0.433 0.472 0.256,0.433 0.276 0.098,0.433 0.276 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.472 0.472 0.059,0.462 0.472 0.060,0.472 0.276 0.059,0.462 0.276 0.060,0.453 0.472 0.064,0.453 0.276 0.064,0.445 0.472 0.071,0.445 0.276 0.071,0.438 0.472 0.079,0.438 0.276 0.079,0.434 0.472 0.088,0.434 0.276 0.088,0.433 0.472 0.098,0.433 0.276 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.551 0.472 0.059,0.472 0.472 0.059,0.551 0.276 0.059,0.472 0.276 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.551 0.472 0.000,0.551 0.472 0.059,0.551 0.276 0.000,0.551 0.276 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.472 0.472 0.000,0.551 0.472 0.000,0.472 0.276 0.000,0.551 0.276 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.374 0.472 0.098,0.377 0.472 0.073,0.374 0.276 0.098,0.377 0.276 0.073,0.387 0.472 0.049,0.387 0.276 0.049,0.403 0.472 0.029,0.403 0.276 0.029,0.423 0.472 0.013,0.423 0.276 0.013,0.447 0.472 0.003,0.447 0.276 0.003,0.472 0.472 0.000,0.472 0.276 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.374 0.472 0.256,0.374 0.472 0.098,0.374 0.276 0.256,0.374 0.276 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1]
|
||||
coord Coordinate { point [0.335 -0.472 0.354,0.315 -0.276 0.354,0.315 -0.472 0.354,0.335 -0.276 0.354,0.305 -0.276 0.354,0.305 -0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.433 -0.276 0.256,0.430 -0.276 0.281,0.433 -0.472 0.256,0.430 -0.472 0.281,0.420 -0.276 0.305,0.420 -0.472 0.305,0.404 -0.276 0.326,0.404 -0.472 0.326,0.384 -0.276 0.341,0.384 -0.472 0.341,0.360 -0.276 0.351,0.360 -0.472 0.351,0.335 -0.276 0.354,0.335 -0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.433 -0.276 0.098,0.433 -0.276 0.256,0.433 -0.472 0.098,0.433 -0.472 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.472 -0.276 0.059,0.462 -0.276 0.060,0.472 -0.472 0.059,0.462 -0.472 0.060,0.453 -0.276 0.064,0.453 -0.472 0.064,0.445 -0.276 0.071,0.445 -0.472 0.071,0.438 -0.276 0.079,0.438 -0.472 0.079,0.434 -0.276 0.088,0.434 -0.472 0.088,0.433 -0.276 0.098,0.433 -0.472 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.551 -0.276 0.059,0.472 -0.276 0.059,0.551 -0.472 0.059,0.472 -0.472 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.551 -0.276 0.000,0.551 -0.276 0.059,0.551 -0.472 0.000,0.551 -0.472 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.472 -0.276 0.000,0.551 -0.276 0.000,0.472 -0.472 0.000,0.551 -0.472 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [0.374 -0.276 0.098,0.377 -0.276 0.073,0.374 -0.472 0.098,0.377 -0.472 0.073,0.387 -0.276 0.049,0.387 -0.472 0.049,0.403 -0.276 0.029,0.403 -0.472 0.029,0.423 -0.276 0.013,0.423 -0.472 0.013,0.447 -0.276 0.003,0.447 -0.472 0.003,0.472 -0.276 0.000,0.472 -0.472 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [0.374 -0.276 0.256,0.374 -0.276 0.098,0.374 -0.472 0.256,0.374 -0.472 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [0.292 -0.531 0.406,0.286 -0.537 0.406,0.305 -0.529 0.354,0.281 -0.542 0.406,0.273 -0.561 0.354,0.275 -0.548 0.406,0.286 -0.526 0.457,0.281 -0.531 0.457,0.276 -0.537 0.457,0.271 -0.542 0.457,0.269 -0.511 0.610,0.279 -0.522 0.508,0.275 -0.526 0.508,0.271 -0.531 0.508,0.266 -0.535 0.508,0.255 -0.525 0.610,0.273 -0.518 0.559,0.269 -0.521 0.559,0.265 -0.525 0.559,0.262 -0.529 0.559]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,4,0,-1,0,4,1,-1,2,5,0,-1,3,6,4,-1,2,7,5,-1,1,7,2,-1,4,8,1,-1,1,8,7,-1,0,9,10,-1,5,9,0,-1,4,11,8,-1,3,11,6,-1,6,11,4,-1,7,12,5,-1,5,12,9,-1,8,13,7,-1,7,13,12,-1,9,14,10,-1,15,16,3,-1,3,16,11,-1,11,16,8,-1,8,16,13,-1,14,17,10,-1,12,17,9,-1,9,17,14,-1,10,18,15,-1,13,18,12,-1,17,18,10,-1,12,18,17,-1,18,19,15,-1,15,19,16,-1,13,19,18,-1,16,19,13,-1]
|
||||
coord Coordinate { point [0.273 -0.561 0.354,0.159 -0.547 0.457,0.161 -0.554 0.406,0.255 -0.525 0.610,0.157 -0.539 0.508,0.054 -0.554 0.406,0.155 -0.532 0.559,0.053 -0.547 0.457,0.052 -0.539 0.508,-0.054 -0.554 0.406,-0.273 -0.561 0.354,0.052 -0.532 0.559,-0.053 -0.547 0.457,-0.052 -0.539 0.508,-0.161 -0.554 0.406,-0.255 -0.525 0.610,-0.052 -0.532 0.559,-0.159 -0.547 0.457,-0.157 -0.539 0.508,-0.155 -0.532 0.559]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,3,4,-1,1,3,2,-1,3,5,4,-1,2,6,0,-1,6,7,0,-1,0,7,1,-1,1,8,3,-1,7,8,1,-1,5,9,4,-1,3,9,5,-1,8,9,3,-1,10,11,2,-1,2,11,6,-1,11,12,6,-1,6,12,7,-1,7,13,8,-1,12,13,7,-1,4,14,15,-1,9,14,4,-1,8,14,9,-1,13,14,8,-1,10,16,11,-1,11,17,12,-1,10,17,16,-1,16,17,11,-1,15,18,10,-1,12,18,13,-1,10,18,17,-1,17,18,12,-1,14,19,15,-1,13,19,14,-1,15,19,18,-1,18,19,13,-1]
|
||||
coord Coordinate { point [-0.275 -0.548 0.406,-0.281 -0.542 0.406,-0.273 -0.561 0.354,-0.286 -0.537 0.406,-0.305 -0.529 0.354,-0.292 -0.531 0.406,-0.271 -0.542 0.457,-0.276 -0.537 0.457,-0.281 -0.531 0.457,-0.286 -0.526 0.457,-0.255 -0.525 0.610,-0.266 -0.535 0.508,-0.271 -0.531 0.508,-0.275 -0.526 0.508,-0.279 -0.522 0.508,-0.269 -0.511 0.610,-0.262 -0.529 0.559,-0.265 -0.525 0.559,-0.269 -0.521 0.559,-0.273 -0.518 0.559]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,1,4,3,-1,4,5,6,-1,7,5,8,-1,6,5,9,-1,9,5,7,-1,1,5,4,-1]
|
||||
coord Coordinate { point [-0.305 -0.529 0.354,-0.269 -0.511 0.610,-0.305 -0.472 0.354,-0.305 -0.276 0.354,-0.305 -0.098 0.354,-0.269 0.511 0.610,-0.305 0.098 0.354,-0.305 0.472 0.354,-0.305 0.529 0.354,-0.305 0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE IC-BODY-EPOXY-04 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1]
|
||||
coord Coordinate { point [-0.335 -0.276 0.354,-0.315 -0.472 0.354,-0.315 -0.276 0.354,-0.335 -0.472 0.354,-0.305 -0.472 0.354,-0.305 -0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.433 -0.472 0.256,-0.430 -0.472 0.281,-0.433 -0.276 0.256,-0.430 -0.276 0.281,-0.420 -0.472 0.305,-0.420 -0.276 0.305,-0.404 -0.472 0.326,-0.404 -0.276 0.326,-0.384 -0.472 0.341,-0.384 -0.276 0.341,-0.360 -0.472 0.351,-0.360 -0.276 0.351,-0.335 -0.472 0.354,-0.335 -0.276 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.433 -0.472 0.098,-0.433 -0.472 0.256,-0.433 -0.276 0.098,-0.433 -0.276 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.472 -0.472 0.059,-0.462 -0.472 0.060,-0.472 -0.276 0.059,-0.462 -0.276 0.060,-0.453 -0.472 0.064,-0.453 -0.276 0.064,-0.445 -0.472 0.071,-0.445 -0.276 0.071,-0.438 -0.472 0.079,-0.438 -0.276 0.079,-0.434 -0.472 0.088,-0.434 -0.276 0.088,-0.433 -0.472 0.098,-0.433 -0.276 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.551 -0.472 0.059,-0.472 -0.472 0.059,-0.551 -0.276 0.059,-0.472 -0.276 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.551 -0.472 0.000,-0.551 -0.472 0.059,-0.551 -0.276 0.000,-0.551 -0.276 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.472 -0.472 0.000,-0.551 -0.472 0.000,-0.472 -0.276 0.000,-0.551 -0.276 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.374 -0.472 0.098,-0.377 -0.472 0.073,-0.374 -0.276 0.098,-0.377 -0.276 0.073,-0.387 -0.472 0.049,-0.387 -0.276 0.049,-0.403 -0.472 0.029,-0.403 -0.276 0.029,-0.423 -0.472 0.013,-0.423 -0.276 0.013,-0.447 -0.472 0.003,-0.447 -0.276 0.003,-0.472 -0.472 0.000,-0.472 -0.276 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.374 -0.472 0.256,-0.374 -0.472 0.098,-0.374 -0.276 0.256,-0.374 -0.276 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1]
|
||||
coord Coordinate { point [-0.335 0.472 0.354,-0.315 0.276 0.354,-0.315 0.472 0.354,-0.335 0.276 0.354,-0.305 0.276 0.354,-0.305 0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.433 0.276 0.256,-0.430 0.276 0.281,-0.433 0.472 0.256,-0.430 0.472 0.281,-0.420 0.276 0.305,-0.420 0.472 0.305,-0.404 0.276 0.326,-0.404 0.472 0.326,-0.384 0.276 0.341,-0.384 0.472 0.341,-0.360 0.276 0.351,-0.360 0.472 0.351,-0.335 0.276 0.354,-0.335 0.472 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.433 0.276 0.098,-0.433 0.276 0.256,-0.433 0.472 0.098,-0.433 0.472 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.472 0.276 0.059,-0.462 0.276 0.060,-0.472 0.472 0.059,-0.462 0.472 0.060,-0.453 0.276 0.064,-0.453 0.472 0.064,-0.445 0.276 0.071,-0.445 0.472 0.071,-0.438 0.276 0.079,-0.438 0.472 0.079,-0.434 0.276 0.088,-0.434 0.472 0.088,-0.433 0.276 0.098,-0.433 0.472 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.551 0.276 0.059,-0.472 0.276 0.059,-0.551 0.472 0.059,-0.472 0.472 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.551 0.276 0.000,-0.551 0.276 0.059,-0.551 0.472 0.000,-0.551 0.472 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.472 0.276 0.000,-0.551 0.276 0.000,-0.472 0.472 0.000,-0.551 0.472 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.374 0.276 0.098,-0.377 0.276 0.073,-0.374 0.472 0.098,-0.377 0.472 0.073,-0.387 0.276 0.049,-0.387 0.472 0.049,-0.403 0.276 0.029,-0.403 0.472 0.029,-0.423 0.276 0.013,-0.423 0.472 0.013,-0.447 0.276 0.003,-0.447 0.472 0.003,-0.472 0.276 0.000,-0.472 0.472 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.374 0.276 0.256,-0.374 0.276 0.098,-0.374 0.472 0.256,-0.374 0.472 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,3,1,0,-1,2,4,5,-1,1,4,2,-1]
|
||||
coord Coordinate { point [-0.335 0.098 0.354,-0.315 -0.098 0.354,-0.315 0.098 0.354,-0.335 -0.098 0.354,-0.305 -0.098 0.354,-0.305 0.098 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.433 -0.098 0.256,-0.430 -0.098 0.281,-0.433 0.098 0.256,-0.430 0.098 0.281,-0.420 -0.098 0.305,-0.420 0.098 0.305,-0.404 -0.098 0.326,-0.404 0.098 0.326,-0.384 -0.098 0.341,-0.384 0.098 0.341,-0.360 -0.098 0.351,-0.360 0.098 0.351,-0.335 -0.098 0.354,-0.335 0.098 0.354]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.433 -0.098 0.098,-0.433 -0.098 0.256,-0.433 0.098 0.098,-0.433 0.098 0.256]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.472 -0.098 0.059,-0.462 -0.098 0.060,-0.472 0.098 0.059,-0.462 0.098 0.060,-0.453 -0.098 0.064,-0.453 0.098 0.064,-0.445 -0.098 0.071,-0.445 0.098 0.071,-0.438 -0.098 0.079,-0.438 0.098 0.079,-0.434 -0.098 0.088,-0.434 0.098 0.088,-0.433 -0.098 0.098,-0.433 0.098 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.551 -0.098 0.059,-0.472 -0.098 0.059,-0.551 0.098 0.059,-0.472 0.098 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.551 -0.098 0.000,-0.551 -0.098 0.059,-0.551 0.098 0.000,-0.551 0.098 0.059]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.472 -0.098 0.000,-0.551 -0.098 0.000,-0.472 0.098 0.000,-0.551 0.098 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1,3,4,5,-1,1,4,3,-1,5,6,7,-1,4,6,5,-1,7,8,9,-1,6,8,7,-1,9,10,11,-1,8,10,9,-1,11,12,13,-1,10,12,11,-1]
|
||||
coord Coordinate { point [-0.374 -0.098 0.098,-0.377 -0.098 0.073,-0.374 0.098 0.098,-0.377 0.098 0.073,-0.387 -0.098 0.049,-0.387 0.098 0.049,-0.403 -0.098 0.029,-0.403 0.098 0.029,-0.423 -0.098 0.013,-0.423 0.098 0.013,-0.447 -0.098 0.003,-0.447 0.098 0.003,-0.472 -0.098 0.000,-0.472 0.098 0.000]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
||||
Shape { geometry IndexedFaceSet
|
||||
{ creaseAngle 0.50 coordIndex [0,1,2,-1,2,1,3,-1]
|
||||
coord Coordinate { point [-0.374 -0.098 0.256,-0.374 -0.098 0.098,-0.374 0.098 0.256,-0.374 0.098 0.098]
|
||||
}}
|
||||
appearance Appearance{material USE PIN-01 }
|
||||
}
|
2529
hardware/butns/model/shapes3D/TS-1187A.wrl
Normal file
2529
hardware/butns/model/shapes3D/TS-1187A.wrl
Normal file
File diff suppressed because it is too large
Load diff
16
hardware/butns/place_footprints.ini
Normal file
16
hardware/butns/place_footprints.ini
Normal file
|
@ -0,0 +1,16 @@
|
|||
[reference]
|
||||
arrangement = Matrix
|
||||
|
||||
[reference.linear]
|
||||
step_x = 11.43
|
||||
step_y = 11
|
||||
nth_rotate = 1
|
||||
nth_rotate_angle = 0
|
||||
|
||||
[reference.matrix]
|
||||
step_x = 11.43
|
||||
step_y = 11.4
|
||||
columns = 8
|
||||
nth_rotate = 1
|
||||
nth_rotate_angle = 0
|
||||
|
19
hardware/butns/place_footprints.log
Normal file
19
hardware/butns/place_footprints.log
Normal file
|
@ -0,0 +1,19 @@
|
|||
01-12 21:27:47 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 647:Plugin executed on: 'win32'
|
||||
01-12 21:27:47 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 648:Plugin executed with python version: '3.11.5 (main, Nov 3 2024, 06:58:22) [MSC v.1939 64 bit (AMD64)]'
|
||||
01-12 21:27:47 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 649:KiCad build version: 8.0.7
|
||||
01-12 21:27:47 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 650:Plugin version: 3.0.0
|
||||
01-12 21:27:47 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 651:Frame repr: <wx._core.Frame object at 0x00000127B37F6560>
|
||||
01-12 21:27:47 com_github_MitjaNemec_PlaceFootprints.place_footprints 121:getting a list of all footprints on board
|
||||
01-12 21:27:48 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 830:Reference designator is: D
|
||||
01-12 21:27:48 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 831:Reference number is: 1
|
||||
01-12 21:27:48 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 863:Sorted and filtered list:
|
||||
['D1', 'D2', 'D3', 'D4', 'D5', 'D6', 'D7', 'D8', 'D9', 'D10', 'D11', 'D12', 'D13', 'D14', 'D15', 'D16', 'D17', 'D18', 'D19', 'D20', 'D21', 'D22', 'D23', 'D24', 'D25', 'D26', 'D27', 'D28', 'D29', 'D30', 'D31', 'D32', 'D33', 'D34', 'D35', 'D36', 'D37', 'D38', 'D39', 'D40', 'D41', 'D42', 'D43', 'D44', 'D45', 'D46', 'D47', 'D48', 'D49', 'D50', 'D51', 'D52', 'D53', 'D54', 'D55', 'D56', 'D57', 'D58', 'D59', 'D60', 'D61', 'D62', 'D63', 'D64', 'D65', 'D66', 'D67', 'D68', 'D69', 'D70', 'D71', 'D72', 'D73', 'D74', 'D75', 'D76', 'D77', 'D78', 'D79', 'D80', 'D81', 'D82', 'D83', 'D84', 'D85', 'D86', 'D87', 'D88', 'D89', 'D90', 'D91', 'D92', 'D93', 'D94', 'D95', 'D96', 'D97', 'D98', 'D99', 'D100', 'D101', 'D102', 'D103', 'D104', 'D105', 'D106', 'D107', 'D108', 'D109', 'D110', 'D111', 'D112', 'D113', 'D114', 'D115', 'D116', 'D117', 'D118', 'D119', 'D120', 'D121', 'D122', 'D123', 'D124', 'D125', 'D126', 'D127', 'D128']
|
||||
01-12 21:27:48 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 359:wx.Colour(240, 240, 240, 255)
|
||||
01-12 21:28:05 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 490:'11.43'
|
||||
01-12 21:28:05 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 549:Preparing config for reference matrix
|
||||
01-12 21:28:05 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 556:Saving config file
|
||||
01-12 21:28:05 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 558:Saved the config file
|
||||
01-12 21:28:05 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 901:Footprints to place:
|
||||
['D1', 'D66', 'D67', 'D68', 'D69', 'D70', 'D71', 'D72', 'D73', 'D74', 'D75', 'D76', 'D77', 'D78', 'D79', 'D80', 'D81', 'D82', 'D83', 'D84', 'D85', 'D86', 'D87', 'D88', 'D89', 'D90', 'D91', 'D92', 'D93', 'D94', 'D95', 'D96', 'D97', 'D98', 'D99', 'D100', 'D101', 'D102', 'D103', 'D104', 'D105', 'D106', 'D107', 'D108', 'D109', 'D110', 'D111', 'D112', 'D113', 'D114', 'D115', 'D116', 'D117', 'D118', 'D119', 'D120', 'D121', 'D122', 'D123', 'D124', 'D125', 'D126', 'D127', 'D128']
|
||||
01-12 21:28:05 com_github_MitjaNemec_PlaceFootprints.place_footprints 398:Starting placing with matrix layout
|
||||
01-12 21:28:05 com_github_MitjaNemec_PlaceFootprints.action_place_footprints 971:Placing complete
|
483
hardware/butns/switch.pretty/SW_Push_1P1T_XKB_TS-1187A.kicad_mod
Normal file
483
hardware/butns/switch.pretty/SW_Push_1P1T_XKB_TS-1187A.kicad_mod
Normal file
|
@ -0,0 +1,483 @@
|
|||
(footprint "SW_Push_1P1T_XKB_TS-1187A"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(descr "SMD Tactile Switch, http://www.helloxkb.com/public/images/pdf/TS-1187A-X-X-X.pdf")
|
||||
(tags "SPST Tactile Switch")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -3.75 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0fc88032-8838-49cb-b728-e0b2251840d2")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "SW_Push_1P1T_XKB_TS-1187A"
|
||||
(at 0 3.75 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "098ec8e4-6659-4ce6-b4c3-ae561d210993")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "9fb4ec74-bc0d-43d4-b9ef-86a1b02ead6c")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "d5ab142f-4d77-4d41-aee8-c936c330a9ba")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "03ae8778-da12-4fca-8e8d-35cbd6b74e6e")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -2.75 -1)
|
||||
(end -2.75 1)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "941ff02d-374c-492c-b70e-ea94e5596660")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.75 -2.3)
|
||||
(end -1.3 -2.75)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b64561e2-5283-4320-ad2f-22d8d155cd2d")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.75 2.3)
|
||||
(end -1.3 2.75)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e1617325-1227-4e2f-8e74-ec6ac3cc3802")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.3 -2.75)
|
||||
(end 1.3 -2.75)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e285da31-e958-4dfe-99c0-3b1a54db8474")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.3 2.75)
|
||||
(end 1.3 2.75)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "1cc622c8-5edd-424b-a80a-cbd632bf99a9")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.75 -2.3)
|
||||
(end 1.3 -2.75)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ebcc5964-41c5-4aa8-954a-f8c7f6a325b4")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.75 2.3)
|
||||
(end 1.3 2.75)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "5b6164bf-5fe5-4953-b766-377eb7c94d4b")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.75 -1)
|
||||
(end 2.75 1)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "6060628a-c37c-4953-90a4-b75480eeecd2")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.75 -2.8)
|
||||
(end 3.75 -2.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "5879d20c-e1c3-4e09-bb27-0e2a8f680e9b")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.75 2.8)
|
||||
(end -3.75 -2.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "4b8bfbf1-bd2d-4d6f-9a69-04f9237976e3")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.75 -2.8)
|
||||
(end 3.75 2.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "26ab84ce-b512-4422-bcb0-4bf52b589e44")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.75 2.8)
|
||||
(end -3.75 2.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "48619444-ce04-48e0-b9e7-e534975f9cfb")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.9 -2.1)
|
||||
(end -2.9 -1.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "625218e5-06ef-4466-bca2-cac51162509c")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.9 2.1)
|
||||
(end -2.9 1.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "9dc7a01d-61ae-42fc-ab00-89bd3789f964")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.4 -1.4)
|
||||
(end -1.4 -2.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "77ec156c-6de3-4fc4-9def-5a14a4fa8d68")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.4 -1.25)
|
||||
(end -2.4 -1.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "91424ca6-8205-41b8-b676-6e724d4e65d5")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.4 1.4)
|
||||
(end -2.4 1.25)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "4ee473f8-5454-4ad8-991f-31bb98bec5a6")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.4 -2.4)
|
||||
(end -1.25 -2.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "ed1fe0fc-33d4-4b9c-8db4-6175f44d6fa1")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.4 2.4)
|
||||
(end -2.4 1.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "c6d08a68-7636-4937-b29a-c6dd53b9cb3b")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.25 2.4)
|
||||
(end -1.4 2.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "a86850e5-36f8-4994-bb7d-196a374053f0")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.25 -2.4)
|
||||
(end 1.4 -2.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "a770d2ed-55a4-423f-ad33-b6346a1f5697")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.4 -2.4)
|
||||
(end 2.4 -1.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "1687e6f5-029a-4ee9-9bfd-8418c6227eea")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.4 2.4)
|
||||
(end 1.25 2.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "9415a416-5986-4ca8-9cb1-381949a9b4b5")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.4 -1.4)
|
||||
(end 2.4 -1.25)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "d0193ff8-b2ae-460a-8144-b2e20d1e15a0")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.4 1.25)
|
||||
(end 2.4 1.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "d7bd29d5-74b7-4f1a-8161-738eb71ebc5c")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.4 1.4)
|
||||
(end 1.4 2.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "7e4b2dc0-0824-458c-9a0c-bcbce8e92283")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.9 -2.1)
|
||||
(end 2.9 -1.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "ceb72299-f2e9-4faf-ae6b-4807b91f49e9")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.9 2.1)
|
||||
(end 2.9 1.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "a1b7a36f-f2f7-4ea1-aebf-892fa3c880e3")
|
||||
)
|
||||
(fp_circle
|
||||
(center 0 0)
|
||||
(end 1 0)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "d09fe098-c854-4f1a-b216-9e4782c5f368")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -1.7 -2.1) (xy -2.2 -1.6) (xy -3.25 -1.6) (xy -3.25 -2.1)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "6f05189b-050e-4df1-8cce-c345e106f690")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -1.7 2.1) (xy -2.2 1.6) (xy -3.25 1.6) (xy -3.25 2.1)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "8ea09fd2-29cd-4b39-95d0-f6b8cccaf50e")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 1.7 -2.1) (xy 2.2 -1.6) (xy 3.25 -1.6) (xy 3.25 -2.1)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "f0572845-8e71-4b9a-a23c-9946e1f5ae0f")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 1.7 2.1) (xy 2.2 1.6) (xy 3.25 1.6) (xy 3.25 2.1)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "ed4771a9-6196-4694-ad9c-6d04b1154a7b")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 0.85 -1.85) (xy 1.85 -0.85) (xy 1.85 0.85) (xy 0.85 1.85) (xy -0.85 1.85) (xy -1.85 0.85) (xy -1.85 -0.85)
|
||||
(xy -0.85 -1.85)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "46819414-db13-4f18-a0be-9ad4fd5f1f26")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -1.25 -2.55) (xy 1.25 -2.55) (xy 1.25 -1.975) (xy 1.575 -1.975) (xy 1.975 -1.575) (xy 1.975 -1.25)
|
||||
(xy 2.55 -1.25) (xy 2.55 1.25) (xy 1.975 1.25) (xy 1.975 1.575) (xy 1.575 1.975) (xy 1.25 1.975)
|
||||
(xy 1.25 2.55) (xy -1.25 2.55) (xy -1.25 1.975) (xy -1.575 1.975) (xy -1.975 1.575) (xy -1.975 1.25)
|
||||
(xy -2.55 1.25) (xy -2.55 -1.25) (xy -1.975 -1.25) (xy -1.975 -1.575) (xy -1.575 -1.975) (xy -1.25 -1.975)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "bc77dbbd-56d3-4c6c-aa13-ea19fc3167c2")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 -3.75 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "c6cead17-e57a-4afe-84eb-9de8c8bcf151")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at -3 -1.875)
|
||||
(size 1 0.75)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "2fdf9f96-3bc8-4370-a497-47cf413d8eb6")
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at 3 -1.875)
|
||||
(size 1 0.75)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "ef152499-9140-4e95-9a81-89d58a4473ba")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at -3 1.875)
|
||||
(size 1 0.75)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "c0f8e203-3d85-4d5e-bbf8-0a1cf32bcf1b")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at 3 1.875)
|
||||
(size 1 0.75)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "0320eeb2-6a91-4d2d-9032-8bc9cc0cb72d")
|
||||
)
|
||||
(model "${KIPRJMOD}/TS-1187A.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
5
hardware/butns/sym-lib-table
Normal file
5
hardware/butns/sym-lib-table
Normal file
|
@ -0,0 +1,5 @@
|
|||
(sym_lib_table
|
||||
(version 7)
|
||||
(lib (name "SK6812-EC20")(type "KiCad")(uri "${KIPRJMOD}/SK6812-EC20.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "MCU_RaspberryPi_and_Boards")(type "KiCad")(uri "${KIPRJMOD}/MCU_RaspberryPi_and_Boards.kicad_sym")(options "")(descr ""))
|
||||
)
|
Loading…
Reference in a new issue