Merge branch 'r0p7_merge' into 'main'

R0p7 merge

See merge request zephray/glider!1
This commit is contained in:
Wenting Zhang 2024-05-03 03:57:11 +00:00
commit be95b00c44
57 changed files with 616219 additions and 101768 deletions

4
.gitignore vendored
View file

@ -2,6 +2,8 @@
build/
.DS_Store
*.bak
pcb-backups/
*-backups/
production/
gerber/
#auto_saved_files#
*.lck

View file

@ -10,3 +10,26 @@ R0.3
1. Remove on-board 39pin/ 50pin connector, switch to 40pin connector or EPD
2. Remove DSI input connector
3. Add DisplayPort to LVDS bridge chip and DisplayPort input
R0.4
1. Use Type-C input instead of full-size DisplayPort port
R0.5
1. Switch from MAX17135 PMIC to TPS65185 PMIC
2. Switch to a different TypeC connector model
3. Added global current limit
R0.6
1. Switch to individual DCDCs for Eink power supply
Lite R0.1
1. Use DVI TMDS input in place of Type-C input and DP bridge
2. Use DCDC instead of charge pump + zener diode for lower Iq
3. Add user button
4. Add VCOM measure capability
5. Add RP2040 SWD connector
R0.7
1. Import DVI TMDS input, newly revised power supply and user button from RL0.1
2. Connect FPGA to RP2040's hardware SPI
3. Fix USB Type C mux connection

View file

@ -7,8 +7,8 @@ set(CMAKE_CXX_STANDARD 17)
# initalize pico_sdk from installed location
# (note this can come from environment, CMake cache etc)
set(PICO_SDK_PATH "/home/wenting/pico/pico-sdk")
set(PICO_EXTRAS_PATH "/home/wenting/pico/pico-extras")
#set(PICO_SDK_PATH "/home/wenting/pico/pico-sdk")
#set(PICO_EXTRAS_PATH "/home/wenting/pico/pico-extras")
# Pull in Raspberry Pi Pico SDK (must be before project)
include(pico_sdk_import.cmake)
@ -24,17 +24,17 @@ pico_sdk_init()
# Add executable. Default name is the project name, version 0.1
add_executable(fw
adv7611.c
bitstream.c
button.c
caster.c
edid.c
fpga.c
fusb302.c
fw.c
max17135.c
power.c
ptn3460.c
tcpm_driver.c
tps65185.c
usb_mux.c
usb_pd_driver.c
usb_pd_policy.c

179
fw/adv7611.c Normal file
View file

@ -0,0 +1,179 @@
//
// Copyright 2024 Wenting Zhang <zephray@outlook.com>
//
// 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.
//
#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/i2c.h"
#include "config.h"
#include "adv7611.h"
#include "edid.h"
#ifdef INPUT_ADV7611
#define ADV7611_INT_PIN (1)
#define ADV7611_RST_PIN (25)
#define ADV7611_I2C (i2c1)
#define ADV7611_I2C_ADDR (0x4C)
// Sub addresses, make sure they don't conflict with anything else!
#define CEC_I2C_ADDR (0x40) // Default 0x80(0x40)
#define INFOFRAME_I2C_ADDR (0x3E) // Default 0x7C(0x3E)
#define DPLL_I2C_ADDR (0x26) // Default 0x26(0x4C)
#define KSV_I2C_ADDR (0x32) // Default 0x32(0x64)
#define EDID_I2C_ADDR (0x36) // Default 0x36(0x6C)
#define HDMI_I2C_ADDR (0x34) // Default 0x34(0x68)
#define CP_I2C_ADDR (0x23) // Default 0x22(0x44)
static const uint8_t adv7611_init_0[] = {
ADV7611_I2C_ADDR, 0xf4, (CEC_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xf5, (INFOFRAME_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xf8, (DPLL_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xf9, (KSV_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xfa, (EDID_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xfb, (HDMI_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xfd, (CP_I2C_ADDR << 1),
};
static const uint8_t adv7611_init_1[] = {
ADV7611_I2C_ADDR, 0xf4, (CEC_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xf5, (INFOFRAME_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xf8, (DPLL_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xf9, (KSV_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xfa, (EDID_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xfb, (HDMI_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0xfd, (CP_I2C_ADDR << 1),
ADV7611_I2C_ADDR, 0x01, 0x05, // Prim_mode = 110b HDMI-GR
ADV7611_I2C_ADDR, 0x00, 0x13,
ADV7611_I2C_ADDR, 0x02, 0xf2, // F8 = YUV, F2 = RGB
ADV7611_I2C_ADDR, 0x03, 0x40, // 40 = 444
ADV7611_I2C_ADDR, 0x04, 0x42, // P[23:16] V/R, P[15:8] Y/G, P[7:0] U/CrCb/B CLK=28.63636MHz
ADV7611_I2C_ADDR, 0x05, 0x28,
ADV7611_I2C_ADDR, 0x06, 0xa7,
ADV7611_I2C_ADDR, 0x0b, 0x44,
ADV7611_I2C_ADDR, 0x0C, 0x42,
ADV7611_I2C_ADDR, 0x15, 0x80,
ADV7611_I2C_ADDR, 0x19, 0x8a,
ADV7611_I2C_ADDR, 0x33, 0x40,
ADV7611_I2C_ADDR, 0x14, 0x3f,
CP_I2C_ADDR, 0xba, 0x01,
CP_I2C_ADDR, 0x7c, 0x01,
KSV_I2C_ADDR, 0x40, 0x81, // DSP_Ctrl4 :00/01 : YUV or RGB; 10 : RAW8; 11 : RAW10
HDMI_I2C_ADDR, 0x9b, 0x03, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc1, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc2, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc3, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc4, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc5, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc6, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc7, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc8, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xc9, 0x01, // ADI recommanded settin g
HDMI_I2C_ADDR, 0xca, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xcb, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0xcc, 0x01, // ADI recommanded setting
HDMI_I2C_ADDR, 0x00, 0x00, // Set HDMI input Port A
HDMI_I2C_ADDR, 0x83, 0xfe, // terminator for Port A
HDMI_I2C_ADDR, 0x6f, 0x08, // ADI recommended setting
HDMI_I2C_ADDR, 0x85, 0x1f, // ADI recommended setting
HDMI_I2C_ADDR, 0x87, 0x70, // ADI recommended setting
HDMI_I2C_ADDR, 0x8d, 0x04, // LFG
HDMI_I2C_ADDR, 0x8e, 0x1e, // HFG
HDMI_I2C_ADDR, 0x1a, 0x8a, // unmute audio
HDMI_I2C_ADDR, 0x57, 0xda, // ADI recommended setting
HDMI_I2C_ADDR, 0x58, 0x01,
HDMI_I2C_ADDR, 0x75, 0x10,
HDMI_I2C_ADDR, 0x6c, 0xa3, // enable manual HPA
ADV7611_I2C_ADDR, 0x20, 0x70, // HPD low
KSV_I2C_ADDR, 0x74, 0x00, // disable internal EDID
};
static const uint8_t adv7611_init_2[] = {
KSV_I2C_ADDR, 0x74, 0x01, // Enable the Internal EDID for Ports
ADV7611_I2C_ADDR, 0x20, 0xf0, // HPD high
HDMI_I2C_ADDR, 0x6c, 0xa2, // disable manual HPA
ADV7611_I2C_ADDR, 0xf4, 0x00
};
static void adv7611_send_init_seq(const uint8_t *seq, int entries) {
uint8_t addr;
uint8_t buf[2];
int result;
for (int i = 0; i < entries; i++) {
addr = seq[i*3];
buf[0] = seq[i*3 + 1];
buf[1] = seq[i*3 + 2];
result = i2c_write_blocking(ADV7611_I2C, addr, buf, 2, false);
if (result != 2) {
fatal("Failed writing data to ADV7611\n");
}
}
}
static void adv7611_load_edid(uint8_t *edid) {
uint8_t buf[2];
int result;
for (int i = 0; i < 128; i++) {
buf[0] = i;
buf[1] = edid[i];
result = i2c_write_blocking(ADV7611_I2C, EDID_I2C_ADDR, buf, 2, false);
if (result != 2) {
fatal("Failed writing data to ADV7611\n");
}
}
}
void adv7611_early_init() {
// Initialize IO, reset ADV7611 and allocate I2C addresses
// So it won't conflict with other ICs
gpio_init(ADV7611_RST_PIN);
gpio_set_dir(ADV7611_RST_PIN, GPIO_OUT);
gpio_init(ADV7611_INT_PIN);
gpio_set_dir(ADV7611_INT_PIN, GPIO_IN);
gpio_put(ADV7611_RST_PIN, 1);
sleep_ms(100);
gpio_put(ADV7611_RST_PIN, 0);
sleep_ms(100);
gpio_put(ADV7611_RST_PIN, 1);
sleep_ms(100);
}
void adv7611_init() {
adv7611_send_init_seq(adv7611_init_0, sizeof(adv7611_init_0) / 3);
adv7611_send_init_seq(adv7611_init_1, sizeof(adv7611_init_1) / 3);
uint8_t *edid = edid_get_raw();
adv7611_load_edid(edid + 1);
adv7611_send_init_seq(adv7611_init_2, sizeof(adv7611_init_2) / 3);
printf("ADV7611 initialization done\n");
}
bool adv7611_is_valid(void) {
return false; // TODO
}
#endif

View file

@ -1,5 +1,5 @@
//
// Copyright 2022 Wenting Zhang <zephray@outlook.com>
// Copyright 2024 Wenting Zhang <zephray@outlook.com>
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@ -21,6 +21,8 @@
//
#pragma once
void tps_init(void);
void tps_enable(bool en);
void tps_set_vcom(uint16_t vcom);
#ifdef INPUT_ADV7611
void adv7611_early_init(void);
void adv7611_init(void);
bool adv7611_is_valid(void);
#endif

File diff suppressed because it is too large Load diff

126
fw/button.c Normal file
View file

@ -0,0 +1,126 @@
//
// Copyright 2024 Wenting Zhang <zephray@outlook.com>
//
// 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.
//
#include <stdio.h>
#include "pico/stdlib.h"
#include "button.h"
#define BTN1 6
#define BTN2 5
#define BTNCNT 2
#define SHORT_PRESS_THRESHOLD 20
#define LONG_PRESS_THRESHOLD 500
#define RELEASE_THRESHOLD 20
void button_init() {
gpio_init(BTN1);
gpio_set_dir(BTN1, GPIO_IN);
gpio_pull_up(BTN1);
gpio_init(BTN2);
gpio_set_dir(BTN2, GPIO_IN);
gpio_pull_up(BTN2);
}
// Scan a single key, ID is the key number from 0, gpio is pin number
// Should be called at ~1ms interval
// Return value:
// 0 when nothing pressed
// 1 when short pressed
// 2 when long pressed
static uint32_t button_scan_single(int id, int gpio) {
static int timecntr[BTNCNT] = {0};
static enum {
STATE_IDLE,
STATE_FIRST_PRESSED,
STATE_HOLDING,
STATE_RELEASED
} state[BTNCNT] = {0};
uint32_t retval = 0;
switch (state[id]) {
case STATE_IDLE:
if (gpio_get(gpio) == 0) {
state[id] = STATE_FIRST_PRESSED;
timecntr[id] = 0;
}
break;
case STATE_FIRST_PRESSED:
timecntr[id]++;
if (gpio_get(gpio) == 0) {
// Still pressing
if (timecntr[id] >= SHORT_PRESS_THRESHOLD) {
state[id] = STATE_HOLDING;
timecntr[id] = 0;
}
}
else {
// No longer pressed
state[id] = STATE_IDLE;
}
break;
case STATE_HOLDING:
timecntr[id]++;
if (gpio_get(gpio) == 0) {
// Still holding
if (timecntr[id] == LONG_PRESS_THRESHOLD) {
// Exactly when reaching the threshold, return the key press
// User gets feedback as soon as the threshold is reached
retval = 2;
}
}
else {
// No longer holding
if (timecntr[id] < LONG_PRESS_THRESHOLD) {
// Is a short press, signal
retval = 1;
}
timecntr[id] = 0;
state[id] = STATE_RELEASED;
}
break;
case STATE_RELEASED:
if (gpio_get(gpio) == 0) {
// Pressed, reset time counter
timecntr[id] = 0;
}
else {
// Keep counting time
// Only treat key as released when reaching threshold
timecntr[id]++;
if (timecntr[id] >= RELEASE_THRESHOLD) {
state[id] = STATE_IDLE;
}
}
break;
}
return retval;
}
uint32_t button_scan() {
uint32_t btn1 = button_scan_single(0, BTN1);
uint32_t btn2 = button_scan_single(1, BTN2);
uint32_t retval = (btn1 & 0x3) | ((btn2 & 0x3) << 2);
return retval;
}

View file

@ -1,5 +1,5 @@
//
// Copyright 2022 Wenting Zhang <zephray@outlook.com>
// Copyright 2024 Wenting Zhang <zephray@outlook.com>
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@ -21,6 +21,5 @@
//
#pragma once
void max_init(void);
void max_set_vcom(uint16_t vcom);
void max_enable(bool en);
void button_init();
uint32_t button_scan();

View file

@ -23,10 +23,7 @@
/* BOARD REVISION CONFIGURATION */
// Eariler revisions are not supported
//#define BOARD_REV_R0P5
//#define BOARD_REV_R0P6
// Lite version uses DVI instead of Type-C DP Alt-mode
#define BOARD_REV_RL0P1
#define BOARD_REV_R0P7
/* SCREEN CONFIGURATION */
@ -34,33 +31,30 @@
// #define SCREEN_7_8_INCH
// #define SCREEN_10_3_INCH
// #define SCREEN_10_8_INCH
#define SCREEN_13_3_INCH
#define SCREEN_11_3_INCH
// #define SCREEN_13_3_INCH
// #define SCREEN_600_800
// #define SCREEN_800_600
// #define SCREEN_1024_758
// #define SCREEN_1448_1072
#define SCREEN_1600_1200
// #define SCREEN_1600_1200
// #define SCREEN_1872_1404
// #define SCREEN_1920_1080
// #define SCREEN_2200_1650
#define SCREEN_2400_1034
#define SCREEN_MONO
// #define SCREEN_DES_COLOR
/* SET BASED ON PREVIOUS DEFINES, DO NOT MODIFY */
#if defined(BOARD_REV_R0P5)
#define POWER_TPS65185
#define INPUT_TYPEC
#elif defined(BOARD_REV_R0P6)
#define POWER_GPIO
// VCOM measurement is not supported
#define INPUT_TYPEC
#elif defined(BOARD_REV_RL0P1)
#if defined(BOARD_REV_R0P7)
#define POWER_GPIO
#define POWER_GPIO_VCOM_MEASURE
#define INPUT_DVI
#define INPUT_ADV7611
#define INPUT_PTN3460
#define HAS_TYPEC
#else
#error "Unknown board revision"
#endif
@ -92,6 +86,10 @@
#define SCREEN_SIZE_X 270
#define SCREEN_SIZE_Y 203
#define SCREEN_ASPECT SCREEN_ASPECT_4_3
#elif defined(SCREEN_11_3_INCH)
#define SCREEN_SIZE_X 264
#define SCREEN_SIZE_Y 114
#define SCREEN_ASPECT SCREEN_ASPECT_16_9
#else
#error "Unknown screen size"
#endif
@ -213,4 +211,15 @@
#define SCREEN_VBLK 20
#define SCREEN_VFP 1
#define SCREEN_VSYNC 5
#elif defined(SCREEN_2400_1034)
// 2400x1034
#define SCREEN_CLK 159000
#define SCREEN_HACT 2400
#define SCREEN_VACT 1034
#define SCREEN_HBLK 80
#define SCREEN_HFP 8
#define SCREEN_HSYNC 32
#define SCREEN_VBLK 35
#define SCREEN_VFP 21
#define SCREEN_VSYNC 8
#endif

View file

@ -27,16 +27,17 @@
#include "edid.h"
#include "config.h"
#if defined(INPUT_DVI)
#ifdef BOARD_USE_EDID_EMU
#define EDID_I2C_ADDRESS (0x50)
#define EDID_I2C (i2c0)
#define EDID_I2C_SDA (0)
#define EDID_I2C_SCL (1)
#define EDID_VID_IN_PARAM (0x81) // DVI input
#elif defined(INPUT_TYPEC)
#define EDID_VID_IN_PARAM (0x85) // DisplayPort input
#endif
// 0x81 for DVI, 0x85 for DP
// Always use 0x85 for now, doesn't really matter
#define EDID_VID_IN_PARAM (0x85)
static char edid[129] = {
0x00, // register number, not part of EDID
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, // fixed header (0-7)
@ -90,7 +91,7 @@ static char edid[129] = {
0x00 // checksum (127)
};
#ifdef INPUT_DVI
#ifdef BOARD_USE_EDID_EMU
static void edid_i2c_slave_handler(i2c_inst_t *i2c, i2c_slave_event_t event) {
static uint8_t addr = 0;
@ -133,7 +134,7 @@ void edid_init() {
checksum = ~checksum + 1;
edid[128] = checksum;
#ifdef INPUT_DVI
#ifdef BOARD_USE_EDID_EMU
// DVI models has DDC I2C connected directly to the RP2040
// EDID ROM emulation is needed

View file

@ -25,10 +25,10 @@
#include "fpga.h"
#include "bitstream.h"
#define FPGA_CS 12
#define FPGA_MOSI 13
#define FPGA_MISO 14
#define FPGA_SCLK 15
#define FPGA_CS 13
#define FPGA_MOSI 15
#define FPGA_MISO 12
#define FPGA_SCLK 14
#define FPGA_PROG 17
#define FPGA_DONE 18
#define FPGA_SUSP 19

119
fw/fw.c
View file

@ -29,9 +29,11 @@
#include "tcpm_driver.h"
#include "usb_pd.h"
#include "ptn3460.h"
#include "adv7611.h"
#include "power.h"
#include "fpga.h"
#include "edid.h"
#include "button.h"
#include "caster.h"
int main()
@ -43,10 +45,41 @@ int main()
printf("\n");
printf("Glider\n");
// TODO: Unify both input options
#if defined(INPUT_DVI)
#ifdef INPUT_ADV7611
// Need to release ADV from reset, otherwise it would hold the I2C bus
adv7611_early_init();
#endif
// Initialize I2C for TCPC/PTN3460/ADV7611 use
i2c_init(i2c1, 100*1000);
gpio_set_function(2, GPIO_FUNC_I2C);
gpio_set_function(3, GPIO_FUNC_I2C);
gpio_pull_up(2);
gpio_pull_up(3);
#ifdef HAS_TYPEC
int result = tcpm_init(0);
if (result)
fatal("Failed to initialize TCPC\n");
int cc1, cc2;
tcpc_config[0].drv->get_cc(0, &cc1, &cc2);
printf("CC status %d %d\n", cc1, cc2);
#endif
power_init();
pd_init(0);
sleep_ms(50);
edid_init();
#ifdef INPUT_PTN3460
ptn3460_init();
#endif
#ifdef INPUT_ADV7611
adv7611_init();
#endif
power_enable(true);
//sleep_run_from_xosc();
@ -54,13 +87,9 @@ int main()
// https://ghubcoder.github.io/posts/awaking-the-pico/
fpga_init();
caster_init();
//sleep_ms(5000);
//caster_init();
gpio_init(2);
gpio_set_dir(2, GPIO_IN);
gpio_pull_up(2);
button_init();
int mode_max = 6;
int mode = 1;
@ -73,59 +102,12 @@ int main()
UM_AUTO_LUT_ERROR_DIFFUSION
};
while (1) {
//
if (gpio_get(2) == 0) {
sleep_ms(20);
if (gpio_get(2) == 0) {
int i = 0;
while (gpio_get(2) == 0) {
i++;
sleep_ms(1);
if (i > 500)
break;
}
if (i > 500) {
// Long press, clear screen
caster_redraw(0,0,1600,1200);
}
else {
// Short press, switch mode
mode++;
if (mode >= mode_max) mode = 0;
caster_setmode(0,0,1600,1200,modes[mode]);
}
while (gpio_get(2) == 0);
}
while (gpio_get(2) == 0);
}
}
#elif defined(INPUT_TYPEC)
int result = tcpm_init(0);
if (result)
fatal("Failed to initialize TCPC\n");
int cc1, cc2;
tcpc_config[0].drv->get_cc(0, &cc1, &cc2);
printf("CC status %d %d\n", cc1, cc2);
gpio_init(10);
gpio_put(10, 0);
gpio_set_dir(10, GPIO_OUT);
power_init();
power_enable(true); // TODO: should be dependent on DP signal valid
fpga_init();
ptn3460_init();
pd_init(0);
sleep_ms(50);
extern int dp_enabled;
bool hpd_sent = false;
bool dp_valid = false;
while (1) {
#ifdef HAS_TYPEC
// TODO: Implement interrupt
fusb302_tcpc_alert(0);
pd_run_state_machine(0);
@ -138,8 +120,31 @@ int main()
dp_valid = ptn3460_is_valid();
printf(dp_valid ? "Input is valid\n" : "Input is invalid\n");
}
}
#endif
// Key press logic
uint32_t keys = button_scan();
if (keys & 0x1) {
// First key short press
// Clear screen
caster_redraw(0,0,2400,1200);
}
if (keys & 0x2) {
// First key long press
}
if (keys & 0x4) {
// Second key short press
// Switch mode
mode++;
if (mode >= mode_max) mode = 0;
caster_setmode(0,0,2400,1200,modes[mode]);
}
if (keys & 0x8) {
// Second key long press
}
sleep_ms(1);
}
return 0;
}

View file

@ -1,76 +0,0 @@
//
// Copyright 2022 Wenting Zhang <zephray@outlook.com>
//
// 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.
//
#include "pico/stdlib.h"
#include "hardware/i2c.h"
#include "max17135.h"
#define MAX_I2C i2c0
#define MAX_I2C_ADDR 0x48
void max_write(uint8_t reg, uint8_t val) {
uint8_t buf[2];
int result;
buf[0] = reg;
buf[1] = val;
result = i2c_write_blocking(MAX_I2C, MAX_I2C_ADDR, buf, 2, false);
if (result != 2) {
fatal("Failed writing data to MAX");
}
}
uint8_t max_read(uint8_t reg) {
int result;
uint8_t buf[1];
buf[0] = reg;
result = i2c_write_blocking(MAX_I2C, MAX_I2C_ADDR, buf, 1, true);
if (result != 1) {
fatal("Failed writing data to MAX");
}
result = i2c_read_blocking(MAX_I2C, MAX_I2C_ADDR, buf, 1, false);
if (result != 1) {
fatal("Failed reading data from MAX");
}
return buf[0];
}
void max_set_vcom(uint16_t vcom) {
max_write(0x04, (vcom >> 16));
max_write(0x03, vcom & 0xff);
}
void max_enable(bool en) {
// TODO
}
void max_init(void) {
//max_set_vcom(100); // -1V
printf("Product Revision: %08x\n", max_read(0x06));
printf("Product ID: %08x\n", max_read(0x07));
max_write(0x10, 0x80);
max_write(0x09, 0x01); // Startup
for (int i = 0; i < 20; i++) {
sleep_ms(10);
uint8_t val = max_read(0x05);
printf("Status: %08x\n", val);
}
printf("Fault: %08x\n", max_read(0x0a));
}

View file

@ -28,13 +28,13 @@
#include "utils.h"
#include "edid.h"
#ifdef INPUT_TYPEC
#ifdef INPUT_PTN3460
#define PTN3460_I2C_ADDRESS (0x60)
#define PTN3460_I2C (i2c0)
#define PTN3460_HPD_PIN (8)
#define PTN3460_I2C (i2c1)
#define PTN3460_HPD_PIN (7)
#define PTN3460_PDN_PIN (9)
#define PTN3460_VALID_PIN (2)
#define PTN3460_VALID_PIN (4)
void ptn3460_select_edid_emulation(uint8_t id) {
uint8_t buf[2];

View file

@ -21,7 +21,7 @@
//
#pragma once
#ifdef INPUT_TYPEC
#ifdef INPUT_PTN3460
void ptn3460_init(void);
void ptn3460_set_aux_polarity(int reverse);
bool ptn3460_is_valid(void);

View file

@ -29,16 +29,11 @@ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_COUNT] = {
{0, FUSB302_I2C_SLAVE_ADDR, &fusb302_tcpm_drv},
};
#define TCPC_I2C i2c0
#define TCPC_I2C_SDA 0
#define TCPC_I2C_SCL 1
#define TCPC_I2C i2c1
void tcpc_i2c_init(void) {
i2c_init(TCPC_I2C, 100*1000);
gpio_set_function(TCPC_I2C_SDA, GPIO_FUNC_I2C);
gpio_set_function(TCPC_I2C_SCL, GPIO_FUNC_I2C);
gpio_pull_up(TCPC_I2C_SDA);
gpio_pull_up(TCPC_I2C_SCL);
// Should be initialized at board level init to avoid dependencies between
// drivers that need I2C
}
/* I2C wrapper functions - get I2C port / slave addr from config struct. */

View file

@ -1,83 +0,0 @@
//
// Copyright 2022 Wenting Zhang <zephray@outlook.com>
//
// 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.
//
#include "pico/stdlib.h"
#include "hardware/i2c.h"
#include "tps65185.h"
#define TPS_I2C i2c0
#define TPS_I2C_ADDR 0x68
//#define TPS_I2C_ADDR 0x34
#define TPS_EN_PIN 21
void tps_write(uint8_t reg, uint8_t val) {
uint8_t buf[2];
int result;
buf[0] = reg;
buf[1] = val;
result = i2c_write_blocking(TPS_I2C, TPS_I2C_ADDR, buf, 2, false);
if (result != 2) {
fatal("Failed writing data to TPS");
}
}
uint8_t tps_read(uint8_t reg) {
int result;
uint8_t buf[1];
buf[0] = reg;
result = i2c_write_blocking(TPS_I2C, TPS_I2C_ADDR, buf, 1, true);
if (result != 1) {
fatal("Failed writing data to TPS");
}
result = i2c_read_blocking(TPS_I2C, TPS_I2C_ADDR, buf, 1, false);
if (result != 1) {
fatal("Failed reading data from TPS");
}
return buf[0];
}
void tps_set_vcom(uint16_t vcom) {
tps_write(0x04, (vcom >> 16));
tps_write(0x03, vcom & 0xff);
}
void tps_enable(bool en) {
gpio_put(TPS_EN_PIN, en);
}
void tps_init(void) {
gpio_init(TPS_EN_PIN);
gpio_put(TPS_EN_PIN, 1);
gpio_set_dir(TPS_EN_PIN, GPIO_OUT);
for (int i = 0; i < 100; i++) {
sleep_ms(5);
uint8_t val = tps_read(0x0f);
printf("Val: %08x\n", val);
}
sleep_ms(1000);
tps_set_vcom(212); // -1V
printf("VADJ: %08x\n", tps_read(0x02));
printf("UPSEQ0: %08x\n", tps_read(0x09));
printf("UPSEQ1: %08x\n", tps_read(0x0a));
printf("INT1: %08x\n", tps_read(0x07));
printf("INT2: %08x\n", tps_read(0x08));
}

View file

@ -28,7 +28,7 @@
#include "utils.h"
#include "usb_mux.h"
#ifdef INPUT_TYPEC
#ifdef HAS_TYPEC
#define USBC_ORI_PIN 10
@ -48,13 +48,13 @@ void usb_mux_set(int port, enum typec_mux mux_mode,
if (polarity == 0) {
// Not flipped
printf("Setting orientation to not flipped\n");
gpio_put(USBC_ORI_PIN, 1);
gpio_put(USBC_ORI_PIN, 0);
ptn3460_set_aux_polarity(1);
}
else {
// Flipped
printf("Setting orientation to flipped\n");
gpio_put(USBC_ORI_PIN, 0);
gpio_put(USBC_ORI_PIN, 1);
ptn3460_set_aux_polarity(0);
}
}

View file

@ -1105,10 +1105,11 @@ static int dp_config(int port, uint32_t *payload)
}
const uint32_t vdo_dp_mode[MODE_CNT] = {
VDO_MODE_DP(0, /* UFP pin cfg supported : none */
MODE_DP_PIN_C | MODE_DP_PIN_D | MODE_DP_PIN_E | MODE_DP_PIN_F, /* DFP pin cfg supported */
1, /* no usb2.0 signalling in AMode */
CABLE_PLUG, /* its a plug */
VDO_MODE_DP(
MODE_DP_PIN_C | MODE_DP_PIN_D, /* UFP pin cfg supported */
0, /* DFP pin cfg supported */
0, /* usb2.0 signaling */
CABLE_RECEPTACLE, /* its a receptacle */
MODE_DP_V13, /* DPv1.3 Support, no Gen2 */
MODE_DP_SNK) /* Its a sink only */
};

View file

@ -3,14 +3,17 @@
"3dviewports": [],
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.1,
"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.049999999999999996,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
@ -21,7 +24,7 @@
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
@ -63,20 +66,27 @@
"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": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"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",
@ -86,9 +96,14 @@
"padstack": "error",
"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",
@ -104,21 +119,69 @@
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.15239999999999998,
"min_clearance": 0.1524,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.075,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"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.15239999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.6095999999999999,
"min_track_width": 0.1524,
"min_via_annular_width": 0.05,
"min_via_diameter": 0.6096,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_mask_to_copper_clearance": 0.005,
"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": [
0.0,
0.1524,
@ -129,6 +192,32 @@
0.8,
1.0
],
"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": [
{
"diameter": 0.0,

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,83 @@
{
"board": {
"active_layer": 37,
"active_layer_preset": "",
"auto_track_width": false,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 1.0
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": false,
"footprints": true,
"graphics": true,
"keepouts": false,
"lockedItems": true,
"otherItems": false,
"pads": false,
"text": false,
"tracks": true,
"vias": true,
"zones": false
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "00090a0_80000001",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "adapter.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View file

@ -0,0 +1,626 @@
{
"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.09999999999999999,
"copper_line_width": 0.19999999999999998,
"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.049999999999999996,
"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.09999999999999999,
"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.15,
"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": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"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": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"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": "error",
"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",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.15239999999999998,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.075,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.15239999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.6095999999999999,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_mask_to_copper_clearance": 0.005,
"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": [
0.0,
0.1524,
0.2,
0.3,
0.4,
0.6,
0.8,
1.0
],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 100,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.1,
"single_sided": false,
"spacing": 0.6
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 100,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.1,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 100,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.1,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
},
{
"diameter": 0.65,
"drill": 0.3
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"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_label_syntax": "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": []
},
"meta": {
"filename": "adapter.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.1524,
"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.1524,
"via_diameter": 0.65,
"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": "gerber/",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"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": "Reference"
},
"connection_grid_size": 50.0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_bus_thickness": 12.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.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": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"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": [
[
"24530e76-d05f-4501-b152-7c7379698255",
"Root"
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load diff

333
pcb/50p-adapter-b/adapter.xml Executable file
View file

@ -0,0 +1,333 @@
<?xml version="1.0" encoding="UTF-8"?>
<export version="E">
<design>
<source>/Users/wenting/Documents/projects/Glider/pcb/39p-adapter/adapter.kicad_sch</source>
<date>Thursday, September 15, 2022 at 11:43:33 PM</date>
<tool>Eeschema (6.0.5-0)</tool>
<sheet number="1" name="/" tstamps="/">
<title_block>
<title/>
<company/>
<rev/>
<date/>
<source>adapter.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
</design>
<components>
<comp ref="J1">
<value>FH12-40S-0.5SH</value>
<footprint>footprints:Hirose_FH12-40S-0.5SH_1x40-1MP_P0.50mm_Horizontal_Reversed</footprint>
<libsource lib="Connector_Generic_MountingPin" part="Conn_01x40_MountingPin" description="Generic connectable mounting pin connector, single row, 01x40, script generated (kicad-library-utils/schlib/autogen/connector/)"/>
<property name="Sheetname" value=""/>
<property name="Sheetfile" value="adapter.kicad_sch"/>
<sheetpath names="/" tstamps="/"/>
<tstamps>dcc0e627-6bc8-4063-8679-f86718c95d60</tstamps>
</comp>
<comp ref="J3">
<value>10064555-392120HLF</value>
<footprint>footprints:HRS_FH26W-39S-0.3SHW(60)</footprint>
<fields>
<field name="LCSC">609-10064555-392120HLFCT-ND</field>
<field name="Ref.Price">0.95</field>
</fields>
<libsource lib="Connector_Generic_MountingPin" part="Conn_01x39_MountingPin" description="Generic connectable mounting pin connector, single row, 01x39, script generated (kicad-library-utils/schlib/autogen/connector/)"/>
<property name="LCSC" value="609-10064555-392120HLFCT-ND"/>
<property name="Ref.Price" value="0.95"/>
<property name="Sheetname" value=""/>
<property name="Sheetfile" value="adapter.kicad_sch"/>
<sheetpath names="/" tstamps="/"/>
<tstamps>ca490f94-0af2-4c6f-98e7-c0112559ea60</tstamps>
</comp>
</components>
<libparts>
<libpart lib="Connector_Generic_MountingPin" part="Conn_01x39_MountingPin">
<description>Generic connectable mounting pin connector, single row, 01x39, script generated (kicad-library-utils/schlib/autogen/connector/)</description>
<docs>~</docs>
<footprints>
<fp>Connector*:*_1x??-1MP*</fp>
</footprints>
<fields>
<field name="Reference">J</field>
<field name="Value">Conn_01x39_MountingPin</field>
<field name="Datasheet">~</field>
</fields>
<pins>
<pin num="1" name="Pin_1" type="passive"/>
<pin num="2" name="Pin_2" type="passive"/>
<pin num="3" name="Pin_3" type="passive"/>
<pin num="4" name="Pin_4" type="passive"/>
<pin num="5" name="Pin_5" type="passive"/>
<pin num="6" name="Pin_6" type="passive"/>
<pin num="7" name="Pin_7" type="passive"/>
<pin num="8" name="Pin_8" type="passive"/>
<pin num="9" name="Pin_9" type="passive"/>
<pin num="10" name="Pin_10" type="passive"/>
<pin num="11" name="Pin_11" type="passive"/>
<pin num="12" name="Pin_12" type="passive"/>
<pin num="13" name="Pin_13" type="passive"/>
<pin num="14" name="Pin_14" type="passive"/>
<pin num="15" name="Pin_15" type="passive"/>
<pin num="16" name="Pin_16" type="passive"/>
<pin num="17" name="Pin_17" type="passive"/>
<pin num="18" name="Pin_18" type="passive"/>
<pin num="19" name="Pin_19" type="passive"/>
<pin num="20" name="Pin_20" type="passive"/>
<pin num="21" name="Pin_21" type="passive"/>
<pin num="22" name="Pin_22" type="passive"/>
<pin num="23" name="Pin_23" type="passive"/>
<pin num="24" name="Pin_24" type="passive"/>
<pin num="25" name="Pin_25" type="passive"/>
<pin num="26" name="Pin_26" type="passive"/>
<pin num="27" name="Pin_27" type="passive"/>
<pin num="28" name="Pin_28" type="passive"/>
<pin num="29" name="Pin_29" type="passive"/>
<pin num="30" name="Pin_30" type="passive"/>
<pin num="31" name="Pin_31" type="passive"/>
<pin num="32" name="Pin_32" type="passive"/>
<pin num="33" name="Pin_33" type="passive"/>
<pin num="34" name="Pin_34" type="passive"/>
<pin num="35" name="Pin_35" type="passive"/>
<pin num="36" name="Pin_36" type="passive"/>
<pin num="37" name="Pin_37" type="passive"/>
<pin num="38" name="Pin_38" type="passive"/>
<pin num="39" name="Pin_39" type="passive"/>
<pin num="MP" name="MountPin" type="passive"/>
</pins>
</libpart>
<libpart lib="Connector_Generic_MountingPin" part="Conn_01x40_MountingPin">
<description>Generic connectable mounting pin connector, single row, 01x40, script generated (kicad-library-utils/schlib/autogen/connector/)</description>
<docs>~</docs>
<footprints>
<fp>Connector*:*_1x??-1MP*</fp>
</footprints>
<fields>
<field name="Reference">J</field>
<field name="Value">Conn_01x40_MountingPin</field>
<field name="Datasheet">~</field>
</fields>
<pins>
<pin num="1" name="Pin_1" type="passive"/>
<pin num="2" name="Pin_2" type="passive"/>
<pin num="3" name="Pin_3" type="passive"/>
<pin num="4" name="Pin_4" type="passive"/>
<pin num="5" name="Pin_5" type="passive"/>
<pin num="6" name="Pin_6" type="passive"/>
<pin num="7" name="Pin_7" type="passive"/>
<pin num="8" name="Pin_8" type="passive"/>
<pin num="9" name="Pin_9" type="passive"/>
<pin num="10" name="Pin_10" type="passive"/>
<pin num="11" name="Pin_11" type="passive"/>
<pin num="12" name="Pin_12" type="passive"/>
<pin num="13" name="Pin_13" type="passive"/>
<pin num="14" name="Pin_14" type="passive"/>
<pin num="15" name="Pin_15" type="passive"/>
<pin num="16" name="Pin_16" type="passive"/>
<pin num="17" name="Pin_17" type="passive"/>
<pin num="18" name="Pin_18" type="passive"/>
<pin num="19" name="Pin_19" type="passive"/>
<pin num="20" name="Pin_20" type="passive"/>
<pin num="21" name="Pin_21" type="passive"/>
<pin num="22" name="Pin_22" type="passive"/>
<pin num="23" name="Pin_23" type="passive"/>
<pin num="24" name="Pin_24" type="passive"/>
<pin num="25" name="Pin_25" type="passive"/>
<pin num="26" name="Pin_26" type="passive"/>
<pin num="27" name="Pin_27" type="passive"/>
<pin num="28" name="Pin_28" type="passive"/>
<pin num="29" name="Pin_29" type="passive"/>
<pin num="30" name="Pin_30" type="passive"/>
<pin num="31" name="Pin_31" type="passive"/>
<pin num="32" name="Pin_32" type="passive"/>
<pin num="33" name="Pin_33" type="passive"/>
<pin num="34" name="Pin_34" type="passive"/>
<pin num="35" name="Pin_35" type="passive"/>
<pin num="36" name="Pin_36" type="passive"/>
<pin num="37" name="Pin_37" type="passive"/>
<pin num="38" name="Pin_38" type="passive"/>
<pin num="39" name="Pin_39" type="passive"/>
<pin num="40" name="Pin_40" type="passive"/>
<pin num="MP" name="MountPin" type="passive"/>
</pins>
</libpart>
</libparts>
<libraries>
<library logical="Connector_Generic_MountingPin">
<uri>/Applications/KiCad/KiCad.app/Contents/SharedSupport/symbols//Connector_Generic_MountingPin.kicad_sym</uri>
</library>
</libraries>
<nets>
<net code="1" name="+3V3">
<node ref="J1" pin="11" pinfunction="Pin_11" pintype="passive"/>
<node ref="J1" pin="5" pinfunction="Pin_5" pintype="passive"/>
<node ref="J3" pin="4" pinfunction="Pin_4" pintype="passive"/>
</net>
<net code="2" name="/ED0">
<node ref="J1" pin="14" pinfunction="Pin_14" pintype="passive"/>
<node ref="J3" pin="12" pinfunction="Pin_12" pintype="passive"/>
</net>
<net code="3" name="/ED1">
<node ref="J1" pin="15" pinfunction="Pin_15" pintype="passive"/>
<node ref="J3" pin="13" pinfunction="Pin_13" pintype="passive"/>
</net>
<net code="4" name="/ED2">
<node ref="J1" pin="16" pinfunction="Pin_16" pintype="passive"/>
<node ref="J3" pin="14" pinfunction="Pin_14" pintype="passive"/>
</net>
<net code="5" name="/ED3">
<node ref="J1" pin="17" pinfunction="Pin_17" pintype="passive"/>
<node ref="J3" pin="15" pinfunction="Pin_15" pintype="passive"/>
</net>
<net code="6" name="/ED4">
<node ref="J1" pin="18" pinfunction="Pin_18" pintype="passive"/>
<node ref="J3" pin="16" pinfunction="Pin_16" pintype="passive"/>
</net>
<net code="7" name="/ED5">
<node ref="J1" pin="19" pinfunction="Pin_19" pintype="passive"/>
<node ref="J3" pin="17" pinfunction="Pin_17" pintype="passive"/>
</net>
<net code="8" name="/ED6">
<node ref="J1" pin="20" pinfunction="Pin_20" pintype="passive"/>
<node ref="J3" pin="18" pinfunction="Pin_18" pintype="passive"/>
</net>
<net code="9" name="/ED7">
<node ref="J1" pin="21" pinfunction="Pin_21" pintype="passive"/>
<node ref="J3" pin="19" pinfunction="Pin_19" pintype="passive"/>
</net>
<net code="10" name="/ED8">
<node ref="J1" pin="23" pinfunction="Pin_23" pintype="passive"/>
</net>
<net code="11" name="/ED9">
<node ref="J1" pin="24" pinfunction="Pin_24" pintype="passive"/>
</net>
<net code="12" name="/ED10">
<node ref="J1" pin="25" pinfunction="Pin_25" pintype="passive"/>
</net>
<net code="13" name="/ED11">
<node ref="J1" pin="26" pinfunction="Pin_26" pintype="passive"/>
</net>
<net code="14" name="/ED12">
<node ref="J1" pin="27" pinfunction="Pin_27" pintype="passive"/>
</net>
<net code="15" name="/ED13">
<node ref="J1" pin="28" pinfunction="Pin_28" pintype="passive"/>
</net>
<net code="16" name="/ED14">
<node ref="J1" pin="29" pinfunction="Pin_29" pintype="passive"/>
</net>
<net code="17" name="/ED15">
<node ref="J1" pin="30" pinfunction="Pin_30" pintype="passive"/>
</net>
<net code="18" name="/ESDCLK">
<node ref="J1" pin="13" pinfunction="Pin_13" pintype="passive"/>
<node ref="J3" pin="5" pinfunction="Pin_5" pintype="passive"/>
</net>
<net code="19" name="/ESDLE">
<node ref="J1" pin="32" pinfunction="Pin_32" pintype="passive"/>
<node ref="J3" pin="6" pinfunction="Pin_6" pintype="passive"/>
</net>
<net code="20" name="/ESDOE">
<node ref="J1" pin="33" pinfunction="Pin_33" pintype="passive"/>
<node ref="J3" pin="7" pinfunction="Pin_7" pintype="passive"/>
</net>
<net code="21" name="/GDCLK">
<node ref="J1" pin="7" pinfunction="Pin_7" pintype="passive"/>
<node ref="J3" pin="33" pinfunction="Pin_33" pintype="passive"/>
</net>
<net code="22" name="/GDOE">
<node ref="J1" pin="6" pinfunction="Pin_6" pintype="passive"/>
<node ref="J3" pin="28" pinfunction="Pin_28" pintype="passive"/>
</net>
<net code="23" name="/GDSP">
<node ref="J1" pin="8" pinfunction="Pin_8" pintype="passive"/>
<node ref="J3" pin="32" pinfunction="Pin_32" pintype="passive"/>
</net>
<net code="24" name="/SDCE0">
<node ref="J1" pin="31" pinfunction="Pin_31" pintype="passive"/>
<node ref="J3" pin="11" pinfunction="Pin_11" pintype="passive"/>
</net>
<net code="25" name="GND">
<node ref="J1" pin="12" pinfunction="Pin_12" pintype="passive"/>
<node ref="J1" pin="22" pinfunction="Pin_22" pintype="passive"/>
<node ref="J1" pin="9" pinfunction="Pin_9" pintype="passive"/>
<node ref="J1" pin="MP" pinfunction="MountPin" pintype="passive"/>
<node ref="J3" pin="20" pinfunction="Pin_20" pintype="passive"/>
<node ref="J3" pin="29" pinfunction="Pin_29" pintype="passive"/>
<node ref="J3" pin="3" pinfunction="Pin_3" pintype="passive"/>
<node ref="J3" pin="30" pinfunction="Pin_30" pintype="passive"/>
<node ref="J3" pin="31" pinfunction="Pin_31" pintype="passive"/>
<node ref="J3" pin="35" pinfunction="Pin_35" pintype="passive"/>
<node ref="J3" pin="36" pinfunction="Pin_36" pintype="passive"/>
<node ref="J3" pin="37" pinfunction="Pin_37" pintype="passive"/>
<node ref="J3" pin="38" pinfunction="Pin_38" pintype="passive"/>
<node ref="J3" pin="39" pinfunction="Pin_39" pintype="passive"/>
<node ref="J3" pin="8" pinfunction="Pin_8" pintype="passive"/>
<node ref="J3" pin="9" pinfunction="Pin_9" pintype="passive"/>
<node ref="J3" pin="MP" pinfunction="MountPin" pintype="passive"/>
</net>
<net code="26" name="VCOM">
<node ref="J1" pin="10" pinfunction="Pin_10" pintype="passive"/>
<node ref="J1" pin="40" pinfunction="Pin_40" pintype="passive"/>
<node ref="J3" pin="22" pinfunction="Pin_22" pintype="passive"/>
<node ref="J3" pin="34" pinfunction="Pin_34" pintype="passive"/>
</net>
<net code="27" name="VGH">
<node ref="J1" pin="3" pinfunction="Pin_3" pintype="passive"/>
<node ref="J3" pin="23" pinfunction="Pin_23" pintype="passive"/>
</net>
<net code="28" name="VGL">
<node ref="J1" pin="1" pinfunction="Pin_1" pintype="passive"/>
<node ref="J3" pin="24" pinfunction="Pin_24" pintype="passive"/>
</net>
<net code="29" name="VNEG">
<node ref="J1" pin="38" pinfunction="Pin_38" pintype="passive"/>
<node ref="J3" pin="1" pinfunction="Pin_1" pintype="passive"/>
</net>
<net code="30" name="VPOS">
<node ref="J1" pin="36" pinfunction="Pin_36" pintype="passive"/>
<node ref="J3" pin="2" pinfunction="Pin_2" pintype="passive"/>
</net>
<net code="31" name="unconnected-(J1-Pad2)">
<node ref="J1" pin="2" pinfunction="Pin_2" pintype="passive+no_connect"/>
</net>
<net code="32" name="unconnected-(J1-Pad4)">
<node ref="J1" pin="4" pinfunction="Pin_4" pintype="passive+no_connect"/>
</net>
<net code="33" name="unconnected-(J1-Pad34)">
<node ref="J1" pin="34" pinfunction="Pin_34" pintype="passive+no_connect"/>
</net>
<net code="34" name="unconnected-(J1-Pad35)">
<node ref="J1" pin="35" pinfunction="Pin_35" pintype="passive+no_connect"/>
</net>
<net code="35" name="unconnected-(J1-Pad37)">
<node ref="J1" pin="37" pinfunction="Pin_37" pintype="passive+no_connect"/>
</net>
<net code="36" name="unconnected-(J1-Pad39)">
<node ref="J1" pin="39" pinfunction="Pin_39" pintype="passive+no_connect"/>
</net>
<net code="37" name="unconnected-(J3-Pad10)">
<node ref="J3" pin="10" pinfunction="Pin_10" pintype="passive+no_connect"/>
</net>
<net code="38" name="unconnected-(J3-Pad21)">
<node ref="J3" pin="21" pinfunction="Pin_21" pintype="passive+no_connect"/>
</net>
<net code="39" name="unconnected-(J3-Pad25)">
<node ref="J3" pin="25" pinfunction="Pin_25" pintype="passive+no_connect"/>
</net>
<net code="40" name="unconnected-(J3-Pad26)">
<node ref="J3" pin="26" pinfunction="Pin_26" pintype="passive+no_connect"/>
</net>
<net code="41" name="unconnected-(J3-Pad27)">
<node ref="J3" pin="27" pinfunction="Pin_27" pintype="passive+no_connect"/>
</net>
</nets>
</export>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name "footprints")(type "KiCad")(uri "${KIPRJMOD}/../common/footprints.pretty")(options "")(descr ""))
)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,83 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": false,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 1.0
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": false,
"footprints": true,
"graphics": true,
"keepouts": false,
"lockedItems": true,
"otherItems": false,
"pads": false,
"text": false,
"tracks": true,
"vias": true,
"zones": false
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "00090a0_80000001",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "adapter.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View file

@ -0,0 +1,626 @@
{
"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.09999999999999999,
"copper_line_width": 0.19999999999999998,
"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.049999999999999996,
"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.09999999999999999,
"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.15,
"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": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"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": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"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": "error",
"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",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.15239999999999998,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.075,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.15239999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.6095999999999999,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_mask_to_copper_clearance": 0.005,
"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": [
0.0,
0.1524,
0.2,
0.3,
0.4,
0.6,
0.8,
1.0
],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 100,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.1,
"single_sided": false,
"spacing": 0.6
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 100,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.1,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 100,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.1,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
},
{
"diameter": 0.65,
"drill": 0.3
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"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_label_syntax": "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": []
},
"meta": {
"filename": "adapter.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.1524,
"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.1524,
"via_diameter": 0.65,
"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": "gerber/",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"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": "Reference"
},
"connection_grid_size": 50.0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_bus_thickness": 12.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.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": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"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": [
[
"24530e76-d05f-4501-b152-7c7379698255",
"Root"
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load diff

333
pcb/50p-adapter/adapter.xml Executable file
View file

@ -0,0 +1,333 @@
<?xml version="1.0" encoding="UTF-8"?>
<export version="E">
<design>
<source>/Users/wenting/Documents/projects/Glider/pcb/39p-adapter/adapter.kicad_sch</source>
<date>Thursday, September 15, 2022 at 11:43:33 PM</date>
<tool>Eeschema (6.0.5-0)</tool>
<sheet number="1" name="/" tstamps="/">
<title_block>
<title/>
<company/>
<rev/>
<date/>
<source>adapter.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
</design>
<components>
<comp ref="J1">
<value>FH12-40S-0.5SH</value>
<footprint>footprints:Hirose_FH12-40S-0.5SH_1x40-1MP_P0.50mm_Horizontal_Reversed</footprint>
<libsource lib="Connector_Generic_MountingPin" part="Conn_01x40_MountingPin" description="Generic connectable mounting pin connector, single row, 01x40, script generated (kicad-library-utils/schlib/autogen/connector/)"/>
<property name="Sheetname" value=""/>
<property name="Sheetfile" value="adapter.kicad_sch"/>
<sheetpath names="/" tstamps="/"/>
<tstamps>dcc0e627-6bc8-4063-8679-f86718c95d60</tstamps>
</comp>
<comp ref="J3">
<value>10064555-392120HLF</value>
<footprint>footprints:HRS_FH26W-39S-0.3SHW(60)</footprint>
<fields>
<field name="LCSC">609-10064555-392120HLFCT-ND</field>
<field name="Ref.Price">0.95</field>
</fields>
<libsource lib="Connector_Generic_MountingPin" part="Conn_01x39_MountingPin" description="Generic connectable mounting pin connector, single row, 01x39, script generated (kicad-library-utils/schlib/autogen/connector/)"/>
<property name="LCSC" value="609-10064555-392120HLFCT-ND"/>
<property name="Ref.Price" value="0.95"/>
<property name="Sheetname" value=""/>
<property name="Sheetfile" value="adapter.kicad_sch"/>
<sheetpath names="/" tstamps="/"/>
<tstamps>ca490f94-0af2-4c6f-98e7-c0112559ea60</tstamps>
</comp>
</components>
<libparts>
<libpart lib="Connector_Generic_MountingPin" part="Conn_01x39_MountingPin">
<description>Generic connectable mounting pin connector, single row, 01x39, script generated (kicad-library-utils/schlib/autogen/connector/)</description>
<docs>~</docs>
<footprints>
<fp>Connector*:*_1x??-1MP*</fp>
</footprints>
<fields>
<field name="Reference">J</field>
<field name="Value">Conn_01x39_MountingPin</field>
<field name="Datasheet">~</field>
</fields>
<pins>
<pin num="1" name="Pin_1" type="passive"/>
<pin num="2" name="Pin_2" type="passive"/>
<pin num="3" name="Pin_3" type="passive"/>
<pin num="4" name="Pin_4" type="passive"/>
<pin num="5" name="Pin_5" type="passive"/>
<pin num="6" name="Pin_6" type="passive"/>
<pin num="7" name="Pin_7" type="passive"/>
<pin num="8" name="Pin_8" type="passive"/>
<pin num="9" name="Pin_9" type="passive"/>
<pin num="10" name="Pin_10" type="passive"/>
<pin num="11" name="Pin_11" type="passive"/>
<pin num="12" name="Pin_12" type="passive"/>
<pin num="13" name="Pin_13" type="passive"/>
<pin num="14" name="Pin_14" type="passive"/>
<pin num="15" name="Pin_15" type="passive"/>
<pin num="16" name="Pin_16" type="passive"/>
<pin num="17" name="Pin_17" type="passive"/>
<pin num="18" name="Pin_18" type="passive"/>
<pin num="19" name="Pin_19" type="passive"/>
<pin num="20" name="Pin_20" type="passive"/>
<pin num="21" name="Pin_21" type="passive"/>
<pin num="22" name="Pin_22" type="passive"/>
<pin num="23" name="Pin_23" type="passive"/>
<pin num="24" name="Pin_24" type="passive"/>
<pin num="25" name="Pin_25" type="passive"/>
<pin num="26" name="Pin_26" type="passive"/>
<pin num="27" name="Pin_27" type="passive"/>
<pin num="28" name="Pin_28" type="passive"/>
<pin num="29" name="Pin_29" type="passive"/>
<pin num="30" name="Pin_30" type="passive"/>
<pin num="31" name="Pin_31" type="passive"/>
<pin num="32" name="Pin_32" type="passive"/>
<pin num="33" name="Pin_33" type="passive"/>
<pin num="34" name="Pin_34" type="passive"/>
<pin num="35" name="Pin_35" type="passive"/>
<pin num="36" name="Pin_36" type="passive"/>
<pin num="37" name="Pin_37" type="passive"/>
<pin num="38" name="Pin_38" type="passive"/>
<pin num="39" name="Pin_39" type="passive"/>
<pin num="MP" name="MountPin" type="passive"/>
</pins>
</libpart>
<libpart lib="Connector_Generic_MountingPin" part="Conn_01x40_MountingPin">
<description>Generic connectable mounting pin connector, single row, 01x40, script generated (kicad-library-utils/schlib/autogen/connector/)</description>
<docs>~</docs>
<footprints>
<fp>Connector*:*_1x??-1MP*</fp>
</footprints>
<fields>
<field name="Reference">J</field>
<field name="Value">Conn_01x40_MountingPin</field>
<field name="Datasheet">~</field>
</fields>
<pins>
<pin num="1" name="Pin_1" type="passive"/>
<pin num="2" name="Pin_2" type="passive"/>
<pin num="3" name="Pin_3" type="passive"/>
<pin num="4" name="Pin_4" type="passive"/>
<pin num="5" name="Pin_5" type="passive"/>
<pin num="6" name="Pin_6" type="passive"/>
<pin num="7" name="Pin_7" type="passive"/>
<pin num="8" name="Pin_8" type="passive"/>
<pin num="9" name="Pin_9" type="passive"/>
<pin num="10" name="Pin_10" type="passive"/>
<pin num="11" name="Pin_11" type="passive"/>
<pin num="12" name="Pin_12" type="passive"/>
<pin num="13" name="Pin_13" type="passive"/>
<pin num="14" name="Pin_14" type="passive"/>
<pin num="15" name="Pin_15" type="passive"/>
<pin num="16" name="Pin_16" type="passive"/>
<pin num="17" name="Pin_17" type="passive"/>
<pin num="18" name="Pin_18" type="passive"/>
<pin num="19" name="Pin_19" type="passive"/>
<pin num="20" name="Pin_20" type="passive"/>
<pin num="21" name="Pin_21" type="passive"/>
<pin num="22" name="Pin_22" type="passive"/>
<pin num="23" name="Pin_23" type="passive"/>
<pin num="24" name="Pin_24" type="passive"/>
<pin num="25" name="Pin_25" type="passive"/>
<pin num="26" name="Pin_26" type="passive"/>
<pin num="27" name="Pin_27" type="passive"/>
<pin num="28" name="Pin_28" type="passive"/>
<pin num="29" name="Pin_29" type="passive"/>
<pin num="30" name="Pin_30" type="passive"/>
<pin num="31" name="Pin_31" type="passive"/>
<pin num="32" name="Pin_32" type="passive"/>
<pin num="33" name="Pin_33" type="passive"/>
<pin num="34" name="Pin_34" type="passive"/>
<pin num="35" name="Pin_35" type="passive"/>
<pin num="36" name="Pin_36" type="passive"/>
<pin num="37" name="Pin_37" type="passive"/>
<pin num="38" name="Pin_38" type="passive"/>
<pin num="39" name="Pin_39" type="passive"/>
<pin num="40" name="Pin_40" type="passive"/>
<pin num="MP" name="MountPin" type="passive"/>
</pins>
</libpart>
</libparts>
<libraries>
<library logical="Connector_Generic_MountingPin">
<uri>/Applications/KiCad/KiCad.app/Contents/SharedSupport/symbols//Connector_Generic_MountingPin.kicad_sym</uri>
</library>
</libraries>
<nets>
<net code="1" name="+3V3">
<node ref="J1" pin="11" pinfunction="Pin_11" pintype="passive"/>
<node ref="J1" pin="5" pinfunction="Pin_5" pintype="passive"/>
<node ref="J3" pin="4" pinfunction="Pin_4" pintype="passive"/>
</net>
<net code="2" name="/ED0">
<node ref="J1" pin="14" pinfunction="Pin_14" pintype="passive"/>
<node ref="J3" pin="12" pinfunction="Pin_12" pintype="passive"/>
</net>
<net code="3" name="/ED1">
<node ref="J1" pin="15" pinfunction="Pin_15" pintype="passive"/>
<node ref="J3" pin="13" pinfunction="Pin_13" pintype="passive"/>
</net>
<net code="4" name="/ED2">
<node ref="J1" pin="16" pinfunction="Pin_16" pintype="passive"/>
<node ref="J3" pin="14" pinfunction="Pin_14" pintype="passive"/>
</net>
<net code="5" name="/ED3">
<node ref="J1" pin="17" pinfunction="Pin_17" pintype="passive"/>
<node ref="J3" pin="15" pinfunction="Pin_15" pintype="passive"/>
</net>
<net code="6" name="/ED4">
<node ref="J1" pin="18" pinfunction="Pin_18" pintype="passive"/>
<node ref="J3" pin="16" pinfunction="Pin_16" pintype="passive"/>
</net>
<net code="7" name="/ED5">
<node ref="J1" pin="19" pinfunction="Pin_19" pintype="passive"/>
<node ref="J3" pin="17" pinfunction="Pin_17" pintype="passive"/>
</net>
<net code="8" name="/ED6">
<node ref="J1" pin="20" pinfunction="Pin_20" pintype="passive"/>
<node ref="J3" pin="18" pinfunction="Pin_18" pintype="passive"/>
</net>
<net code="9" name="/ED7">
<node ref="J1" pin="21" pinfunction="Pin_21" pintype="passive"/>
<node ref="J3" pin="19" pinfunction="Pin_19" pintype="passive"/>
</net>
<net code="10" name="/ED8">
<node ref="J1" pin="23" pinfunction="Pin_23" pintype="passive"/>
</net>
<net code="11" name="/ED9">
<node ref="J1" pin="24" pinfunction="Pin_24" pintype="passive"/>
</net>
<net code="12" name="/ED10">
<node ref="J1" pin="25" pinfunction="Pin_25" pintype="passive"/>
</net>
<net code="13" name="/ED11">
<node ref="J1" pin="26" pinfunction="Pin_26" pintype="passive"/>
</net>
<net code="14" name="/ED12">
<node ref="J1" pin="27" pinfunction="Pin_27" pintype="passive"/>
</net>
<net code="15" name="/ED13">
<node ref="J1" pin="28" pinfunction="Pin_28" pintype="passive"/>
</net>
<net code="16" name="/ED14">
<node ref="J1" pin="29" pinfunction="Pin_29" pintype="passive"/>
</net>
<net code="17" name="/ED15">
<node ref="J1" pin="30" pinfunction="Pin_30" pintype="passive"/>
</net>
<net code="18" name="/ESDCLK">
<node ref="J1" pin="13" pinfunction="Pin_13" pintype="passive"/>
<node ref="J3" pin="5" pinfunction="Pin_5" pintype="passive"/>
</net>
<net code="19" name="/ESDLE">
<node ref="J1" pin="32" pinfunction="Pin_32" pintype="passive"/>
<node ref="J3" pin="6" pinfunction="Pin_6" pintype="passive"/>
</net>
<net code="20" name="/ESDOE">
<node ref="J1" pin="33" pinfunction="Pin_33" pintype="passive"/>
<node ref="J3" pin="7" pinfunction="Pin_7" pintype="passive"/>
</net>
<net code="21" name="/GDCLK">
<node ref="J1" pin="7" pinfunction="Pin_7" pintype="passive"/>
<node ref="J3" pin="33" pinfunction="Pin_33" pintype="passive"/>
</net>
<net code="22" name="/GDOE">
<node ref="J1" pin="6" pinfunction="Pin_6" pintype="passive"/>
<node ref="J3" pin="28" pinfunction="Pin_28" pintype="passive"/>
</net>
<net code="23" name="/GDSP">
<node ref="J1" pin="8" pinfunction="Pin_8" pintype="passive"/>
<node ref="J3" pin="32" pinfunction="Pin_32" pintype="passive"/>
</net>
<net code="24" name="/SDCE0">
<node ref="J1" pin="31" pinfunction="Pin_31" pintype="passive"/>
<node ref="J3" pin="11" pinfunction="Pin_11" pintype="passive"/>
</net>
<net code="25" name="GND">
<node ref="J1" pin="12" pinfunction="Pin_12" pintype="passive"/>
<node ref="J1" pin="22" pinfunction="Pin_22" pintype="passive"/>
<node ref="J1" pin="9" pinfunction="Pin_9" pintype="passive"/>
<node ref="J1" pin="MP" pinfunction="MountPin" pintype="passive"/>
<node ref="J3" pin="20" pinfunction="Pin_20" pintype="passive"/>
<node ref="J3" pin="29" pinfunction="Pin_29" pintype="passive"/>
<node ref="J3" pin="3" pinfunction="Pin_3" pintype="passive"/>
<node ref="J3" pin="30" pinfunction="Pin_30" pintype="passive"/>
<node ref="J3" pin="31" pinfunction="Pin_31" pintype="passive"/>
<node ref="J3" pin="35" pinfunction="Pin_35" pintype="passive"/>
<node ref="J3" pin="36" pinfunction="Pin_36" pintype="passive"/>
<node ref="J3" pin="37" pinfunction="Pin_37" pintype="passive"/>
<node ref="J3" pin="38" pinfunction="Pin_38" pintype="passive"/>
<node ref="J3" pin="39" pinfunction="Pin_39" pintype="passive"/>
<node ref="J3" pin="8" pinfunction="Pin_8" pintype="passive"/>
<node ref="J3" pin="9" pinfunction="Pin_9" pintype="passive"/>
<node ref="J3" pin="MP" pinfunction="MountPin" pintype="passive"/>
</net>
<net code="26" name="VCOM">
<node ref="J1" pin="10" pinfunction="Pin_10" pintype="passive"/>
<node ref="J1" pin="40" pinfunction="Pin_40" pintype="passive"/>
<node ref="J3" pin="22" pinfunction="Pin_22" pintype="passive"/>
<node ref="J3" pin="34" pinfunction="Pin_34" pintype="passive"/>
</net>
<net code="27" name="VGH">
<node ref="J1" pin="3" pinfunction="Pin_3" pintype="passive"/>
<node ref="J3" pin="23" pinfunction="Pin_23" pintype="passive"/>
</net>
<net code="28" name="VGL">
<node ref="J1" pin="1" pinfunction="Pin_1" pintype="passive"/>
<node ref="J3" pin="24" pinfunction="Pin_24" pintype="passive"/>
</net>
<net code="29" name="VNEG">
<node ref="J1" pin="38" pinfunction="Pin_38" pintype="passive"/>
<node ref="J3" pin="1" pinfunction="Pin_1" pintype="passive"/>
</net>
<net code="30" name="VPOS">
<node ref="J1" pin="36" pinfunction="Pin_36" pintype="passive"/>
<node ref="J3" pin="2" pinfunction="Pin_2" pintype="passive"/>
</net>
<net code="31" name="unconnected-(J1-Pad2)">
<node ref="J1" pin="2" pinfunction="Pin_2" pintype="passive+no_connect"/>
</net>
<net code="32" name="unconnected-(J1-Pad4)">
<node ref="J1" pin="4" pinfunction="Pin_4" pintype="passive+no_connect"/>
</net>
<net code="33" name="unconnected-(J1-Pad34)">
<node ref="J1" pin="34" pinfunction="Pin_34" pintype="passive+no_connect"/>
</net>
<net code="34" name="unconnected-(J1-Pad35)">
<node ref="J1" pin="35" pinfunction="Pin_35" pintype="passive+no_connect"/>
</net>
<net code="35" name="unconnected-(J1-Pad37)">
<node ref="J1" pin="37" pinfunction="Pin_37" pintype="passive+no_connect"/>
</net>
<net code="36" name="unconnected-(J1-Pad39)">
<node ref="J1" pin="39" pinfunction="Pin_39" pintype="passive+no_connect"/>
</net>
<net code="37" name="unconnected-(J3-Pad10)">
<node ref="J3" pin="10" pinfunction="Pin_10" pintype="passive+no_connect"/>
</net>
<net code="38" name="unconnected-(J3-Pad21)">
<node ref="J3" pin="21" pinfunction="Pin_21" pintype="passive+no_connect"/>
</net>
<net code="39" name="unconnected-(J3-Pad25)">
<node ref="J3" pin="25" pinfunction="Pin_25" pintype="passive+no_connect"/>
</net>
<net code="40" name="unconnected-(J3-Pad26)">
<node ref="J3" pin="26" pinfunction="Pin_26" pintype="passive+no_connect"/>
</net>
<net code="41" name="unconnected-(J3-Pad27)">
<node ref="J3" pin="27" pinfunction="Pin_27" pintype="passive+no_connect"/>
</net>
</nets>
</export>

View file

@ -0,0 +1,162 @@
37621078134234
footprints
472720024
47272-0024
Connector
0
24
21
footprints
AXE520124
0
24
21
footprints
AXE550127
0
54
51
footprints
AXT524124
0
28
25
footprints
BGA-96_9.0x14.0mm_P0.8mm
BGA-96, http://www.mouser.com/ds/2/198/43-46TR16640B-81280BL-706483.pdf
BGA-96
0
96
96
footprints
HRS_FH26W-39S-0.3SHW(60)
0
41
41
footprints
Hirose_FH12-40S-0.5SH_1x40-1MP_P0.50mm_Horizontal_Reversed
Hirose FH12, FFC/FPC connector, FH12-40S-0.5SH, 40 Pins per row (https://www.hirose.com/product/en/products/FH12/FH12-24S-0.5SH(55)/), generated with kicad-footprint-generator
connector Hirose FH12 horizontal
0
42
41
footprints
L_1212
Inductor, 3.0mmx3.0mm
inductor vishay ihlp smd
0
2
2
footprints
L_CommonModeChoke_Panasonic_EXC14CE
Coilcraft 0603USB Series Common Mode Choke, https://www.coilcraft.com/pdfs/0603usb.pdf
surface mount common mode bead
0
4
4
footprints
L_FXL0420
0
2
2
footprints
L_MAPM0630F
0
2
2
footprints
L_MAPM1040F
0
2
2
footprints
MPS_QFN-16_3x3mm_P0.4mm
QFN, 16 Pin (https://www.onsemi.com/pub/Collateral/NCN4555-D.PDF), generated with kicad-footprint-generator ipc_noLead_generator.py
QFN NoLead
0
16
16
footprints
MSOP-10-1EP_3x3mm_P0.5mm_EP1.68x1.88mm_ThermalVias_0.3
MSOP, 10 Pin (https://www.analog.com/media/en/technical-documentation/data-sheets/3805fg.pdf#page=18), generated with kicad-footprint-generator ipc_gullwing_generator.py
MSOP SO
0
20
11
footprints
Molex_200528-0060_1x06-1MP_P1.00mm_Horizontal_Reversed
Molex Molex 1.00mm Pitch Easy-On BackFlip, Right-Angle, Bottom Contact FFC/FPC, 200528-0060, 6 Circuits (https://www.molex.com/pdm_docs/sd/2005280060_sd.pdf), generated with kicad-footprint-generator
connector Molex top entry
0
8
7
footprints
QFN-28-1EP_4x5mm_P0.5mm_EP2.65x3.65mm_ThermalVias_0.3
QFN, 28 Pin (http://www.analog.com/media/en/technical-documentation/data-sheets/3555fe.pdf#page=32), generated with kicad-footprint-generator ipc_noLead_generator.py
QFN NoLead
0
48
29
footprints
QFN-48-1EP_7x7mm_P0.5mm_EP4.1x4.1mm_ThermalVias
QFN, 48 Pin (http://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/ltc-legacy-qfn/QFN_48_05-08-1704.pdf), generated with kicad-footprint-generator ipc_noLead_generator.py
QFN NoLead
0
71
49
footprints
RP2040-QFN-56
QFN, 56 Pin (http://www.cypress.com/file/416486/download#page=40), generated with kicad-footprint-generator ipc_dfn_qfn_generator.py
QFN DFN_QFN
0
70
57
footprints
TE_5-2069716-3_1x40-1MP_P0.5mm_Horizontal
TE FPC connector, 40 top-side contacts, 0.5mm pitch, SMT, https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Customer+Drawing%7F1734839%7FC%7Fpdf%7FEnglish%7FENG_CD_1734839_C_C_1734839.pdf%7F4-1734839-0
te fpc 1734839
0
44
41
footprints
TE_1612503-1
0
7
6
footprints
TE_1735413-1
SATA, Receptacle, Cable-to-Board, 13 Position, 6P + 7P, Slimline Connector Profile, Right Angle, Surface Mount
0
15
14
footprints
TE_2023246-2
SATA, Receptacle, Cable-to-Board, 22 Position, 7P + 15P, Standard Connector Profile, Right Angle, Surface Mount
0
24
23
footprints
Xilinx_FTG256
Artix-7 BGA, 16x16 grid, 17x17mm package, 1mm pitch; https://www.xilinx.com/support/documentation/user_guides/ug475_7Series_Pkg_Pinout.pdf#page=269, NSMD pad definition Appendix A
BGA 256 1 FT256 FTG256
0
256
256

View file

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name "footprints")(type "KiCad")(uri "${KIPRJMOD}/../common/footprints.pretty")(options "")(descr ""))
)

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,511 @@
(footprint "AMPHENOL_10137065-00021LF"
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at -1.27 -9.525 0)
(layer "F.SilkS")
(uuid "d3be9b9e-ff7f-4bb9-8f14-e46d4012521a")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "AMPHENOL_10137065-00021LF"
(at 11.43 -7.62 0)
(layer "F.Fab")
(uuid "3633ab49-c0a2-4353-91f8-4e66a8137092")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "9bba8f86-d89e-4aa7-8c0c-f67b84f5a1c7")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "67fcd526-8049-4144-9a21-2f0b05f7d700")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "68cde8be-e3e3-46fe-9d90-9914f00f8b7e")
(effects
(font
(size 1.27 1.27)
)
)
)
(attr smd)
(fp_line
(start -4.47 -1.6385)
(end -4.47 -3.5615)
(stroke
(width 0.127)
(type solid)
)
(layer "F.SilkS")
(uuid "9d209dca-b1bc-40fd-a5b9-5b3f38a56e5a")
)
(fp_line
(start -4.47 1.8)
(end -4.47 1.6385)
(stroke
(width 0.127)
(type solid)
)
(layer "F.SilkS")
(uuid "3b6eea9e-4ec0-479f-9be7-882a155694ab")
)
(fp_line
(start -3.3815 -5.85)
(end -3.0735 -5.85)
(stroke
(width 0.127)
(type solid)
)
(layer "F.SilkS")
(uuid "852de9cc-bab3-44ee-b78f-fb9dfcf5a171")
)
(fp_line
(start 3.3235 -5.85)
(end 3.3815 -5.85)
(stroke
(width 0.127)
(type solid)
)
(layer "F.SilkS")
(uuid "6a6fbea4-7e3e-4845-90a6-d20115fb20b8")
)
(fp_line
(start 4.47 -3.5615)
(end 4.47 -1.6385)
(stroke
(width 0.127)
(type solid)
)
(layer "F.SilkS")
(uuid "2ee5d1b5-4aab-4739-a9c6-bf91a55b3dbb")
)
(fp_line
(start 4.47 1.6385)
(end 4.47 1.8)
(stroke
(width 0.127)
(type solid)
)
(layer "F.SilkS")
(uuid "d0d8a12c-ee6b-4d2b-a1a5-f17ab77e3ac5")
)
(fp_line
(start 4.47 1.8)
(end -4.47 1.8)
(stroke
(width 0.127)
(type solid)
)
(layer "F.SilkS")
(uuid "5e89f405-6a4a-4310-b6a0-ddceb1a7f6e6")
)
(fp_circle
(center -2.625 -6.75)
(end -2.525 -6.75)
(stroke
(width 0.2)
(type solid)
)
(fill none)
(layer "F.SilkS")
(uuid "5a9b2714-8d84-4f53-953a-821612b1a265")
)
(fp_line
(start -5.245 -6.475)
(end 5.245 -6.475)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "9d1df963-d406-4e86-89d0-4ea6e6fd31ae")
)
(fp_line
(start -5.245 2.55)
(end -5.245 -6.475)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "3f31d483-663a-4457-8029-fb803fc2e993")
)
(fp_line
(start 5.245 -6.475)
(end 5.245 2.55)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a9cf892e-e906-43ab-a5d0-536a650e67ec")
)
(fp_line
(start 5.245 2.55)
(end -5.245 2.55)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "2f98a695-c74b-48a4-811b-bb9213419da7")
)
(fp_line
(start -4.47 -5.85)
(end 4.47 -5.85)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "8dda6802-8019-45f0-960d-9413080b7eb6")
)
(fp_line
(start -4.47 1.8)
(end -4.47 -5.85)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "7cd53d59-85b3-49d9-a674-2030bf9fdcc1")
)
(fp_line
(start -4.47 1.8)
(end 14.605 1.8)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "c699e2a6-45b5-4e18-b87f-d724bc7520b7")
)
(fp_line
(start -4.47 2.3)
(end -4.47 1.8)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "3e76dc12-305f-404a-9461-e32754d61f92")
)
(fp_line
(start 4.47 -5.85)
(end 4.47 2.3)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "f0e49e6f-f7af-472f-a3d8-979c411314b2")
)
(fp_line
(start 4.47 2.3)
(end -4.47 2.3)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "097fbf56-637b-4c39-992e-00de161a94d1")
)
(fp_circle
(center -2.625 -6.75)
(end -2.525 -6.75)
(stroke
(width 0.2)
(type solid)
)
(fill none)
(layer "F.Fab")
(uuid "42b67780-38e5-472c-b08c-9a6dcb7c568d")
)
(fp_text user "PCB EDGE"
(at 5.715 1.27 0)
(layer "F.Fab")
(uuid "7a215f27-6e6c-4287-b514-bf2e7d800832")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "" np_thru_hole circle
(at -3.6 -3.05)
(size 0.6 0.6)
(drill 0.6)
(layers "F&B.Cu" "*.Mask")
(uuid "a785c748-fd41-4d78-8c37-fff9b22fddd4")
)
(pad "" np_thru_hole circle
(at 3.6 -3.115)
(size 0.5 0.5)
(drill oval 0.85 0.5)
(layers "F&B.Cu" "*.Mask")
(uuid "316a7cf8-9de7-48ac-9fc6-582a2caf1b82")
)
(pad "A1" smd rect
(at -2.625 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "7f651ac3-c338-45f5-8d19-c9121924e920")
)
(pad "A2" smd rect
(at -2.125 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "5008d03c-727f-420c-82bf-2c0248739a6c")
)
(pad "A3" smd rect
(at -1.625 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "acd6229b-d41f-4aec-a0ad-c4e79e1a479a")
)
(pad "A4" smd rect
(at -1.125 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "bf24dcae-93e2-463e-a166-11a31ead8db2")
)
(pad "A5" smd rect
(at -0.625 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "75646383-5ada-4138-80c7-566c23931e6f")
)
(pad "A6" smd rect
(at -0.125 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "647748d4-2d45-4586-967a-0889ea69d598")
)
(pad "A7" smd rect
(at 0.375 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "db8c42f7-5090-47b2-8356-70a926c24659")
)
(pad "A8" smd rect
(at 0.875 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "be1f5c30-6d64-4b15-851b-4d04e467d7ce")
)
(pad "A9" smd rect
(at 1.375 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "4b5d2888-5970-482d-881d-05b1dcea4299")
)
(pad "A10" smd rect
(at 1.875 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "8a63d017-76f5-478f-9eb4-479dea9922ec")
)
(pad "A11" smd rect
(at 2.375 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "203004f4-261b-4bdf-8141-e44cc57620e0")
)
(pad "A12" smd rect
(at 2.875 -5.75)
(size 0.27 0.9)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "e937b084-331d-41dd-b3c0-851d8aab6a79")
)
(pad "B1" smd rect
(at 2.625 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "cc871dde-0892-43e6-aa7f-6a606e4eb7e1")
)
(pad "B2" smd rect
(at 2.125 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "b7143d20-1036-4292-be22-876b7b6ee32f")
)
(pad "B3" smd rect
(at 1.625 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "b8a2bb96-6e96-4323-807d-98d109746b84")
)
(pad "B4" smd rect
(at 1.125 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "721e7f6a-fb0f-439d-9f2b-74c4cd5725c7")
)
(pad "B5" smd rect
(at 0.625 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "a6f03e21-876c-4939-9fb6-c96a3fc922c1")
)
(pad "B6" smd rect
(at 0.125 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "666c580f-4148-469a-94c4-a40621e538c6")
)
(pad "B7" smd rect
(at -0.375 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "97a66b22-379d-4904-b820-6ba61470444a")
)
(pad "B8" smd rect
(at -0.875 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "39a4ee2a-c7b7-43d2-88d2-0f586283caef")
)
(pad "B9" smd rect
(at -1.375 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "8742f1c8-c981-445b-8ac1-f2955d19b872")
)
(pad "B10" smd rect
(at -1.875 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "b547aedb-ca5a-42aa-ac28-8daea2ba4016")
)
(pad "B11" smd rect
(at -2.375 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "68c16d80-ee9d-4871-a6d2-4c9a00064421")
)
(pad "B12" smd rect
(at -2.875 -4.15)
(size 0.27 0.8)
(layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.102)
(uuid "c9a8f7d2-60f2-49b9-8e61-3d1cbc588d86")
)
(pad "S1" thru_hole oval
(at -4.325 -5.05)
(size 1.2 2.3)
(drill oval 0.6 1.9)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "587a833c-380c-4623-a4c5-26a13b951a76")
)
(pad "S1" thru_hole oval
(at -4.32 0)
(size 1.3 2.6)
(drill oval 0.7 2)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(solder_mask_margin 0.102)
(uuid "82160c7e-cb98-46a5-9ac3-a1089d46bcba")
)
(pad "S1" thru_hole oval
(at -3.975 -4.45)
(size 1.45 1.1)
(drill oval 1.25 0.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "a69da7c2-f29a-4bf0-bcea-a92c69b75d07")
)
(pad "S1" thru_hole oval
(at 3.975 -4.45)
(size 1.45 1.1)
(drill oval 1.25 0.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "eae15cca-1430-448f-b24c-8e1d547fff37")
)
(pad "S1" thru_hole oval
(at 4.32 0)
(size 1.3 2.6)
(drill oval 0.7 2)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(solder_mask_margin 0.102)
(uuid "bf138a85-5635-4496-8b88-010b4595c1df")
)
(pad "S1" thru_hole oval
(at 4.325 -5.05)
(size 1.2 2.3)
(drill oval 0.6 1.9)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "9f2098bd-55c9-4af6-a9c8-8c7828650e87")
)
(model "${KIPRJMOD}/../common/footprints.pretty/10137065-00021LF.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz -90 0 0)
)
)
)

View file

@ -0,0 +1,507 @@
(footprint "BM20B-0.8-50"
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at -6.415 0 90)
(unlocked yes)
(layer "F.SilkS")
(uuid "ee5ef8b2-8bb8-48b2-9f3c-5d1133f9258d")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "BM20B-0.8-50"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(uuid "53cee550-287a-419a-bdc5-6f8769f1e223")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "9611b175-272f-42c6-82b1-51c792d45f05")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "c0589ef6-1c5c-4025-b1e9-f86916d5b143")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "276a8c5f-5c91-409b-8632-78190110520d")
(effects
(font
(size 1.27 1.27)
)
)
)
(attr smd)
(fp_line
(start -5.415 -2.15)
(end 5.415 -2.15)
(stroke
(width 0.12)
(type default)
)
(layer "F.SilkS")
(uuid "6a81b8a1-162f-4ea0-a7b2-70583b7b079e")
)
(fp_line
(start -5.415 1.35)
(end -5.415 -2.15)
(stroke
(width 0.12)
(type default)
)
(layer "F.SilkS")
(uuid "7caad5d9-7036-4c81-a11d-8f2e3023ffe8")
)
(fp_line
(start -4.615 2.15)
(end -5.415 1.35)
(stroke
(width 0.12)
(type default)
)
(layer "F.SilkS")
(uuid "1047b0aa-0a21-486f-8572-7f15546b18f2")
)
(fp_line
(start 5.415 -2.15)
(end 5.415 2.15)
(stroke
(width 0.12)
(type default)
)
(layer "F.SilkS")
(uuid "b3340943-cab5-491c-8189-138cc0468b5f")
)
(fp_line
(start 5.415 2.15)
(end -4.615 2.15)
(stroke
(width 0.12)
(type default)
)
(layer "F.SilkS")
(uuid "55de0e2c-39c2-440c-9c43-006216d8ef15")
)
(fp_line
(start -5.16 -1.9)
(end 5.16 -1.9)
(stroke
(width 0.05)
(type default)
)
(layer "F.CrtYd")
(uuid "28d30dd7-8868-4492-b006-b060fcaaa201")
)
(fp_line
(start -5.16 1.9)
(end -5.16 -1.9)
(stroke
(width 0.05)
(type default)
)
(layer "F.CrtYd")
(uuid "ac8654ac-29b1-479c-b117-1117b6c7f5d4")
)
(fp_line
(start 5.16 -1.9)
(end 5.16 1.9)
(stroke
(width 0.05)
(type default)
)
(layer "F.CrtYd")
(uuid "118a8ca3-cda1-4747-84ac-418f9e75b373")
)
(fp_line
(start 5.16 1.9)
(end -5.16 1.9)
(stroke
(width 0.05)
(type default)
)
(layer "F.CrtYd")
(uuid "156eda07-508b-4fda-92e3-4017d17d1226")
)
(pad "1" smd rect
(at -4.8 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "d059ae96-a06f-4033-9826-78eeda935ff8")
)
(pad "2" smd rect
(at -4.8 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "d959778a-36b4-49be-af6a-3a68f53406e6")
)
(pad "3" smd rect
(at -4.4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "649e760d-cc9d-4b08-b082-50d006fd294d")
)
(pad "4" smd rect
(at -4.4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "1dafe15a-6dfb-4db4-9c93-dfeec4c0ba1e")
)
(pad "5" smd rect
(at -4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "2eb9beae-40cc-4a41-8253-77bca4cae248")
)
(pad "6" smd rect
(at -4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "21d98b04-5dd9-4d88-b94d-3a7a78e9149f")
)
(pad "7" smd rect
(at -3.6 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "5aab5144-e0b8-4f95-b095-b867e9c1b5f8")
)
(pad "8" smd rect
(at -3.6 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "0099ab32-7759-41a9-9c6d-7f9964b17327")
)
(pad "9" smd rect
(at -3.2 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "45f5c04d-aa43-4499-95ce-7635963c080d")
)
(pad "10" smd rect
(at -3.2 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "9b6af861-b4cc-4fd0-8642-05d606767d18")
)
(pad "11" smd rect
(at -2.8 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "6b955d49-f12c-4d29-a7c7-284e05fc0d3c")
)
(pad "12" smd rect
(at -2.8 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "e62ab5a7-1e0e-49b0-95fc-8c9af9cc8e21")
)
(pad "13" smd rect
(at -2.4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "6410f8ea-0a37-42e7-8e55-80c4fb8cdb60")
)
(pad "14" smd rect
(at -2.4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "754318cd-5dd6-4475-a6c0-9f5f39fc1f10")
)
(pad "15" smd rect
(at -2 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "94112bd2-ee0e-4466-bb28-7e47f8756e62")
)
(pad "16" smd rect
(at -2 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "629a2739-7d60-44e2-92de-05052c199494")
)
(pad "17" smd rect
(at -1.6 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "5b4ee042-7bc0-41a6-ab62-075624f689f3")
)
(pad "18" smd rect
(at -1.6 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "ab2d7335-6994-4884-a308-2e75d07a03d1")
)
(pad "19" smd rect
(at -1.2 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "827283f4-2730-4d91-b959-eb616ede08ee")
)
(pad "20" smd rect
(at -1.2 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "3a7df91b-b5e7-47e4-9fac-749fed3c267d")
)
(pad "21" smd rect
(at -0.8 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "d515e9ff-a01c-4d55-b5fe-e41e9dc4b671")
)
(pad "22" smd rect
(at -0.8 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "92e955ac-e044-4200-9e24-84b86ab0f130")
)
(pad "23" smd rect
(at -0.4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "02adf171-9cd7-413f-87ca-bf923ca8a12b")
)
(pad "24" smd rect
(at -0.4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "38e9ed25-7c2f-45d4-a94d-a3211e7b6c62")
)
(pad "25" smd rect
(at 0 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "0b72fd39-947f-4196-a573-2bd91e734fc4")
)
(pad "26" smd rect
(at 0 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "2d0356d2-f287-4c79-86cf-70dcf2e67da8")
)
(pad "27" smd rect
(at 0.4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "97c96fc2-8bb8-4b74-9d72-f412d5d627cf")
)
(pad "28" smd rect
(at 0.4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "c87aaee7-525f-4d27-a1dd-fea58011f19a")
)
(pad "29" smd rect
(at 0.8 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "b055b3cd-63bd-4363-8e06-3960a1676d30")
)
(pad "30" smd rect
(at 0.8 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "2da12298-1fac-48ba-97d9-6e2490e17b31")
)
(pad "31" smd rect
(at 1.2 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "05a0fca9-cb0f-4961-8974-0eec76d6a02f")
)
(pad "32" smd rect
(at 1.2 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "a18928e6-c190-454b-a0dd-49dd95a02bde")
)
(pad "33" smd rect
(at 1.6 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "c5f688d7-eba1-41a9-b87b-f50437d68899")
)
(pad "34" smd rect
(at 1.6 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "38f9101d-8f5e-4656-b0fe-df9c1aca34d1")
)
(pad "35" smd rect
(at 2 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "39ab10be-6728-4c3a-a095-4ef645acc8ce")
)
(pad "36" smd rect
(at 2 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "94f4dbca-e697-4904-a893-c359add0eaa9")
)
(pad "37" smd rect
(at 2.4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "5be5bcd7-c5a4-4866-9063-ef66c0c21490")
)
(pad "38" smd rect
(at 2.4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "879733e5-eea4-4cd4-ab70-02d86a63572b")
)
(pad "39" smd rect
(at 2.8 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "ee254c8d-5540-450d-ac36-d4e8a0a66390")
)
(pad "40" smd rect
(at 2.8 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "73a74f28-d67c-4055-b12e-0f42acc25886")
)
(pad "41" smd rect
(at 3.2 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "e168e9c9-fe3d-4f5c-aa25-f62329bd56cb")
)
(pad "42" smd rect
(at 3.2 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "0ed0253d-2aaf-4322-be24-50163752d05e")
)
(pad "43" smd rect
(at 3.6 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "5808d492-5179-4658-b277-8cf6c9ace9a5")
)
(pad "44" smd rect
(at 3.6 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "f6891419-9af1-4b7a-bf8e-ec78f10be3f8")
)
(pad "45" smd rect
(at 4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "3c1ec24a-66e7-41ec-ab35-9b2fdc0fcccc")
)
(pad "46" smd rect
(at 4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "73facb66-31a9-4b2b-bd5f-4f6ad89a8f44")
)
(pad "47" smd rect
(at 4.4 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "7cdac884-0d59-44a8-89d2-6ed1a5e45fb1")
)
(pad "48" smd rect
(at 4.4 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "723c6702-9d25-431a-af37-3ed0cea97bf3")
)
(pad "49" smd rect
(at 4.8 1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "45a66aa3-ad90-4dbc-a4df-9cdbd30a20fe")
)
(pad "50" smd rect
(at 4.8 -1.15)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(thermal_bridge_angle 45)
(uuid "fad9ddbc-ab05-425b-a92c-c3008a7ce5af")
)
)

View file

@ -0,0 +1,949 @@
ISO-10303-21;
HEADER;
/* Generated by software containing ST-Developer
* from STEP Tools, Inc. (www.steptools.com)
*/
FILE_DESCRIPTION(
/* description */ (''),
/* implementation_level */ '2;1');
FILE_NAME(
/* name */ '/Users/wenting/Downloads/EVQP7C.step',
/* time_stamp */ '2020-03-12T14:55:17-04:00',
/* author */ (''),
/* organization */ (''),
/* preprocessor_version */ 'ST-DEVELOPER v18',
/* originating_system */ 'Autodesk Translation Framework v8.12.0.6',
/* authorisation */ '');
FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 3 1 1 }'));
ENDSEC;
DATA;
#10=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#505,#506,
#507,#508,#509,#510),#858);
#11=SHAPE_REPRESENTATION_RELATIONSHIP('SRR','None',#865,#12);
#12=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#13),#857);
#13=MANIFOLD_SOLID_BREP('Body1',#538);
#14=FACE_BOUND('',#67,.T.);
#15=FACE_OUTER_BOUND('',#42,.T.);
#16=FACE_OUTER_BOUND('',#43,.T.);
#17=FACE_OUTER_BOUND('',#44,.T.);
#18=FACE_OUTER_BOUND('',#45,.T.);
#19=FACE_OUTER_BOUND('',#46,.T.);
#20=FACE_OUTER_BOUND('',#47,.T.);
#21=FACE_OUTER_BOUND('',#48,.T.);
#22=FACE_OUTER_BOUND('',#49,.T.);
#23=FACE_OUTER_BOUND('',#50,.T.);
#24=FACE_OUTER_BOUND('',#51,.T.);
#25=FACE_OUTER_BOUND('',#52,.T.);
#26=FACE_OUTER_BOUND('',#53,.T.);
#27=FACE_OUTER_BOUND('',#54,.T.);
#28=FACE_OUTER_BOUND('',#55,.T.);
#29=FACE_OUTER_BOUND('',#56,.T.);
#30=FACE_OUTER_BOUND('',#57,.T.);
#31=FACE_OUTER_BOUND('',#58,.T.);
#32=FACE_OUTER_BOUND('',#59,.T.);
#33=FACE_OUTER_BOUND('',#60,.T.);
#34=FACE_OUTER_BOUND('',#61,.T.);
#35=FACE_OUTER_BOUND('',#62,.T.);
#36=FACE_OUTER_BOUND('',#63,.T.);
#37=FACE_OUTER_BOUND('',#64,.T.);
#38=FACE_OUTER_BOUND('',#65,.T.);
#39=FACE_OUTER_BOUND('',#66,.T.);
#40=FACE_OUTER_BOUND('',#68,.T.);
#41=FACE_OUTER_BOUND('',#69,.T.);
#42=EDGE_LOOP('',(#334,#335,#336,#337));
#43=EDGE_LOOP('',(#338,#339,#340,#341));
#44=EDGE_LOOP('',(#342,#343,#344,#345));
#45=EDGE_LOOP('',(#346,#347,#348,#349));
#46=EDGE_LOOP('',(#350,#351,#352,#353));
#47=EDGE_LOOP('',(#354,#355,#356,#357));
#48=EDGE_LOOP('',(#358,#359,#360,#361));
#49=EDGE_LOOP('',(#362,#363,#364,#365));
#50=EDGE_LOOP('',(#366,#367,#368,#369));
#51=EDGE_LOOP('',(#370,#371,#372,#373,#374,#375,#376,#377,#378,#379,#380,
#381));
#52=EDGE_LOOP('',(#382,#383,#384,#385));
#53=EDGE_LOOP('',(#386,#387,#388,#389));
#54=EDGE_LOOP('',(#390,#391,#392,#393));
#55=EDGE_LOOP('',(#394,#395,#396,#397));
#56=EDGE_LOOP('',(#398,#399,#400,#401));
#57=EDGE_LOOP('',(#402,#403,#404,#405));
#58=EDGE_LOOP('',(#406,#407,#408,#409));
#59=EDGE_LOOP('',(#410,#411,#412,#413));
#60=EDGE_LOOP('',(#414,#415,#416,#417));
#61=EDGE_LOOP('',(#418,#419,#420,#421));
#62=EDGE_LOOP('',(#422,#423,#424,#425));
#63=EDGE_LOOP('',(#426,#427,#428,#429));
#64=EDGE_LOOP('',(#430,#431,#432,#433));
#65=EDGE_LOOP('',(#434,#435,#436,#437,#438,#439,#440,#441,#442,#443,#444,
#445));
#66=EDGE_LOOP('',(#446,#447,#448,#449));
#67=EDGE_LOOP('',(#450,#451,#452,#453));
#68=EDGE_LOOP('',(#454,#455,#456,#457));
#69=EDGE_LOOP('',(#458,#459,#460,#461,#462,#463,#464,#465,#466,#467,#468,
#469,#470,#471,#472,#473,#474,#475,#476,#477));
#70=LINE('',#711,#142);
#71=LINE('',#713,#143);
#72=LINE('',#715,#144);
#73=LINE('',#716,#145);
#74=LINE('',#719,#146);
#75=LINE('',#721,#147);
#76=LINE('',#722,#148);
#77=LINE('',#725,#149);
#78=LINE('',#727,#150);
#79=LINE('',#728,#151);
#80=LINE('',#730,#152);
#81=LINE('',#731,#153);
#82=LINE('',#736,#154);
#83=LINE('',#738,#155);
#84=LINE('',#740,#156);
#85=LINE('',#741,#157);
#86=LINE('',#744,#158);
#87=LINE('',#746,#159);
#88=LINE('',#747,#160);
#89=LINE('',#750,#161);
#90=LINE('',#752,#162);
#91=LINE('',#753,#163);
#92=LINE('',#755,#164);
#93=LINE('',#758,#165);
#94=LINE('',#760,#166);
#95=LINE('',#762,#167);
#96=LINE('',#764,#168);
#97=LINE('',#766,#169);
#98=LINE('',#768,#170);
#99=LINE('',#770,#171);
#100=LINE('',#772,#172);
#101=LINE('',#773,#173);
#102=LINE('',#776,#174);
#103=LINE('',#778,#175);
#104=LINE('',#779,#176);
#105=LINE('',#782,#177);
#106=LINE('',#784,#178);
#107=LINE('',#785,#179);
#108=LINE('',#787,#180);
#109=LINE('',#788,#181);
#110=LINE('',#793,#182);
#111=LINE('',#795,#183);
#112=LINE('',#797,#184);
#113=LINE('',#798,#185);
#114=LINE('',#802,#186);
#115=LINE('',#804,#187);
#116=LINE('',#806,#188);
#117=LINE('',#807,#189);
#118=LINE('',#809,#190);
#119=LINE('',#810,#191);
#120=LINE('',#812,#192);
#121=LINE('',#816,#193);
#122=LINE('',#818,#194);
#123=LINE('',#820,#195);
#124=LINE('',#821,#196);
#125=LINE('',#825,#197);
#126=LINE('',#827,#198);
#127=LINE('',#829,#199);
#128=LINE('',#830,#200);
#129=LINE('',#832,#201);
#130=LINE('',#833,#202);
#131=LINE('',#835,#203);
#132=LINE('',#838,#204);
#133=LINE('',#840,#205);
#134=LINE('',#841,#206);
#135=LINE('',#843,#207);
#136=LINE('',#844,#208);
#137=LINE('',#846,#209);
#138=LINE('',#848,#210);
#139=LINE('',#849,#211);
#140=LINE('',#851,#212);
#141=LINE('',#852,#213);
#142=VECTOR('',#583,10.);
#143=VECTOR('',#584,10.);
#144=VECTOR('',#585,10.);
#145=VECTOR('',#586,10.);
#146=VECTOR('',#589,10.);
#147=VECTOR('',#590,10.);
#148=VECTOR('',#591,10.);
#149=VECTOR('',#594,10.);
#150=VECTOR('',#595,10.);
#151=VECTOR('',#596,10.);
#152=VECTOR('',#599,10.);
#153=VECTOR('',#600,10.);
#154=VECTOR('',#605,10.);
#155=VECTOR('',#606,10.);
#156=VECTOR('',#607,10.);
#157=VECTOR('',#608,10.);
#158=VECTOR('',#611,10.);
#159=VECTOR('',#612,10.);
#160=VECTOR('',#613,10.);
#161=VECTOR('',#616,10.);
#162=VECTOR('',#617,10.);
#163=VECTOR('',#618,10.);
#164=VECTOR('',#621,10.);
#165=VECTOR('',#624,10.);
#166=VECTOR('',#625,10.);
#167=VECTOR('',#626,10.);
#168=VECTOR('',#627,10.);
#169=VECTOR('',#628,10.);
#170=VECTOR('',#629,10.);
#171=VECTOR('',#630,10.);
#172=VECTOR('',#631,10.);
#173=VECTOR('',#632,10.);
#174=VECTOR('',#635,10.);
#175=VECTOR('',#636,10.);
#176=VECTOR('',#637,10.);
#177=VECTOR('',#640,10.);
#178=VECTOR('',#641,10.);
#179=VECTOR('',#642,10.);
#180=VECTOR('',#645,10.);
#181=VECTOR('',#646,10.);
#182=VECTOR('',#651,10.);
#183=VECTOR('',#652,10.);
#184=VECTOR('',#653,10.);
#185=VECTOR('',#654,10.);
#186=VECTOR('',#657,10.);
#187=VECTOR('',#658,10.);
#188=VECTOR('',#659,10.);
#189=VECTOR('',#660,10.);
#190=VECTOR('',#663,10.);
#191=VECTOR('',#664,10.);
#192=VECTOR('',#667,10.);
#193=VECTOR('',#670,10.);
#194=VECTOR('',#671,10.);
#195=VECTOR('',#672,10.);
#196=VECTOR('',#673,10.);
#197=VECTOR('',#676,10.);
#198=VECTOR('',#677,10.);
#199=VECTOR('',#678,10.);
#200=VECTOR('',#679,10.);
#201=VECTOR('',#682,10.);
#202=VECTOR('',#683,10.);
#203=VECTOR('',#686,10.);
#204=VECTOR('',#689,10.);
#205=VECTOR('',#690,10.);
#206=VECTOR('',#691,10.);
#207=VECTOR('',#694,10.);
#208=VECTOR('',#695,10.);
#209=VECTOR('',#696,10.);
#210=VECTOR('',#697,10.);
#211=VECTOR('',#698,10.);
#212=VECTOR('',#701,10.);
#213=VECTOR('',#702,10.);
#214=VERTEX_POINT('',#709);
#215=VERTEX_POINT('',#710);
#216=VERTEX_POINT('',#712);
#217=VERTEX_POINT('',#714);
#218=VERTEX_POINT('',#718);
#219=VERTEX_POINT('',#720);
#220=VERTEX_POINT('',#724);
#221=VERTEX_POINT('',#726);
#222=VERTEX_POINT('',#734);
#223=VERTEX_POINT('',#735);
#224=VERTEX_POINT('',#737);
#225=VERTEX_POINT('',#739);
#226=VERTEX_POINT('',#743);
#227=VERTEX_POINT('',#745);
#228=VERTEX_POINT('',#749);
#229=VERTEX_POINT('',#751);
#230=VERTEX_POINT('',#757);
#231=VERTEX_POINT('',#759);
#232=VERTEX_POINT('',#761);
#233=VERTEX_POINT('',#763);
#234=VERTEX_POINT('',#765);
#235=VERTEX_POINT('',#767);
#236=VERTEX_POINT('',#769);
#237=VERTEX_POINT('',#771);
#238=VERTEX_POINT('',#775);
#239=VERTEX_POINT('',#777);
#240=VERTEX_POINT('',#781);
#241=VERTEX_POINT('',#783);
#242=VERTEX_POINT('',#791);
#243=VERTEX_POINT('',#792);
#244=VERTEX_POINT('',#794);
#245=VERTEX_POINT('',#796);
#246=VERTEX_POINT('',#800);
#247=VERTEX_POINT('',#801);
#248=VERTEX_POINT('',#803);
#249=VERTEX_POINT('',#805);
#250=VERTEX_POINT('',#814);
#251=VERTEX_POINT('',#815);
#252=VERTEX_POINT('',#817);
#253=VERTEX_POINT('',#819);
#254=VERTEX_POINT('',#823);
#255=VERTEX_POINT('',#824);
#256=VERTEX_POINT('',#826);
#257=VERTEX_POINT('',#828);
#258=VERTEX_POINT('',#837);
#259=VERTEX_POINT('',#839);
#260=VERTEX_POINT('',#845);
#261=VERTEX_POINT('',#847);
#262=EDGE_CURVE('',#214,#215,#70,.T.);
#263=EDGE_CURVE('',#214,#216,#71,.T.);
#264=EDGE_CURVE('',#217,#216,#72,.T.);
#265=EDGE_CURVE('',#215,#217,#73,.T.);
#266=EDGE_CURVE('',#215,#218,#74,.T.);
#267=EDGE_CURVE('',#219,#217,#75,.T.);
#268=EDGE_CURVE('',#218,#219,#76,.T.);
#269=EDGE_CURVE('',#218,#220,#77,.T.);
#270=EDGE_CURVE('',#221,#219,#78,.T.);
#271=EDGE_CURVE('',#220,#221,#79,.T.);
#272=EDGE_CURVE('',#220,#214,#80,.T.);
#273=EDGE_CURVE('',#216,#221,#81,.T.);
#274=EDGE_CURVE('',#222,#223,#82,.T.);
#275=EDGE_CURVE('',#224,#223,#83,.T.);
#276=EDGE_CURVE('',#225,#224,#84,.T.);
#277=EDGE_CURVE('',#222,#225,#85,.T.);
#278=EDGE_CURVE('',#226,#222,#86,.T.);
#279=EDGE_CURVE('',#227,#225,#87,.T.);
#280=EDGE_CURVE('',#226,#227,#88,.T.);
#281=EDGE_CURVE('',#228,#226,#89,.T.);
#282=EDGE_CURVE('',#229,#227,#90,.T.);
#283=EDGE_CURVE('',#228,#229,#91,.T.);
#284=EDGE_CURVE('',#229,#224,#92,.T.);
#285=EDGE_CURVE('',#223,#230,#93,.T.);
#286=EDGE_CURVE('',#230,#231,#94,.T.);
#287=EDGE_CURVE('',#232,#231,#95,.T.);
#288=EDGE_CURVE('',#233,#232,#96,.T.);
#289=EDGE_CURVE('',#233,#234,#97,.T.);
#290=EDGE_CURVE('',#234,#235,#98,.T.);
#291=EDGE_CURVE('',#235,#236,#99,.T.);
#292=EDGE_CURVE('',#236,#237,#100,.T.);
#293=EDGE_CURVE('',#237,#228,#101,.T.);
#294=EDGE_CURVE('',#238,#237,#102,.T.);
#295=EDGE_CURVE('',#239,#236,#103,.T.);
#296=EDGE_CURVE('',#238,#239,#104,.T.);
#297=EDGE_CURVE('',#240,#238,#105,.T.);
#298=EDGE_CURVE('',#241,#239,#106,.T.);
#299=EDGE_CURVE('',#240,#241,#107,.T.);
#300=EDGE_CURVE('',#234,#240,#108,.T.);
#301=EDGE_CURVE('',#235,#241,#109,.T.);
#302=EDGE_CURVE('',#242,#243,#110,.T.);
#303=EDGE_CURVE('',#242,#244,#111,.T.);
#304=EDGE_CURVE('',#245,#244,#112,.T.);
#305=EDGE_CURVE('',#243,#245,#113,.T.);
#306=EDGE_CURVE('',#246,#247,#114,.T.);
#307=EDGE_CURVE('',#248,#246,#115,.T.);
#308=EDGE_CURVE('',#249,#248,#116,.T.);
#309=EDGE_CURVE('',#247,#249,#117,.T.);
#310=EDGE_CURVE('',#247,#242,#118,.T.);
#311=EDGE_CURVE('',#244,#249,#119,.T.);
#312=EDGE_CURVE('',#245,#248,#120,.T.);
#313=EDGE_CURVE('',#250,#251,#121,.T.);
#314=EDGE_CURVE('',#250,#252,#122,.T.);
#315=EDGE_CURVE('',#253,#252,#123,.T.);
#316=EDGE_CURVE('',#251,#253,#124,.T.);
#317=EDGE_CURVE('',#254,#255,#125,.T.);
#318=EDGE_CURVE('',#256,#254,#126,.T.);
#319=EDGE_CURVE('',#257,#256,#127,.T.);
#320=EDGE_CURVE('',#255,#257,#128,.T.);
#321=EDGE_CURVE('',#255,#250,#129,.T.);
#322=EDGE_CURVE('',#252,#257,#130,.T.);
#323=EDGE_CURVE('',#253,#256,#131,.T.);
#324=EDGE_CURVE('',#258,#233,#132,.T.);
#325=EDGE_CURVE('',#259,#232,#133,.T.);
#326=EDGE_CURVE('',#258,#259,#134,.T.);
#327=EDGE_CURVE('',#246,#251,#135,.T.);
#328=EDGE_CURVE('',#254,#258,#136,.T.);
#329=EDGE_CURVE('',#260,#259,#137,.T.);
#330=EDGE_CURVE('',#261,#260,#138,.T.);
#331=EDGE_CURVE('',#261,#243,#139,.T.);
#332=EDGE_CURVE('',#230,#261,#140,.T.);
#333=EDGE_CURVE('',#231,#260,#141,.T.);
#334=ORIENTED_EDGE('',*,*,#262,.F.);
#335=ORIENTED_EDGE('',*,*,#263,.T.);
#336=ORIENTED_EDGE('',*,*,#264,.F.);
#337=ORIENTED_EDGE('',*,*,#265,.F.);
#338=ORIENTED_EDGE('',*,*,#266,.F.);
#339=ORIENTED_EDGE('',*,*,#265,.T.);
#340=ORIENTED_EDGE('',*,*,#267,.F.);
#341=ORIENTED_EDGE('',*,*,#268,.F.);
#342=ORIENTED_EDGE('',*,*,#269,.F.);
#343=ORIENTED_EDGE('',*,*,#268,.T.);
#344=ORIENTED_EDGE('',*,*,#270,.F.);
#345=ORIENTED_EDGE('',*,*,#271,.F.);
#346=ORIENTED_EDGE('',*,*,#272,.F.);
#347=ORIENTED_EDGE('',*,*,#271,.T.);
#348=ORIENTED_EDGE('',*,*,#273,.F.);
#349=ORIENTED_EDGE('',*,*,#263,.F.);
#350=ORIENTED_EDGE('',*,*,#273,.T.);
#351=ORIENTED_EDGE('',*,*,#270,.T.);
#352=ORIENTED_EDGE('',*,*,#267,.T.);
#353=ORIENTED_EDGE('',*,*,#264,.T.);
#354=ORIENTED_EDGE('',*,*,#274,.T.);
#355=ORIENTED_EDGE('',*,*,#275,.F.);
#356=ORIENTED_EDGE('',*,*,#276,.F.);
#357=ORIENTED_EDGE('',*,*,#277,.F.);
#358=ORIENTED_EDGE('',*,*,#278,.T.);
#359=ORIENTED_EDGE('',*,*,#277,.T.);
#360=ORIENTED_EDGE('',*,*,#279,.F.);
#361=ORIENTED_EDGE('',*,*,#280,.F.);
#362=ORIENTED_EDGE('',*,*,#281,.T.);
#363=ORIENTED_EDGE('',*,*,#280,.T.);
#364=ORIENTED_EDGE('',*,*,#282,.F.);
#365=ORIENTED_EDGE('',*,*,#283,.F.);
#366=ORIENTED_EDGE('',*,*,#282,.T.);
#367=ORIENTED_EDGE('',*,*,#279,.T.);
#368=ORIENTED_EDGE('',*,*,#276,.T.);
#369=ORIENTED_EDGE('',*,*,#284,.F.);
#370=ORIENTED_EDGE('',*,*,#283,.T.);
#371=ORIENTED_EDGE('',*,*,#284,.T.);
#372=ORIENTED_EDGE('',*,*,#275,.T.);
#373=ORIENTED_EDGE('',*,*,#285,.T.);
#374=ORIENTED_EDGE('',*,*,#286,.T.);
#375=ORIENTED_EDGE('',*,*,#287,.F.);
#376=ORIENTED_EDGE('',*,*,#288,.F.);
#377=ORIENTED_EDGE('',*,*,#289,.T.);
#378=ORIENTED_EDGE('',*,*,#290,.T.);
#379=ORIENTED_EDGE('',*,*,#291,.T.);
#380=ORIENTED_EDGE('',*,*,#292,.T.);
#381=ORIENTED_EDGE('',*,*,#293,.T.);
#382=ORIENTED_EDGE('',*,*,#294,.T.);
#383=ORIENTED_EDGE('',*,*,#292,.F.);
#384=ORIENTED_EDGE('',*,*,#295,.F.);
#385=ORIENTED_EDGE('',*,*,#296,.F.);
#386=ORIENTED_EDGE('',*,*,#297,.T.);
#387=ORIENTED_EDGE('',*,*,#296,.T.);
#388=ORIENTED_EDGE('',*,*,#298,.F.);
#389=ORIENTED_EDGE('',*,*,#299,.F.);
#390=ORIENTED_EDGE('',*,*,#300,.T.);
#391=ORIENTED_EDGE('',*,*,#299,.T.);
#392=ORIENTED_EDGE('',*,*,#301,.F.);
#393=ORIENTED_EDGE('',*,*,#290,.F.);
#394=ORIENTED_EDGE('',*,*,#301,.T.);
#395=ORIENTED_EDGE('',*,*,#298,.T.);
#396=ORIENTED_EDGE('',*,*,#295,.T.);
#397=ORIENTED_EDGE('',*,*,#291,.F.);
#398=ORIENTED_EDGE('',*,*,#302,.F.);
#399=ORIENTED_EDGE('',*,*,#303,.T.);
#400=ORIENTED_EDGE('',*,*,#304,.F.);
#401=ORIENTED_EDGE('',*,*,#305,.F.);
#402=ORIENTED_EDGE('',*,*,#306,.F.);
#403=ORIENTED_EDGE('',*,*,#307,.F.);
#404=ORIENTED_EDGE('',*,*,#308,.F.);
#405=ORIENTED_EDGE('',*,*,#309,.F.);
#406=ORIENTED_EDGE('',*,*,#310,.F.);
#407=ORIENTED_EDGE('',*,*,#309,.T.);
#408=ORIENTED_EDGE('',*,*,#311,.F.);
#409=ORIENTED_EDGE('',*,*,#303,.F.);
#410=ORIENTED_EDGE('',*,*,#311,.T.);
#411=ORIENTED_EDGE('',*,*,#308,.T.);
#412=ORIENTED_EDGE('',*,*,#312,.F.);
#413=ORIENTED_EDGE('',*,*,#304,.T.);
#414=ORIENTED_EDGE('',*,*,#313,.F.);
#415=ORIENTED_EDGE('',*,*,#314,.T.);
#416=ORIENTED_EDGE('',*,*,#315,.F.);
#417=ORIENTED_EDGE('',*,*,#316,.F.);
#418=ORIENTED_EDGE('',*,*,#317,.F.);
#419=ORIENTED_EDGE('',*,*,#318,.F.);
#420=ORIENTED_EDGE('',*,*,#319,.F.);
#421=ORIENTED_EDGE('',*,*,#320,.F.);
#422=ORIENTED_EDGE('',*,*,#321,.F.);
#423=ORIENTED_EDGE('',*,*,#320,.T.);
#424=ORIENTED_EDGE('',*,*,#322,.F.);
#425=ORIENTED_EDGE('',*,*,#314,.F.);
#426=ORIENTED_EDGE('',*,*,#322,.T.);
#427=ORIENTED_EDGE('',*,*,#319,.T.);
#428=ORIENTED_EDGE('',*,*,#323,.F.);
#429=ORIENTED_EDGE('',*,*,#315,.T.);
#430=ORIENTED_EDGE('',*,*,#324,.T.);
#431=ORIENTED_EDGE('',*,*,#288,.T.);
#432=ORIENTED_EDGE('',*,*,#325,.F.);
#433=ORIENTED_EDGE('',*,*,#326,.F.);
#434=ORIENTED_EDGE('',*,*,#307,.T.);
#435=ORIENTED_EDGE('',*,*,#327,.T.);
#436=ORIENTED_EDGE('',*,*,#316,.T.);
#437=ORIENTED_EDGE('',*,*,#323,.T.);
#438=ORIENTED_EDGE('',*,*,#318,.T.);
#439=ORIENTED_EDGE('',*,*,#328,.T.);
#440=ORIENTED_EDGE('',*,*,#326,.T.);
#441=ORIENTED_EDGE('',*,*,#329,.F.);
#442=ORIENTED_EDGE('',*,*,#330,.F.);
#443=ORIENTED_EDGE('',*,*,#331,.T.);
#444=ORIENTED_EDGE('',*,*,#305,.T.);
#445=ORIENTED_EDGE('',*,*,#312,.T.);
#446=ORIENTED_EDGE('',*,*,#332,.T.);
#447=ORIENTED_EDGE('',*,*,#330,.T.);
#448=ORIENTED_EDGE('',*,*,#333,.F.);
#449=ORIENTED_EDGE('',*,*,#286,.F.);
#450=ORIENTED_EDGE('',*,*,#262,.T.);
#451=ORIENTED_EDGE('',*,*,#266,.T.);
#452=ORIENTED_EDGE('',*,*,#269,.T.);
#453=ORIENTED_EDGE('',*,*,#272,.T.);
#454=ORIENTED_EDGE('',*,*,#287,.T.);
#455=ORIENTED_EDGE('',*,*,#333,.T.);
#456=ORIENTED_EDGE('',*,*,#329,.T.);
#457=ORIENTED_EDGE('',*,*,#325,.T.);
#458=ORIENTED_EDGE('',*,*,#289,.F.);
#459=ORIENTED_EDGE('',*,*,#324,.F.);
#460=ORIENTED_EDGE('',*,*,#328,.F.);
#461=ORIENTED_EDGE('',*,*,#317,.T.);
#462=ORIENTED_EDGE('',*,*,#321,.T.);
#463=ORIENTED_EDGE('',*,*,#313,.T.);
#464=ORIENTED_EDGE('',*,*,#327,.F.);
#465=ORIENTED_EDGE('',*,*,#306,.T.);
#466=ORIENTED_EDGE('',*,*,#310,.T.);
#467=ORIENTED_EDGE('',*,*,#302,.T.);
#468=ORIENTED_EDGE('',*,*,#331,.F.);
#469=ORIENTED_EDGE('',*,*,#332,.F.);
#470=ORIENTED_EDGE('',*,*,#285,.F.);
#471=ORIENTED_EDGE('',*,*,#274,.F.);
#472=ORIENTED_EDGE('',*,*,#278,.F.);
#473=ORIENTED_EDGE('',*,*,#281,.F.);
#474=ORIENTED_EDGE('',*,*,#293,.F.);
#475=ORIENTED_EDGE('',*,*,#294,.F.);
#476=ORIENTED_EDGE('',*,*,#297,.F.);
#477=ORIENTED_EDGE('',*,*,#300,.F.);
#478=PLANE('',#552);
#479=PLANE('',#553);
#480=PLANE('',#554);
#481=PLANE('',#555);
#482=PLANE('',#556);
#483=PLANE('',#557);
#484=PLANE('',#558);
#485=PLANE('',#559);
#486=PLANE('',#560);
#487=PLANE('',#561);
#488=PLANE('',#562);
#489=PLANE('',#563);
#490=PLANE('',#564);
#491=PLANE('',#565);
#492=PLANE('',#566);
#493=PLANE('',#567);
#494=PLANE('',#568);
#495=PLANE('',#569);
#496=PLANE('',#570);
#497=PLANE('',#571);
#498=PLANE('',#572);
#499=PLANE('',#573);
#500=PLANE('',#574);
#501=PLANE('',#575);
#502=PLANE('',#576);
#503=PLANE('',#577);
#504=PLANE('',#578);
#505=STYLED_ITEM('',(#875),#511);
#506=STYLED_ITEM('',(#875),#512);
#507=STYLED_ITEM('',(#875),#513);
#508=STYLED_ITEM('',(#875),#514);
#509=STYLED_ITEM('',(#875),#515);
#510=STYLED_ITEM('',(#874),#13);
#511=ADVANCED_FACE('',(#15),#478,.T.);
#512=ADVANCED_FACE('',(#16),#479,.T.);
#513=ADVANCED_FACE('',(#17),#480,.T.);
#514=ADVANCED_FACE('',(#18),#481,.T.);
#515=ADVANCED_FACE('',(#19),#482,.T.);
#516=ADVANCED_FACE('',(#20),#483,.T.);
#517=ADVANCED_FACE('',(#21),#484,.T.);
#518=ADVANCED_FACE('',(#22),#485,.T.);
#519=ADVANCED_FACE('',(#23),#486,.T.);
#520=ADVANCED_FACE('',(#24),#487,.T.);
#521=ADVANCED_FACE('',(#25),#488,.T.);
#522=ADVANCED_FACE('',(#26),#489,.T.);
#523=ADVANCED_FACE('',(#27),#490,.T.);
#524=ADVANCED_FACE('',(#28),#491,.T.);
#525=ADVANCED_FACE('',(#29),#492,.T.);
#526=ADVANCED_FACE('',(#30),#493,.T.);
#527=ADVANCED_FACE('',(#31),#494,.T.);
#528=ADVANCED_FACE('',(#32),#495,.T.);
#529=ADVANCED_FACE('',(#33),#496,.T.);
#530=ADVANCED_FACE('',(#34),#497,.T.);
#531=ADVANCED_FACE('',(#35),#498,.T.);
#532=ADVANCED_FACE('',(#36),#499,.T.);
#533=ADVANCED_FACE('',(#37),#500,.T.);
#534=ADVANCED_FACE('',(#38),#501,.T.);
#535=ADVANCED_FACE('',(#39,#14),#502,.T.);
#536=ADVANCED_FACE('',(#40),#503,.T.);
#537=ADVANCED_FACE('',(#41),#504,.F.);
#538=CLOSED_SHELL('',(#511,#512,#513,#514,#515,#516,#517,#518,#519,#520,
#521,#522,#523,#524,#525,#526,#527,#528,#529,#530,#531,#532,#533,#534,#535,
#536,#537));
#539=DERIVED_UNIT_ELEMENT(#541,1.);
#540=DERIVED_UNIT_ELEMENT(#860,3.);
#541=(
MASS_UNIT()
NAMED_UNIT(*)
SI_UNIT(.KILO.,.GRAM.)
);
#542=DERIVED_UNIT((#539,#540));
#543=MEASURE_REPRESENTATION_ITEM('density measure',
POSITIVE_RATIO_MEASURE(7850.),#542);
#544=PROPERTY_DEFINITION_REPRESENTATION(#549,#546);
#545=PROPERTY_DEFINITION_REPRESENTATION(#550,#547);
#546=REPRESENTATION('material name',(#548),#857);
#547=REPRESENTATION('density',(#543),#857);
#548=DESCRIPTIVE_REPRESENTATION_ITEM('Steel','Steel');
#549=PROPERTY_DEFINITION('material property','material name',#867);
#550=PROPERTY_DEFINITION('material property','density of part',#867);
#551=AXIS2_PLACEMENT_3D('placement',#707,#579,#580);
#552=AXIS2_PLACEMENT_3D('',#708,#581,#582);
#553=AXIS2_PLACEMENT_3D('',#717,#587,#588);
#554=AXIS2_PLACEMENT_3D('',#723,#592,#593);
#555=AXIS2_PLACEMENT_3D('',#729,#597,#598);
#556=AXIS2_PLACEMENT_3D('',#732,#601,#602);
#557=AXIS2_PLACEMENT_3D('',#733,#603,#604);
#558=AXIS2_PLACEMENT_3D('',#742,#609,#610);
#559=AXIS2_PLACEMENT_3D('',#748,#614,#615);
#560=AXIS2_PLACEMENT_3D('',#754,#619,#620);
#561=AXIS2_PLACEMENT_3D('',#756,#622,#623);
#562=AXIS2_PLACEMENT_3D('',#774,#633,#634);
#563=AXIS2_PLACEMENT_3D('',#780,#638,#639);
#564=AXIS2_PLACEMENT_3D('',#786,#643,#644);
#565=AXIS2_PLACEMENT_3D('',#789,#647,#648);
#566=AXIS2_PLACEMENT_3D('',#790,#649,#650);
#567=AXIS2_PLACEMENT_3D('',#799,#655,#656);
#568=AXIS2_PLACEMENT_3D('',#808,#661,#662);
#569=AXIS2_PLACEMENT_3D('',#811,#665,#666);
#570=AXIS2_PLACEMENT_3D('',#813,#668,#669);
#571=AXIS2_PLACEMENT_3D('',#822,#674,#675);
#572=AXIS2_PLACEMENT_3D('',#831,#680,#681);
#573=AXIS2_PLACEMENT_3D('',#834,#684,#685);
#574=AXIS2_PLACEMENT_3D('',#836,#687,#688);
#575=AXIS2_PLACEMENT_3D('',#842,#692,#693);
#576=AXIS2_PLACEMENT_3D('',#850,#699,#700);
#577=AXIS2_PLACEMENT_3D('',#853,#703,#704);
#578=AXIS2_PLACEMENT_3D('',#854,#705,#706);
#579=DIRECTION('axis',(0.,0.,1.));
#580=DIRECTION('refdir',(1.,0.,0.));
#581=DIRECTION('center_axis',(-1.,0.,0.));
#582=DIRECTION('ref_axis',(0.,-1.,0.));
#583=DIRECTION('',(0.,1.,0.));
#584=DIRECTION('',(0.,0.,1.));
#585=DIRECTION('',(0.,-1.,0.));
#586=DIRECTION('',(0.,0.,1.));
#587=DIRECTION('center_axis',(0.,1.,0.));
#588=DIRECTION('ref_axis',(-1.,0.,0.));
#589=DIRECTION('',(1.,0.,0.));
#590=DIRECTION('',(-1.,0.,0.));
#591=DIRECTION('',(0.,0.,1.));
#592=DIRECTION('center_axis',(1.,0.,0.));
#593=DIRECTION('ref_axis',(0.,1.,0.));
#594=DIRECTION('',(0.,-1.,0.));
#595=DIRECTION('',(0.,1.,0.));
#596=DIRECTION('',(0.,0.,1.));
#597=DIRECTION('center_axis',(0.,-1.,0.));
#598=DIRECTION('ref_axis',(1.,0.,0.));
#599=DIRECTION('',(-1.,0.,0.));
#600=DIRECTION('',(1.,0.,0.));
#601=DIRECTION('center_axis',(0.,0.,1.));
#602=DIRECTION('ref_axis',(1.,0.,0.));
#603=DIRECTION('center_axis',(0.,0.,1.));
#604=DIRECTION('ref_axis',(1.,0.,0.));
#605=DIRECTION('',(1.,0.,0.));
#606=DIRECTION('',(0.,-1.,0.));
#607=DIRECTION('',(1.,0.,0.));
#608=DIRECTION('',(0.,1.,0.));
#609=DIRECTION('center_axis',(-1.,0.,0.));
#610=DIRECTION('ref_axis',(0.,0.,1.));
#611=DIRECTION('',(0.,0.,1.));
#612=DIRECTION('',(0.,0.,1.));
#613=DIRECTION('',(0.,1.,0.));
#614=DIRECTION('center_axis',(0.,0.,-1.));
#615=DIRECTION('ref_axis',(-1.,0.,0.));
#616=DIRECTION('',(-1.,0.,0.));
#617=DIRECTION('',(-1.,0.,0.));
#618=DIRECTION('',(0.,1.,0.));
#619=DIRECTION('center_axis',(0.,1.,0.));
#620=DIRECTION('ref_axis',(0.,0.,1.));
#621=DIRECTION('',(0.,0.,1.));
#622=DIRECTION('center_axis',(-1.,0.,0.));
#623=DIRECTION('ref_axis',(0.,0.,1.));
#624=DIRECTION('',(0.,0.,1.));
#625=DIRECTION('',(0.,1.,0.));
#626=DIRECTION('',(0.,0.,1.));
#627=DIRECTION('',(0.,1.,0.));
#628=DIRECTION('',(0.,0.,1.));
#629=DIRECTION('',(0.,1.,0.));
#630=DIRECTION('',(0.,0.,1.));
#631=DIRECTION('',(0.,-1.,0.));
#632=DIRECTION('',(0.,0.,1.));
#633=DIRECTION('center_axis',(0.,0.,1.));
#634=DIRECTION('ref_axis',(1.,0.,0.));
#635=DIRECTION('',(1.,0.,0.));
#636=DIRECTION('',(1.,0.,0.));
#637=DIRECTION('',(0.,1.,0.));
#638=DIRECTION('center_axis',(-1.,0.,0.));
#639=DIRECTION('ref_axis',(0.,0.,1.));
#640=DIRECTION('',(0.,0.,1.));
#641=DIRECTION('',(0.,0.,1.));
#642=DIRECTION('',(0.,1.,0.));
#643=DIRECTION('center_axis',(0.,0.,-1.));
#644=DIRECTION('ref_axis',(-1.,0.,0.));
#645=DIRECTION('',(-1.,0.,0.));
#646=DIRECTION('',(-1.,0.,0.));
#647=DIRECTION('center_axis',(0.,1.,0.));
#648=DIRECTION('ref_axis',(0.,0.,1.));
#649=DIRECTION('center_axis',(0.,0.,1.));
#650=DIRECTION('ref_axis',(1.,0.,0.));
#651=DIRECTION('',(-1.,0.,0.));
#652=DIRECTION('',(0.,1.,0.));
#653=DIRECTION('',(1.,0.,0.));
#654=DIRECTION('',(0.,1.,0.));
#655=DIRECTION('center_axis',(0.,0.,-1.));
#656=DIRECTION('ref_axis',(-1.,0.,0.));
#657=DIRECTION('',(1.,0.,0.));
#658=DIRECTION('',(0.,-1.,0.));
#659=DIRECTION('',(-1.,0.,0.));
#660=DIRECTION('',(0.,1.,0.));
#661=DIRECTION('center_axis',(1.,0.,0.));
#662=DIRECTION('ref_axis',(0.,0.,-1.));
#663=DIRECTION('',(0.,0.,1.));
#664=DIRECTION('',(0.,0.,-1.));
#665=DIRECTION('center_axis',(0.,1.,0.));
#666=DIRECTION('ref_axis',(0.,0.,1.));
#667=DIRECTION('',(0.,0.,-1.));
#668=DIRECTION('center_axis',(0.,0.,1.));
#669=DIRECTION('ref_axis',(1.,0.,0.));
#670=DIRECTION('',(-1.,0.,0.));
#671=DIRECTION('',(0.,1.,0.));
#672=DIRECTION('',(1.,0.,0.));
#673=DIRECTION('',(0.,1.,0.));
#674=DIRECTION('center_axis',(0.,0.,-1.));
#675=DIRECTION('ref_axis',(-1.,0.,0.));
#676=DIRECTION('',(1.,0.,0.));
#677=DIRECTION('',(0.,-1.,0.));
#678=DIRECTION('',(-1.,0.,0.));
#679=DIRECTION('',(0.,1.,0.));
#680=DIRECTION('center_axis',(1.,0.,0.));
#681=DIRECTION('ref_axis',(0.,0.,-1.));
#682=DIRECTION('',(0.,0.,1.));
#683=DIRECTION('',(0.,0.,-1.));
#684=DIRECTION('center_axis',(0.,1.,0.));
#685=DIRECTION('ref_axis',(0.,0.,1.));
#686=DIRECTION('',(0.,0.,-1.));
#687=DIRECTION('center_axis',(0.,0.,-1.));
#688=DIRECTION('ref_axis',(-1.,0.,0.));
#689=DIRECTION('',(-1.,0.,0.));
#690=DIRECTION('',(-1.,0.,0.));
#691=DIRECTION('',(0.,1.,0.));
#692=DIRECTION('center_axis',(1.,0.,0.));
#693=DIRECTION('ref_axis',(0.,0.,-1.));
#694=DIRECTION('',(0.,0.,-1.));
#695=DIRECTION('',(0.,0.,-1.));
#696=DIRECTION('',(0.,0.,-1.));
#697=DIRECTION('',(0.,1.,0.));
#698=DIRECTION('',(0.,0.,-1.));
#699=DIRECTION('center_axis',(0.,0.,1.));
#700=DIRECTION('ref_axis',(1.,0.,0.));
#701=DIRECTION('',(1.,0.,0.));
#702=DIRECTION('',(1.,0.,0.));
#703=DIRECTION('center_axis',(0.,1.,0.));
#704=DIRECTION('ref_axis',(0.,0.,1.));
#705=DIRECTION('center_axis',(0.,1.,0.));
#706=DIRECTION('ref_axis',(1.,0.,0.));
#707=CARTESIAN_POINT('',(0.,0.,0.));
#708=CARTESIAN_POINT('Origin',(0.9,1.225,0.));
#709=CARTESIAN_POINT('',(0.9,0.125,0.));
#710=CARTESIAN_POINT('',(0.9,1.225,0.));
#711=CARTESIAN_POINT('',(0.9,0.6125,0.));
#712=CARTESIAN_POINT('',(0.9,0.125,0.65));
#713=CARTESIAN_POINT('',(0.9,0.125,0.));
#714=CARTESIAN_POINT('',(0.9,1.225,0.65));
#715=CARTESIAN_POINT('',(0.9,0.125,0.65));
#716=CARTESIAN_POINT('',(0.9,1.225,0.));
#717=CARTESIAN_POINT('Origin',(2.6,1.225,0.));
#718=CARTESIAN_POINT('',(2.6,1.225,0.));
#719=CARTESIAN_POINT('',(1.3,1.225,0.));
#720=CARTESIAN_POINT('',(2.6,1.225,0.65));
#721=CARTESIAN_POINT('',(0.9,1.225,0.65));
#722=CARTESIAN_POINT('',(2.6,1.225,0.));
#723=CARTESIAN_POINT('Origin',(2.6,0.125,0.));
#724=CARTESIAN_POINT('',(2.6,0.125,0.));
#725=CARTESIAN_POINT('',(2.6,0.0625000000000001,0.));
#726=CARTESIAN_POINT('',(2.6,0.125,0.65));
#727=CARTESIAN_POINT('',(2.6,1.225,0.65));
#728=CARTESIAN_POINT('',(2.6,0.125,0.));
#729=CARTESIAN_POINT('Origin',(0.9,0.125,0.));
#730=CARTESIAN_POINT('',(0.45,0.125,0.));
#731=CARTESIAN_POINT('',(2.6,0.125,0.65));
#732=CARTESIAN_POINT('Origin',(1.75,0.675,0.65));
#733=CARTESIAN_POINT('Origin',(-0.6,0.,-0.400000037252903));
#734=CARTESIAN_POINT('',(-0.6,0.,-0.400000037252903));
#735=CARTESIAN_POINT('',(0.,0.,-0.400000037252903));
#736=CARTESIAN_POINT('',(-0.6,0.,-0.400000037252903));
#737=CARTESIAN_POINT('',(0.,0.2,-0.400000037252903));
#738=CARTESIAN_POINT('',(0.,0.,-0.400000037252903));
#739=CARTESIAN_POINT('',(-0.6,0.2,-0.400000037252903));
#740=CARTESIAN_POINT('',(-0.6,0.2,-0.400000037252903));
#741=CARTESIAN_POINT('',(-0.6,0.,-0.400000037252903));
#742=CARTESIAN_POINT('Origin',(-0.6,0.,-1.0200000372529));
#743=CARTESIAN_POINT('',(-0.6,0.,-1.0200000372529));
#744=CARTESIAN_POINT('',(-0.6,0.,-1.0200000372529));
#745=CARTESIAN_POINT('',(-0.6,0.2,-1.0200000372529));
#746=CARTESIAN_POINT('',(-0.6,0.2,-1.0200000372529));
#747=CARTESIAN_POINT('',(-0.6,0.,-1.0200000372529));
#748=CARTESIAN_POINT('Origin',(0.,0.,-1.0200000372529));
#749=CARTESIAN_POINT('',(0.,0.,-1.0200000372529));
#750=CARTESIAN_POINT('',(0.,0.,-1.0200000372529));
#751=CARTESIAN_POINT('',(0.,0.2,-1.0200000372529));
#752=CARTESIAN_POINT('',(0.,0.2,-1.0200000372529));
#753=CARTESIAN_POINT('',(0.,0.,-1.0200000372529));
#754=CARTESIAN_POINT('Origin',(-0.3,0.2,-0.710000037252903));
#755=CARTESIAN_POINT('',(0.,0.2,-1.80500001862645));
#756=CARTESIAN_POINT('Origin',(0.,0.,-2.9));
#757=CARTESIAN_POINT('',(0.,0.,0.));
#758=CARTESIAN_POINT('',(0.,0.,-2.9));
#759=CARTESIAN_POINT('',(0.,1.35,0.));
#760=CARTESIAN_POINT('',(0.,0.,0.));
#761=CARTESIAN_POINT('',(0.,1.35,-2.9));
#762=CARTESIAN_POINT('',(0.,1.35,-2.9));
#763=CARTESIAN_POINT('',(0.,0.,-2.9));
#764=CARTESIAN_POINT('',(0.,0.,-2.9));
#765=CARTESIAN_POINT('',(0.,0.,-2.5000000372529));
#766=CARTESIAN_POINT('',(0.,0.,-2.9));
#767=CARTESIAN_POINT('',(0.,0.2,-2.5000000372529));
#768=CARTESIAN_POINT('',(0.,0.,-2.5000000372529));
#769=CARTESIAN_POINT('',(0.,0.2,-1.8800000372529));
#770=CARTESIAN_POINT('',(0.,0.2,-2.54500001862645));
#771=CARTESIAN_POINT('',(0.,0.,-1.8800000372529));
#772=CARTESIAN_POINT('',(0.,0.,-1.8800000372529));
#773=CARTESIAN_POINT('',(0.,0.,-2.9));
#774=CARTESIAN_POINT('Origin',(-0.6,0.,-1.8800000372529));
#775=CARTESIAN_POINT('',(-0.6,0.,-1.8800000372529));
#776=CARTESIAN_POINT('',(-0.6,0.,-1.8800000372529));
#777=CARTESIAN_POINT('',(-0.6,0.2,-1.8800000372529));
#778=CARTESIAN_POINT('',(-0.6,0.2,-1.8800000372529));
#779=CARTESIAN_POINT('',(-0.6,0.,-1.8800000372529));
#780=CARTESIAN_POINT('Origin',(-0.6,0.,-2.5000000372529));
#781=CARTESIAN_POINT('',(-0.6,0.,-2.5000000372529));
#782=CARTESIAN_POINT('',(-0.6,0.,-2.5000000372529));
#783=CARTESIAN_POINT('',(-0.6,0.2,-2.5000000372529));
#784=CARTESIAN_POINT('',(-0.6,0.2,-2.5000000372529));
#785=CARTESIAN_POINT('',(-0.6,0.,-2.5000000372529));
#786=CARTESIAN_POINT('Origin',(0.,0.,-2.5000000372529));
#787=CARTESIAN_POINT('',(0.,0.,-2.5000000372529));
#788=CARTESIAN_POINT('',(0.,0.2,-2.5000000372529));
#789=CARTESIAN_POINT('Origin',(-0.3,0.2,-2.1900000372529));
#790=CARTESIAN_POINT('Origin',(3.5,0.,-0.400000037252903));
#791=CARTESIAN_POINT('',(4.1,0.,-0.400000037252903));
#792=CARTESIAN_POINT('',(3.5,0.,-0.400000037252903));
#793=CARTESIAN_POINT('',(4.1,0.,-0.400000037252903));
#794=CARTESIAN_POINT('',(4.1,0.2,-0.400000037252903));
#795=CARTESIAN_POINT('',(4.1,0.,-0.400000037252903));
#796=CARTESIAN_POINT('',(3.5,0.2,-0.400000037252903));
#797=CARTESIAN_POINT('',(4.1,0.2,-0.400000037252903));
#798=CARTESIAN_POINT('',(3.5,0.,-0.400000037252903));
#799=CARTESIAN_POINT('Origin',(4.1,0.,-1.0200000372529));
#800=CARTESIAN_POINT('',(3.5,0.,-1.0200000372529));
#801=CARTESIAN_POINT('',(4.1,0.,-1.0200000372529));
#802=CARTESIAN_POINT('',(3.5,0.,-1.0200000372529));
#803=CARTESIAN_POINT('',(3.5,0.2,-1.0200000372529));
#804=CARTESIAN_POINT('',(3.5,0.,-1.0200000372529));
#805=CARTESIAN_POINT('',(4.1,0.2,-1.0200000372529));
#806=CARTESIAN_POINT('',(3.5,0.2,-1.0200000372529));
#807=CARTESIAN_POINT('',(4.1,0.,-1.0200000372529));
#808=CARTESIAN_POINT('Origin',(4.1,0.,-0.400000037252903));
#809=CARTESIAN_POINT('',(4.1,0.,-1.0200000372529));
#810=CARTESIAN_POINT('',(4.1,0.2,-1.0200000372529));
#811=CARTESIAN_POINT('Origin',(3.8,0.2,-0.710000037252903));
#812=CARTESIAN_POINT('',(3.5,0.2,-0.355000018626452));
#813=CARTESIAN_POINT('Origin',(3.5,0.,-1.8800000372529));
#814=CARTESIAN_POINT('',(4.1,0.,-1.8800000372529));
#815=CARTESIAN_POINT('',(3.5,0.,-1.8800000372529));
#816=CARTESIAN_POINT('',(4.1,0.,-1.8800000372529));
#817=CARTESIAN_POINT('',(4.1,0.2,-1.8800000372529));
#818=CARTESIAN_POINT('',(4.1,0.,-1.8800000372529));
#819=CARTESIAN_POINT('',(3.5,0.2,-1.8800000372529));
#820=CARTESIAN_POINT('',(4.1,0.2,-1.8800000372529));
#821=CARTESIAN_POINT('',(3.5,0.,-1.8800000372529));
#822=CARTESIAN_POINT('Origin',(4.1,0.,-2.5000000372529));
#823=CARTESIAN_POINT('',(3.5,0.,-2.5000000372529));
#824=CARTESIAN_POINT('',(4.1,0.,-2.5000000372529));
#825=CARTESIAN_POINT('',(3.5,0.,-2.5000000372529));
#826=CARTESIAN_POINT('',(3.5,0.2,-2.5000000372529));
#827=CARTESIAN_POINT('',(3.5,0.,-2.5000000372529));
#828=CARTESIAN_POINT('',(4.1,0.2,-2.5000000372529));
#829=CARTESIAN_POINT('',(3.5,0.2,-2.5000000372529));
#830=CARTESIAN_POINT('',(4.1,0.,-2.5000000372529));
#831=CARTESIAN_POINT('Origin',(4.1,0.,-1.8800000372529));
#832=CARTESIAN_POINT('',(4.1,0.,-2.5000000372529));
#833=CARTESIAN_POINT('',(4.1,0.2,-2.5000000372529));
#834=CARTESIAN_POINT('Origin',(3.8,0.2,-2.1900000372529));
#835=CARTESIAN_POINT('',(3.5,0.2,-1.09500001862645));
#836=CARTESIAN_POINT('Origin',(3.5,0.,-2.9));
#837=CARTESIAN_POINT('',(3.5,0.,-2.9));
#838=CARTESIAN_POINT('',(3.5,0.,-2.9));
#839=CARTESIAN_POINT('',(3.5,1.35,-2.9));
#840=CARTESIAN_POINT('',(3.5,1.35,-2.9));
#841=CARTESIAN_POINT('',(3.5,0.,-2.9));
#842=CARTESIAN_POINT('Origin',(3.5,0.,0.));
#843=CARTESIAN_POINT('',(3.5,0.,0.));
#844=CARTESIAN_POINT('',(3.5,0.,0.));
#845=CARTESIAN_POINT('',(3.5,1.35,0.));
#846=CARTESIAN_POINT('',(3.5,1.35,0.));
#847=CARTESIAN_POINT('',(3.5,0.,0.));
#848=CARTESIAN_POINT('',(3.5,0.,0.));
#849=CARTESIAN_POINT('',(3.5,0.,0.));
#850=CARTESIAN_POINT('Origin',(0.,0.,0.));
#851=CARTESIAN_POINT('',(0.,0.,0.));
#852=CARTESIAN_POINT('',(0.,1.35,0.));
#853=CARTESIAN_POINT('Origin',(1.75,1.35,-1.45));
#854=CARTESIAN_POINT('Origin',(1.75,0.,-1.45));
#855=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#859,
'DISTANCE_ACCURACY_VALUE',
'Maximum model space distance between geometric entities at asserted c
onnectivities');
#856=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#859,
'DISTANCE_ACCURACY_VALUE',
'Maximum model space distance between geometric entities at asserted c
onnectivities');
#857=(
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#855))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#859,#861,#862))
REPRESENTATION_CONTEXT('','3D')
);
#858=(
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#856))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#859,#861,#862))
REPRESENTATION_CONTEXT('','3D')
);
#859=(
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT(.MILLI.,.METRE.)
);
#860=(
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT($,.METRE.)
);
#861=(
NAMED_UNIT(*)
PLANE_ANGLE_UNIT()
SI_UNIT($,.RADIAN.)
);
#862=(
NAMED_UNIT(*)
SI_UNIT($,.STERADIAN.)
SOLID_ANGLE_UNIT()
);
#863=SHAPE_DEFINITION_REPRESENTATION(#864,#865);
#864=PRODUCT_DEFINITION_SHAPE('',$,#867);
#865=SHAPE_REPRESENTATION('',(#551),#857);
#866=PRODUCT_DEFINITION_CONTEXT('part definition',#871,'design');
#867=PRODUCT_DEFINITION('EVQP7C/L','EVQP7C/L v2',#868,#866);
#868=PRODUCT_DEFINITION_FORMATION('',$,#873);
#869=PRODUCT_RELATED_PRODUCT_CATEGORY('EVQP7C/L v2','EVQP7C/L v2',(#873));
#870=APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2009,#871);
#871=APPLICATION_CONTEXT(
'Core Data for Automotive Mechanical Design Process');
#872=PRODUCT_CONTEXT('part definition',#871,'mechanical');
#873=PRODUCT('EVQP7C/L','EVQP7C/L v2',$,(#872));
#874=PRESENTATION_STYLE_ASSIGNMENT((#876));
#875=PRESENTATION_STYLE_ASSIGNMENT((#877));
#876=SURFACE_STYLE_USAGE(.BOTH.,#878);
#877=SURFACE_STYLE_USAGE(.BOTH.,#879);
#878=SURFACE_SIDE_STYLE('',(#880));
#879=SURFACE_SIDE_STYLE('',(#881));
#880=SURFACE_STYLE_FILL_AREA(#882);
#881=SURFACE_STYLE_FILL_AREA(#883);
#882=FILL_AREA_STYLE('Steel - Satin',(#884));
#883=FILL_AREA_STYLE('Plastic - Matte (Black)',(#885));
#884=FILL_AREA_STYLE_COLOUR('Steel - Satin',#886);
#885=FILL_AREA_STYLE_COLOUR('Plastic - Matte (Black)',#887);
#886=COLOUR_RGB('Steel - Satin',0.627450980392157,0.627450980392157,0.627450980392157);
#887=COLOUR_RGB('Plastic - Matte (Black)',0.0980392156862745,0.0980392156862745,
0.0980392156862745);
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,466 @@
(footprint "HDMI_Micro-D_Molex_46765-1x01_MOD"
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(layer "F.Cu")
(descr "HDMI, Micro, Type D, THT, 0.4mm pitch, 19 ckt, right angle (http://www.molex.com/pdm_docs/sd/467651301_sd.pdf)")
(tags "hdmi micro type d right angle tht")
(property "Reference" "J4"
(at 4.18 -6.3 0)
(layer "F.SilkS")
(uuid "e4fdfc88-d742-4b2a-8a3a-02540ed12d50")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "DVI"
(at 0 3.6 0)
(layer "F.Fab")
(uuid "7c031144-a51b-4078-81c4-a998a2c0a850")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Footprint" "Connector_HDMI:HDMI_Micro-D_Molex_46765-1x01"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "9ba08b1f-4080-4071-a902-b1fc3e70aa2f")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" "https://en.wikipedia.org/wiki/HDMI"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "aec23565-2559-4ac1-9200-f8ead6eac40e")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "e255680e-85e5-4294-99b8-1c9b74a6c43b")
(effects
(font
(size 1.27 1.27)
)
)
)
(attr smd)
(fp_line
(start -3.31 -5.16)
(end -2.15 -5.16)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "443ecce1-406b-4347-9093-6293c1eceb1d")
)
(fp_line
(start -3.31 -4.85)
(end -3.31 -5.16)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "acd5daeb-adc9-404b-a43c-db67a2a840a4")
)
(fp_line
(start -3.31 -1.5)
(end -3.31 -1.9)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "03dacd04-c87b-4eee-9fee-56b44b104d95")
)
(fp_line
(start -3.31 2.46)
(end -3.31 1.5)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1eedd9fb-5614-45f3-bf32-09084b1a66a0")
)
(fp_line
(start -3.31 2.46)
(end 3.31 2.46)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "ea05819b-8d7d-453a-8a4b-92d19a45c094")
)
(fp_line
(start 2.15 -5.16)
(end 2.15 -5.36)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "352dfcdc-8d22-4eff-9da4-b7db41e94cad")
)
(fp_line
(start 2.15 -5.16)
(end 3.31 -5.16)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "5e39ff05-6112-4b27-9ad1-9db914cbb18d")
)
(fp_line
(start 3.31 -5.16)
(end 3.31 -4.85)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "b8492a2f-2c4f-4d20-8c6a-c4c5a9146ebc")
)
(fp_line
(start 3.31 -1.9)
(end 3.31 -1.5)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "c51beb4a-628f-4510-9414-e7a37c318c8e")
)
(fp_line
(start 3.31 1.5)
(end 3.31 2.46)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "09600c83-08d7-422f-aad0-59d3d68f8632")
)
(fp_line
(start -3 1.7)
(end 3 1.7)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "7b07c5be-06be-4275-8e49-6d27c29b3152")
)
(fp_line
(start -4.4 -5.7)
(end -4.4 2.9)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a9a49cad-37a3-4e8d-8ef9-567d906283aa")
)
(fp_line
(start -4.4 2.9)
(end 4.4 2.9)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a54fb220-a19d-4481-9713-2e9e9b70bbfe")
)
(fp_line
(start 4.4 -5.7)
(end -4.4 -5.7)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f5793dff-604a-4aa6-92e7-a70b1cce6db3")
)
(fp_line
(start 4.4 2.9)
(end 4.4 -5.7)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "bec3688a-9b9d-4c7d-a7c3-f56a5b174658")
)
(fp_line
(start 1.8 -4.6)
(end 1.3 -5.1)
(stroke
(width 0.1)
(type solid)
)
(layer "B.Fab")
(uuid "6493ff4f-f1bc-408b-a2b5-f305a6c7c9b5")
)
(fp_line
(start -3.25 -5.1)
(end 1.3 -5.1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "bd504744-3e85-4c9b-bddc-cd55a8101c35")
)
(fp_line
(start -3.25 2.4)
(end -3.25 -5.1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "3fea5df8-ebda-4226-b2f8-26de09e11136")
)
(fp_line
(start 1.8 -4.6)
(end 2.3 -5.1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "72e2c7a4-b59d-4307-8b6a-09c0f081574e")
)
(fp_line
(start 2.3 -5.1)
(end 3.25 -5.1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "ff4d07c5-557b-4df1-bd27-f2122c235016")
)
(fp_line
(start 3.25 -5.1)
(end 3.25 2.4)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "18e7bdbe-6acb-472a-8f72-ca08ebe0d381")
)
(fp_line
(start 3.25 2.4)
(end -3.25 2.4)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "4589b4de-007b-468e-9aec-3f6b59ffa4cd")
)
(fp_text user "KEEPOUT"
(at 0 -0.47 0)
(layer "Cmts.User")
(uuid "2d4fc9c0-5487-4741-8de5-e0fd1cfd6abb")
(effects
(font
(size 0.7 0.7)
(thickness 0.1)
)
)
)
(fp_text user "${REFERENCE}"
(at 0 -3.3 0)
(layer "F.Fab")
(uuid "630803ff-516c-4fde-b73a-067ac5a3b12a")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" smd rect
(at 1.8 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "5d2f4391-3a60-49a9-8d3a-1e1541d2c9a3")
)
(pad "2" smd rect
(at 1.6 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "9be7f129-1d1c-4f35-bcb6-f8981c439f59")
)
(pad "3" smd rect
(at 1.4 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "21a2f2e5-5f84-4469-ae94-020bd3c83071")
)
(pad "4" smd rect
(at 1.2 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "efd57607-ffa4-4023-a8d7-62e022368b44")
)
(pad "5" smd rect
(at 1 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "670ceac4-b4e5-4d79-9d34-737b8bcbad11")
)
(pad "6" smd rect
(at 0.8 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "d71db3f6-abb6-4c23-8141-b0164f741dc1")
)
(pad "7" smd rect
(at 0.6 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "2e24b30a-59be-4a97-91d3-b69b0bdba5b4")
)
(pad "8" smd rect
(at 0.4 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "dcb70980-bc8b-4148-80bc-d5c389271f4a")
)
(pad "9" smd rect
(at 0.2 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "2f91f75d-751b-422f-a13f-4f082ee762ee")
)
(pad "10" smd rect
(at 0 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "e78ce68a-27d3-467d-9a91-d9de37ea5fe9")
)
(pad "11" smd rect
(at -0.2 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "ad6b3b92-aa8c-49ca-ae8a-5ffd7f990ad4")
)
(pad "12" smd rect
(at -0.4 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "249ea253-b5fd-46cf-b1c1-ad8d10d8d3ee")
)
(pad "13" smd rect
(at -0.6 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "0df467c5-4187-4fcb-b818-c0d525d81475")
)
(pad "14" smd rect
(at -0.8 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "dfcb5d7d-bb44-48d0-a8df-ba056cdc5dd1")
)
(pad "15" smd rect
(at -1 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "53fdc9fa-287d-481e-a73b-28b5fb1c17b4")
)
(pad "16" smd rect
(at -1.2 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "0accfd26-08df-400a-8f43-73791474cbd4")
)
(pad "17" smd rect
(at -1.4 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "a013b7bd-62d8-47c7-beea-5e3659e5c416")
)
(pad "18" smd rect
(at -1.6 -3.55)
(size 0.23 1)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "a2576794-8659-4674-9a3c-74bf7cc3492f")
)
(pad "19" smd rect
(at -1.8 -4.775)
(size 0.23 0.85)
(layers "F.Cu" "F.Paste" "F.Mask")
(uuid "090caf5a-e1a5-4e26-a29f-0142546746ae")
)
(pad "SH" thru_hole oval
(at -3.1 -3.36)
(size 1.5 2.55)
(drill oval 0.65 1.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "ffc5e5f6-75f9-4f65-a687-bbb7554d99a3")
)
(pad "SH" thru_hole oval
(at -3.1 0)
(size 1.5 2.55)
(drill oval 0.65 1.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "bf652b93-a78c-47d7-b73e-ea5ebde29c6d")
)
(pad "SH" thru_hole oval
(at 3.1 -3.36)
(size 1.5 2.55)
(drill oval 0.65 1.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "51cf0db9-9c6f-4eb3-a8cd-79ccf6e5890d")
)
(pad "SH" thru_hole oval
(at 3.1 0)
(size 1.5 2.55)
(drill oval 0.65 1.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "6af0e120-12e5-4406-af75-9808ef3c0796")
)
(model "${KIPRJMOD}/../common/footprints.pretty/467651301.stp"
(offset
(xyz -5 -3.2 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz -90 0 0)
)
)
)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
{
"board": {
"active_layer": 39,
"active_layer_preset": "Back Assembly View",
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": false,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"net_color_mode": 2,
"opacity": {
"images": 0.6,
"pads": 1.0,
@ -18,11 +18,11 @@
"selection_filter": {
"dimensions": false,
"footprints": true,
"graphics": true,
"graphics": false,
"keepouts": false,
"lockedItems": true,
"otherItems": false,
"pads": true,
"pads": false,
"text": true,
"tracks": true,
"vias": true,
@ -64,9 +64,15 @@
35,
36
],
"visible_layers": "0015050_00000000",
"visible_layers": "ff8ffff_fffffff9",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "pcb.kicad_prl",
"version": 3

File diff suppressed because it is too large Load diff

View file

@ -1,148 +1,373 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid 4654897e-3e2f-4522-96c3-20b19803c088)
(paper "A4")
(title_block
(title "Caster EPDC")
(date "2022-07-03")
(rev "R0.4")
(company "Copyright 2022 Modos / Engineer: Wenting Zhang")
)
(lib_symbols
)
(text "FPGA DDR Memory" (at 35.56 67.31 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid 36b30dff-23e2-4ed9-971b-1df779950e92)
)
(text "Power Supply" (at 35.56 33.02 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid 558a13be-3757-4ba7-9c3e-24eef7c78d0f)
)
(text "Microcontroller" (at 35.56 90.17 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid c27f5386-efb4-4ccf-b667-fcc6d3db883b)
)
(text "Display" (at 35.56 55.88 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid d2b3e5ed-56f7-4162-ab02-9bde306dbf5a)
)
(text "FPGA Core" (at 35.56 44.45 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid edafe42e-7b4b-443d-9c19-73868867df97)
)
(text "USB Type-C Input" (at 35.56 78.74 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid fbc25d2d-afe2-4ffb-9abb-3b9e35c79f93)
)
(sheet (at 33.02 27.94) (size 54.61 6.35) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 0606a719-6980-4867-837f-aa642737d361)
(property "Sheetname" "power" (at 33.02 27.2284 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "power.kicad_sch" (at 33.02 34.8746 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088" (page "1"))
)
)
)
(sheet (at 33.02 39.37) (size 54.61 6.35) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 35d2a4e1-1cb2-4b6c-a7fb-e3a9449d4ff3)
(property "Sheetname" "fpga" (at 33.02 38.6584 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "fpga.kicad_sch" (at 33.02 46.3046 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088" (page "2"))
)
)
)
(sheet (at 33.02 73.66) (size 54.61 6.35) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 80373716-d41f-4f06-92dd-577434075703)
(property "Sheetname" "dp_in" (at 33.02 72.9484 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "dp_in.kicad_sch" (at 33.02 80.5946 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088" (page "7"))
)
)
)
(sheet (at 33.02 62.23) (size 54.61 6.35) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 866a5b4a-453a-413a-94a2-5e610f40d8dd)
(property "Sheetname" "fpga_ddr" (at 33.02 61.5184 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "fpga_ddr.kicad_sch" (at 33.02 69.1646 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088" (page "5"))
)
)
)
(sheet (at 33.02 50.8) (size 54.61 6.35) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid b1d5941d-0481-47a2-a434-0b8e587a166a)
(property "Sheetname" "eink" (at 33.02 50.0884 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "eink.kicad_sch" (at 33.02 57.7346 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088" (page "3"))
)
)
)
(sheet (at 33.02 85.09) (size 54.61 6.35) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid f69cfcc8-f979-4315-84ee-316a84fb66a2)
(property "Sheetname" "mcu" (at 33.02 84.3784 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "mcu.kicad_sch" (at 33.02 92.0246 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088" (page "7"))
)
)
)
(sheet_instances
(path "/" (page "0"))
)
(kicad_sch
(version 20231120)
(generator "eeschema")
(generator_version "8.0")
(uuid "4654897e-3e2f-4522-96c3-20b19803c088")
(paper "A4")
(title_block
(title "Glider Lite")
(date "2023-12-24")
(rev "R0.7")
(company "Copyright 2023 Modos / Engineer: Wenting Zhang")
)
(lib_symbols)
(text "FPGA DDR Memory"
(exclude_from_sim no)
(at 35.56 67.31 0)
(effects
(font
(size 2.54 2.54)
)
(justify left bottom)
)
(uuid "36b30dff-23e2-4ed9-971b-1df779950e92")
)
(text "Power Supply"
(exclude_from_sim no)
(at 35.56 33.02 0)
(effects
(font
(size 2.54 2.54)
)
(justify left bottom)
)
(uuid "558a13be-3757-4ba7-9c3e-24eef7c78d0f")
)
(text "USB Type-C Input"
(exclude_from_sim no)
(at 35.56 78.74 0)
(effects
(font
(size 2.54 2.54)
)
(justify left bottom)
)
(uuid "5ea0662e-1e83-4654-bdb0-1f5b1245a5b9")
)
(text "Microcontroller"
(exclude_from_sim no)
(at 35.56 101.6 0)
(effects
(font
(size 2.54 2.54)
)
(justify left bottom)
)
(uuid "b67963c3-f29b-47c7-8922-33e72e8d5f68")
)
(text "Display"
(exclude_from_sim no)
(at 35.56 55.88 0)
(effects
(font
(size 2.54 2.54)
)
(justify left bottom)
)
(uuid "d2b3e5ed-56f7-4162-ab02-9bde306dbf5a")
)
(text "I2C Addresses\n0100010 FUSB302B\n1100000 PTN3460BS\n1001100 ADV7611"
(exclude_from_sim no)
(at 33.02 185.42 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
(uuid "ed4a6249-8bd7-4d22-9dec-f83bb6e206e1")
)
(text "FPGA Core"
(exclude_from_sim no)
(at 35.56 44.45 0)
(effects
(font
(size 2.54 2.54)
)
(justify left bottom)
)
(uuid "edafe42e-7b4b-443d-9c19-73868867df97")
)
(text "TMDS Input"
(exclude_from_sim no)
(at 35.56 90.17 0)
(effects
(font
(size 2.54 2.54)
)
(justify left bottom)
)
(uuid "fbc25d2d-afe2-4ffb-9abb-3b9e35c79f93")
)
(sheet
(at 33.02 27.94)
(size 53.34 6.35)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "0606a719-6980-4867-837f-aa642737d361")
(property "Sheetname" "power"
(at 33.02 27.2284 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "power.kicad_sch"
(at 33.02 34.8746 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088"
(page "1")
)
)
)
)
(sheet
(at 33.02 85.09)
(size 53.34 6.35)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "1afc3cb7-9ace-435f-9131-835660c51142")
(property "Sheetname" "tmds_in"
(at 33.02 84.3784 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "tmds_in.kicad_sch"
(at 33.02 92.0246 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088"
(page "8")
)
)
)
)
(sheet
(at 33.02 39.37)
(size 53.34 6.35)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "35d2a4e1-1cb2-4b6c-a7fb-e3a9449d4ff3")
(property "Sheetname" "fpga"
(at 33.02 38.6584 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "fpga.kicad_sch"
(at 33.02 46.3046 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088"
(page "2")
)
)
)
)
(sheet
(at 33.02 73.66)
(size 53.34 6.35)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "80373716-d41f-4f06-92dd-577434075703")
(property "Sheetname" "dp_in"
(at 33.02 72.9484 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "dp_in.kicad_sch"
(at 33.02 80.5946 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088"
(page "5")
)
)
)
)
(sheet
(at 33.02 62.23)
(size 53.34 6.35)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "866a5b4a-453a-413a-94a2-5e610f40d8dd")
(property "Sheetname" "fpga_ddr"
(at 33.02 61.5184 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "fpga_ddr.kicad_sch"
(at 33.02 69.1646 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088"
(page "4")
)
)
)
)
(sheet
(at 33.02 50.8)
(size 53.34 6.35)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "b1d5941d-0481-47a2-a434-0b8e587a166a")
(property "Sheetname" "eink"
(at 33.02 50.0884 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "eink.kicad_sch"
(at 33.02 57.7346 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088"
(page "3")
)
)
)
)
(sheet
(at 33.02 96.52)
(size 53.34 6.35)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "d0757a0a-c868-475e-8221-24a5e99d32b9")
(property "Sheetname" "mcu"
(at 33.02 95.8084 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "mcu.kicad_sch"
(at 33.02 103.4546 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "pcb"
(path "/4654897e-3e2f-4522-96c3-20b19803c088"
(page "6")
)
)
)
)
(sheet_instances
(path "/"
(page "0")
)
)
)

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,4 @@
(sym_lib_table
(version 7)
(lib (name "symbols")(type "KiCad")(uri "${KIPRJMOD}/../common/symbols.kicad_sym")(options "")(descr ""))
)

File diff suppressed because it is too large Load diff

View file

@ -4935,7 +4935,7 @@
(symbol (lib_id "power:+3V3") (at 170.18 63.5 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 663d792e-5086-4e41-9ed4-a4b9b0e6cbc0)
(property "Reference" "#PWR0166" (at 170.18 67.31 0)
(property "Reference" "#PWR0134" (at 170.18 67.31 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+3V3" (at 170.561 59.1058 0)
@ -4988,7 +4988,7 @@
(symbol (lib_id "power:+3V3") (at 177.8 58.42 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 67d9da8f-a728-4496-88e3-00985ef619bf)
(property "Reference" "#PWR0166" (at 177.8 62.23 0)
(property "Reference" "#PWR0134" (at 177.8 62.23 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+3V3" (at 178.181 54.0258 0)

View file

@ -2309,7 +2309,7 @@
(symbol (lib_id "Device:C") (at 81.28 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 00d18d09-0005-4125-a0a9-3626f5bd76ed)
(property "Reference" "C703" (at 84.201 165.2016 0)
(property "Reference" "C91" (at 84.201 165.2016 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 84.201 167.513 0)
@ -2335,7 +2335,7 @@
(symbol (lib_id "power:GND") (at 152.4 50.8 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 00ed498a-a1ed-4d55-97c1-6409f5d1451c)
(property "Reference" "#PWR0158" (at 152.4 57.15 0)
(property "Reference" "#PWR0137" (at 152.4 57.15 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 152.527 55.1942 0)
@ -2360,7 +2360,7 @@
(symbol (lib_id "Switch:SW_Push") (at 58.42 104.14 0) (mirror y) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 054fab27-a512-4018-8bda-44f8584076b3)
(property "Reference" "SW701" (at 58.42 96.52 0)
(property "Reference" "SW1" (at 58.42 96.52 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "TS-1007S-AR02516" (at 58.42 99.06 0)
@ -2386,7 +2386,7 @@
(symbol (lib_id "power:GND") (at 167.64 142.24 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 0e742a72-9ead-4a0c-95cc-0f1db3156c6e)
(property "Reference" "#PWR0161" (at 167.64 148.59 0)
(property "Reference" "#PWR0138" (at 167.64 148.59 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 167.767 146.6342 0)
@ -2411,7 +2411,7 @@
(symbol (lib_id "Device:R") (at 107.95 139.7 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 0f2a27e6-9f7b-4604-a8a2-e672cf356191)
(property "Reference" "R702" (at 107.95 134.4422 90)
(property "Reference" "R57" (at 107.95 134.4422 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "1K" (at 107.95 136.7536 90)
@ -2437,7 +2437,7 @@
(symbol (lib_id "power:+3V3") (at 203.2 43.18 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 10a41a92-0190-4353-8f77-974e7d4f0633)
(property "Reference" "#PWR0171" (at 203.2 46.99 0)
(property "Reference" "#PWR0140" (at 203.2 46.99 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+3V3" (at 203.581 38.7858 0)
@ -2496,7 +2496,7 @@
(symbol (lib_id "Device:C") (at 93.98 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 22cca227-a5f4-4d59-a596-ce977ad6a1a4)
(property "Reference" "C706" (at 96.901 165.2016 0)
(property "Reference" "C94" (at 96.901 165.2016 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 96.901 167.513 0)
@ -2522,7 +2522,7 @@
(symbol (lib_id "power:GND") (at 81.28 142.24 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 265e976c-bcfb-4d3a-8fab-4f10d725163d)
(property "Reference" "#PWR0165" (at 81.28 148.59 0)
(property "Reference" "#PWR0133" (at 81.28 148.59 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 81.407 146.6342 0)
@ -2547,7 +2547,7 @@
(symbol (lib_id "Device:C") (at 119.38 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 2d656516-9361-4e45-87f9-43cfaa1b64da)
(property "Reference" "C708" (at 122.301 165.2016 0)
(property "Reference" "C96" (at 122.301 165.2016 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 122.301 167.513 0)
@ -2606,7 +2606,7 @@
(symbol (lib_id "Device:C") (at 68.58 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 38129707-8f98-475c-b276-bc1e9165822a)
(property "Reference" "C702" (at 71.501 165.2016 0)
(property "Reference" "C90" (at 71.501 165.2016 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 71.501 167.513 0)
@ -2665,7 +2665,7 @@
(symbol (lib_id "Device:C") (at 55.88 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 3f72e86e-a25b-4ccf-a569-f6d14568dac7)
(property "Reference" "C701" (at 58.801 165.202 0)
(property "Reference" "C89" (at 58.801 165.202 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "1uF" (at 58.801 167.513 0)
@ -2691,7 +2691,7 @@
(symbol (lib_id "power:GND") (at 193.04 149.86 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 51703b21-6713-412c-b195-6f15b21c3575)
(property "Reference" "#PWR0160" (at 193.04 156.21 0)
(property "Reference" "#PWR0139" (at 193.04 156.21 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 193.04 153.67 0)
@ -2716,7 +2716,7 @@
(symbol (lib_id "Device:C") (at 165.1 46.99 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 51987fa1-e9cf-41db-9915-ca69b30d9280)
(property "Reference" "C713" (at 168.021 45.8216 0)
(property "Reference" "C101" (at 168.021 45.8216 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 168.021 48.133 0)
@ -2742,7 +2742,7 @@
(symbol (lib_id "Device:C") (at 127 100.33 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 54f0d3be-d3e2-42b5-8b43-134bfc723461)
(property "Reference" "C709" (at 129.921 99.1616 0)
(property "Reference" "C97" (at 129.921 99.1616 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 129.921 101.473 0)
@ -2768,7 +2768,7 @@
(symbol (lib_id "power:GND") (at 53.34 106.68 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 581dc66f-93c3-4302-8615-ef02c17ed662)
(property "Reference" "#PWR0164" (at 53.34 113.03 0)
(property "Reference" "#PWR0129" (at 53.34 113.03 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 53.34 110.49 0)
@ -2793,7 +2793,7 @@
(symbol (lib_id "Device:R") (at 158.75 73.66 90) (mirror x) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 6089b273-ea4f-4d6c-a35f-3bc1484f3213)
(property "Reference" "R706" (at 153.67 72.39 90)
(property "Reference" "R59" (at 153.67 72.39 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "27R" (at 163.83 72.39 90)
@ -2819,7 +2819,7 @@
(symbol (lib_id "Device:C") (at 132.08 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 63d29d7a-7811-43f6-9963-38d0c6b28133)
(property "Reference" "C710" (at 135.001 165.2016 0)
(property "Reference" "C98" (at 135.001 165.2016 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 135.001 167.513 0)
@ -2845,7 +2845,7 @@
(symbol (lib_id "power:+3V3") (at 55.88 162.56 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 6a477710-c97f-4dde-b3f4-1bd82f9d2205)
(property "Reference" "#PWR0162" (at 55.88 166.37 0)
(property "Reference" "#PWR0130" (at 55.88 166.37 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+3V3" (at 56.261 158.1658 0)
@ -2870,7 +2870,7 @@
(symbol (lib_id "Device:C") (at 106.68 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 74132ca8-8a8a-445a-81f6-3386c300f1fb)
(property "Reference" "C707" (at 109.601 165.2016 0)
(property "Reference" "C95" (at 109.601 165.2016 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 109.601 167.513 0)
@ -2896,7 +2896,7 @@
(symbol (lib_id "Device:C") (at 87.63 127 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 813adc0e-d503-438e-995d-d6810088f0e9)
(property "Reference" "C704" (at 82.4484 124.841 90)
(property "Reference" "C92" (at 82.4484 124.841 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "18pF" (at 89.027 124.841 90)
@ -2922,7 +2922,7 @@
(symbol (lib_id "power:GND") (at 127 106.68 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 8704143d-32af-4a6e-b496-acc53e1e2d2d)
(property "Reference" "#PWR0168" (at 127 113.03 0)
(property "Reference" "#PWR0136" (at 127 113.03 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 130.81 107.95 0)
@ -2975,7 +2975,7 @@
(symbol (lib_id "Device:R") (at 67.31 104.14 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 8ef34f51-a1bc-47a3-8029-98035c263d39)
(property "Reference" "R701" (at 67.31 98.8822 90)
(property "Reference" "R56" (at 67.31 98.8822 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "1K" (at 67.31 101.1936 90)
@ -3001,7 +3001,7 @@
(symbol (lib_id "Device:C") (at 177.8 46.99 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 936fb499-ead9-49d6-8611-70387b50ea2d)
(property "Reference" "C714" (at 180.721 45.8216 0)
(property "Reference" "C102" (at 180.721 45.8216 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "1uF" (at 180.721 48.133 0)
@ -3027,7 +3027,7 @@
(symbol (lib_id "power:GND") (at 55.88 170.18 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 9711e7ef-f121-41ab-a8ac-7d7f835a8535)
(property "Reference" "#PWR0163" (at 55.88 176.53 0)
(property "Reference" "#PWR0131" (at 55.88 176.53 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 56.007 174.5742 0)
@ -3052,7 +3052,7 @@
(symbol (lib_id "power:GND") (at 139.7 139.7 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 99fa5299-4bdb-4acd-9709-8da8e4d077c2)
(property "Reference" "#PWR0161" (at 139.7 146.05 0)
(property "Reference" "#PWR0144" (at 139.7 146.05 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 139.827 144.0942 0)
@ -3106,7 +3106,7 @@
(symbol (lib_id "Memory_Flash:W25Q32JVZP") (at 96.52 106.68 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid a19fdb1d-4ea8-4c85-93cc-a606d7ce8175)
(property "Reference" "U701" (at 104.14 91.669 0)
(property "Reference" "U13" (at 104.14 91.669 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "W25Q32JV" (at 104.14 93.98 0)
@ -3145,7 +3145,7 @@
(symbol (lib_id "power:+3V3") (at 96.52 96.52 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid a496b012-61c1-4184-bb63-bb797a599db0)
(property "Reference" "#PWR0166" (at 96.52 100.33 0)
(property "Reference" "#PWR0134" (at 96.52 100.33 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+3V3" (at 96.901 92.1258 0)
@ -3170,7 +3170,7 @@
(symbol (lib_id "Device:C") (at 87.63 139.7 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid a5f4f997-84b0-4b64-b74b-c9e8193bdf2f)
(property "Reference" "C705" (at 82.4484 137.541 90)
(property "Reference" "C93" (at 82.4484 137.541 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "18pF" (at 89.027 137.541 90)
@ -3224,7 +3224,7 @@
(symbol (lib_id "power:GND") (at 96.52 116.84 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid a8021795-74a6-4d8b-bd5f-aa973bf7ebe8)
(property "Reference" "#PWR0167" (at 96.52 123.19 0)
(property "Reference" "#PWR0135" (at 96.52 123.19 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 92.71 118.11 0)
@ -3249,7 +3249,7 @@
(symbol (lib_id "Device:C") (at 152.4 46.99 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid bd0a0f8c-c441-4086-b578-40bf29d8a01e)
(property "Reference" "C711" (at 155.321 45.8216 0)
(property "Reference" "C100" (at 155.321 45.8216 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 155.321 48.133 0)
@ -3357,7 +3357,7 @@
(symbol (lib_id "Device:C") (at 144.78 166.37 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid d9831af6-5535-42be-82af-161ab175ee5c)
(property "Reference" "C712" (at 147.701 165.2016 0)
(property "Reference" "C99" (at 147.701 165.2016 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "100nF" (at 147.701 167.513 0)
@ -3519,7 +3519,7 @@
(symbol (lib_id "Device:R") (at 158.75 71.12 90) (mirror x) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid eec9ce43-7199-4eaa-aab3-67a8a0b471e5)
(property "Reference" "R705" (at 153.67 69.85 90)
(property "Reference" "R58" (at 153.67 69.85 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "27R" (at 163.83 69.85 90)
@ -3545,7 +3545,7 @@
(symbol (lib_id "Device:Crystal_GND24") (at 93.98 133.35 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid f484a4e0-ce80-43b8-b1c3-64f2bfb2c2f2)
(property "Reference" "Y701" (at 100.33 132.08 90)
(property "Reference" "Y2" (at 100.33 132.08 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "12MHz" (at 99.06 134.62 90)

View file

@ -23,6 +23,10 @@
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid 558a13be-3757-4ba7-9c3e-24eef7c78d0f)
)
(text "Microcontroller" (at 35.56 90.17 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid b67963c3-f29b-47c7-8922-33e72e8d5f68)
)
(text "Display" (at 35.56 55.88 0)
(effects (font (size 2.54 2.54)) (justify left bottom))
(uuid d2b3e5ed-56f7-4162-ab02-9bde306dbf5a)