mirror of
https://gitlab.com/zephray/glider.git
synced 2024-11-14 04:57:54 +00:00
commit
b1e0eb794a
36 changed files with 146280 additions and 53480 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -1,2 +1,7 @@
|
||||||
.*/
|
.*/
|
||||||
build/
|
build/
|
||||||
|
.DS_Store
|
||||||
|
*.bak
|
||||||
|
pcb-backups/
|
||||||
|
#auto_saved_files#
|
||||||
|
*.lck
|
||||||
|
|
BIN
case/case.FCStd
Normal file
BIN
case/case.FCStd
Normal file
Binary file not shown.
|
@ -7,11 +7,15 @@ set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# initalize pico_sdk from installed location
|
# initalize pico_sdk from installed location
|
||||||
# (note this can come from environment, CMake cache etc)
|
# (note this can come from environment, CMake cache etc)
|
||||||
set(PICO_SDK_PATH "/Users/wenting/pico/pico-sdk")
|
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)
|
# Pull in Raspberry Pi Pico SDK (must be before project)
|
||||||
include(pico_sdk_import.cmake)
|
include(pico_sdk_import.cmake)
|
||||||
|
|
||||||
|
# We also need PICO EXTRAS
|
||||||
|
include(pico_extras_import.cmake)
|
||||||
|
|
||||||
project(fw C CXX ASM)
|
project(fw C CXX ASM)
|
||||||
|
|
||||||
# Initialise the Raspberry Pi Pico SDK
|
# Initialise the Raspberry Pi Pico SDK
|
||||||
|
@ -20,19 +24,21 @@ pico_sdk_init()
|
||||||
# Add executable. Default name is the project name, version 0.1
|
# Add executable. Default name is the project name, version 0.1
|
||||||
|
|
||||||
add_executable(fw
|
add_executable(fw
|
||||||
fw.c
|
bitstream.c
|
||||||
utils.c
|
caster.c
|
||||||
|
edid.c
|
||||||
|
fpga.c
|
||||||
fusb302.c
|
fusb302.c
|
||||||
|
fw.c
|
||||||
|
max17135.c
|
||||||
power.c
|
power.c
|
||||||
ptn3460.c
|
ptn3460.c
|
||||||
tcpm_driver.c
|
tcpm_driver.c
|
||||||
tps65185.c
|
tps65185.c
|
||||||
max17135.c
|
|
||||||
bitstream.c
|
|
||||||
fpga.c
|
|
||||||
usb_pd_driver.c
|
usb_pd_driver.c
|
||||||
usb_pd_policy.c
|
usb_pd_policy.c
|
||||||
usb_pd_protocol.c
|
usb_pd_protocol.c
|
||||||
|
utils.c
|
||||||
)
|
)
|
||||||
|
|
||||||
pico_set_program_name(fw "fw")
|
pico_set_program_name(fw "fw")
|
||||||
|
@ -42,7 +48,7 @@ pico_enable_stdio_uart(fw 0)
|
||||||
pico_enable_stdio_usb(fw 1)
|
pico_enable_stdio_usb(fw 1)
|
||||||
|
|
||||||
# Add the standard library to the build
|
# Add the standard library to the build
|
||||||
target_link_libraries(fw pico_stdlib)
|
target_link_libraries(fw pico_stdlib hardware_sleep)
|
||||||
|
|
||||||
# Add any user requested libraries
|
# Add any user requested libraries
|
||||||
target_link_libraries(fw
|
target_link_libraries(fw
|
||||||
|
@ -50,6 +56,8 @@ target_link_libraries(fw
|
||||||
hardware_dma
|
hardware_dma
|
||||||
hardware_i2c
|
hardware_i2c
|
||||||
hardware_pwm
|
hardware_pwm
|
||||||
|
pico_unique_id
|
||||||
|
pico_i2c_slave
|
||||||
)
|
)
|
||||||
|
|
||||||
pico_add_extra_outputs(fw)
|
pico_add_extra_outputs(fw)
|
||||||
|
|
60042
fw/bitstream.c
60042
fw/bitstream.c
File diff suppressed because it is too large
Load diff
87
fw/caster.c
Normal file
87
fw/caster.c
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
//
|
||||||
|
// Glider
|
||||||
|
// Copyright 2024 Wenting Zhang
|
||||||
|
//
|
||||||
|
// 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 <stdint.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include "config.h"
|
||||||
|
#include "caster.h"
|
||||||
|
#include "fpga.h"
|
||||||
|
|
||||||
|
static size_t last_update;
|
||||||
|
static size_t last_update_duration;
|
||||||
|
static uint8_t waveform_frames;
|
||||||
|
|
||||||
|
static uint8_t get_update_frames(void) {
|
||||||
|
// Should be worst case time to clear/ update a frame
|
||||||
|
//uint8_t min_time = 10; // Minimum time for non-LUT modes
|
||||||
|
// actually, just always return 1s
|
||||||
|
return 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void wait(void) {
|
||||||
|
// Reading is not implemented in the simulator
|
||||||
|
}
|
||||||
|
|
||||||
|
void caster_init(void) {
|
||||||
|
waveform_frames = 38; // Need to sync with the RTL code
|
||||||
|
// fpga_write_reg8(CSR_CFG_V_FP, TCON_VFP);
|
||||||
|
// fpga_write_reg8(CSR_CFG_V_SYNC, TCON_VSYNC);
|
||||||
|
// fpga_write_reg8(CSR_CFG_V_BP, TCON_VBP);
|
||||||
|
// fpga_write_reg16(CSR_CFG_V_ACT, TCON_VACT);
|
||||||
|
// fpga_write_reg8(CSR_CFG_H_FP, TCON_HFP);
|
||||||
|
// fpga_write_reg8(CSR_CFG_H_SYNC, TCON_HSYNC);
|
||||||
|
// fpga_write_reg8(CSR_CFG_H_BP, TCON_HBP);
|
||||||
|
// fpga_write_reg16(CSR_CFG_H_ACT, TCON_HACT);
|
||||||
|
// fpga_write_reg8(CSR_CONTROL, 1); // Enable refresh
|
||||||
|
}
|
||||||
|
|
||||||
|
void caster_load_waveform(uint8_t *waveform, uint8_t frames) {
|
||||||
|
wait();
|
||||||
|
fpga_write_reg8(CSR_LUT_FRAME, 0); // Reset value before loading
|
||||||
|
fpga_write_reg16(CSR_LUT_ADDR, 0);
|
||||||
|
fpga_write_bulk(CSR_LUT_WR, waveform, WAVEFORM_SIZE);
|
||||||
|
waveform_frames = frames;
|
||||||
|
}
|
||||||
|
|
||||||
|
void caster_redraw(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) {
|
||||||
|
wait();
|
||||||
|
fpga_write_reg16(CSR_OP_LEFT, x0);
|
||||||
|
fpga_write_reg16(CSR_OP_TOP, y0);
|
||||||
|
fpga_write_reg16(CSR_OP_RIGHT, x1);
|
||||||
|
fpga_write_reg16(CSR_OP_BOTTOM, y1);
|
||||||
|
fpga_write_reg8(CSR_OP_LENGTH, get_update_frames());
|
||||||
|
fpga_write_reg8(CSR_OP_CMD, OP_EXT_REDRAW);
|
||||||
|
}
|
||||||
|
|
||||||
|
void caster_setmode(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1,
|
||||||
|
UPDATE_MODE mode) {
|
||||||
|
wait();
|
||||||
|
fpga_write_reg16(CSR_OP_LEFT, x0);
|
||||||
|
fpga_write_reg16(CSR_OP_TOP, y0);
|
||||||
|
fpga_write_reg16(CSR_OP_RIGHT, x1);
|
||||||
|
fpga_write_reg16(CSR_OP_BOTTOM, y1);
|
||||||
|
fpga_write_reg8(CSR_OP_LENGTH, get_update_frames());
|
||||||
|
fpga_write_reg8(CSR_OP_PARAM, (uint8_t)mode);
|
||||||
|
fpga_write_reg8(CSR_OP_CMD, OP_EXT_SETMODE);
|
||||||
|
}
|
95
fw/caster.h
Normal file
95
fw/caster.h
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
//
|
||||||
|
// Caster simulator
|
||||||
|
// Copyright 2023 Wenting Zhang
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Register map
|
||||||
|
#define CSR_LUT_FRAME 0
|
||||||
|
#define CSR_LUT_ADDR_HI 1
|
||||||
|
#define CSR_LUT_ADDR_LO 2
|
||||||
|
#define CSR_LUT_WR 3
|
||||||
|
#define CSR_OP_LEFT_HI 4
|
||||||
|
#define CSR_OP_LEFT_LO 5
|
||||||
|
#define CSR_OP_RIGHT_HI 6
|
||||||
|
#define CSR_OP_RIGHT_LO 7
|
||||||
|
#define CSR_OP_TOP_HI 8
|
||||||
|
#define CSR_OP_TOP_LO 9
|
||||||
|
#define CSR_OP_BOTTOM_HI 10
|
||||||
|
#define CSR_OP_BOTTOM_LO 11
|
||||||
|
#define CSR_OP_PARAM 12
|
||||||
|
#define CSR_OP_LENGTH 13
|
||||||
|
#define CSR_OP_CMD 14
|
||||||
|
#define CSR_CONTROL 15
|
||||||
|
#define CSR_CFG_V_FP 16
|
||||||
|
#define CSR_CFG_V_SYNC 17
|
||||||
|
#define CSR_CFG_V_BP 18
|
||||||
|
#define CSR_CFG_V_ACT_HI 19
|
||||||
|
#define CSR_CFG_V_ACT_LO 20
|
||||||
|
#define CSR_CFG_H_FP 21
|
||||||
|
#define CSR_CFG_H_SYNC 22
|
||||||
|
#define CSR_CFG_H_BP 23
|
||||||
|
#define CSR_CFG_H_ACT_HI 24
|
||||||
|
#define CSR_CFG_H_ACT_LO 25
|
||||||
|
#define CSR_CFG_FBYTES_B2 27
|
||||||
|
#define CSR_CFG_FBYTES_B1 28
|
||||||
|
#define CSR_CFG_FBYTES_B0 29
|
||||||
|
// Alias for 16bit registers
|
||||||
|
#define CSR_LUT_ADDR CSR_LUT_ADDR_HI
|
||||||
|
#define CSR_OP_LEFT CSR_OP_LEFT_HI
|
||||||
|
#define CSR_OP_RIGHT CSR_OP_RIGHT_HI
|
||||||
|
#define CSR_OP_TOP CSR_OP_TOP_HI
|
||||||
|
#define CSR_OP_BOTTOM CSR_OP_BOTTOM_HI
|
||||||
|
#define CSR_CFG_V_ACT CSR_CFG_V_ACT_HI
|
||||||
|
#define CSR_CFG_H_ACT CSR_CFG_H_ACT_HI
|
||||||
|
|
||||||
|
// Commands
|
||||||
|
#define OP_EXT_REDRAW 0
|
||||||
|
#define OP_EXT_SETMODE 1
|
||||||
|
|
||||||
|
// Status bits
|
||||||
|
#define STATUS_MIG_ERROR 7
|
||||||
|
#define STATUS_MIF_ERROR 6
|
||||||
|
#define STATUS_SYS_READY 5
|
||||||
|
#define STATUS_OP_BUSY 4
|
||||||
|
#define STATUS_OP_QUEUE 3
|
||||||
|
#define CTRL_ENABLE 0
|
||||||
|
|
||||||
|
#define WAVEFORM_SIZE (4*1024)
|
||||||
|
|
||||||
|
#define FRAME_RATE_HZ (60)
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
UM_MANUAL_LUT_NO_DITHER = 0,
|
||||||
|
UM_MANUAL_LUT_ERROR_DIFFUSION = 1,
|
||||||
|
UM_FAST_MONO_NO_DITHER = 2,
|
||||||
|
UM_FAST_MONO_BAYER = 3,
|
||||||
|
UM_FAST_MONO_BLUE_NOISE = 4,
|
||||||
|
UM_FAST_GREY = 5,
|
||||||
|
UM_AUTO_LUT_NO_DITHER = 6,
|
||||||
|
UM_AUTO_LUT_ERROR_DIFFUSION = 7
|
||||||
|
} UPDATE_MODE;
|
||||||
|
|
||||||
|
void caster_init(void);
|
||||||
|
void caster_load_waveform(uint8_t *waveform, uint8_t frames);
|
||||||
|
void caster_redraw(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);
|
||||||
|
void caster_setmode(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1,
|
||||||
|
UPDATE_MODE mode);
|
53
fw/config.h
53
fw/config.h
|
@ -24,7 +24,9 @@
|
||||||
/* BOARD REVISION CONFIGURATION */
|
/* BOARD REVISION CONFIGURATION */
|
||||||
// Eariler revisions are not supported
|
// Eariler revisions are not supported
|
||||||
//#define BOARD_REV_R0P5
|
//#define BOARD_REV_R0P5
|
||||||
#define BOARD_REV_R0P6
|
//#define BOARD_REV_R0P6
|
||||||
|
// Lite version uses DVI instead of Type-C DP Alt-mode
|
||||||
|
#define BOARD_REV_RL0P1
|
||||||
|
|
||||||
/* SCREEN CONFIGURATION */
|
/* SCREEN CONFIGURATION */
|
||||||
|
|
||||||
|
@ -49,8 +51,15 @@
|
||||||
/* SET BASED ON PREVIOUS DEFINES, DO NOT MODIFY */
|
/* SET BASED ON PREVIOUS DEFINES, DO NOT MODIFY */
|
||||||
#if defined(BOARD_REV_R0P5)
|
#if defined(BOARD_REV_R0P5)
|
||||||
#define POWER_TPS65185
|
#define POWER_TPS65185
|
||||||
|
#define INPUT_TYPEC
|
||||||
#elif defined(BOARD_REV_R0P6)
|
#elif defined(BOARD_REV_R0P6)
|
||||||
#define POWER_GPIO
|
#define POWER_GPIO
|
||||||
|
// VCOM measurement is not supported
|
||||||
|
#define INPUT_TYPEC
|
||||||
|
#elif defined(BOARD_REV_RL0P1)
|
||||||
|
#define POWER_GPIO
|
||||||
|
#define POWER_GPIO_VCOM_MEASURE
|
||||||
|
#define INPUT_DVI
|
||||||
#else
|
#else
|
||||||
#error "Unknown board revision"
|
#error "Unknown board revision"
|
||||||
#endif
|
#endif
|
||||||
|
@ -109,6 +118,15 @@
|
||||||
#define SCREEN_VBLK 29
|
#define SCREEN_VBLK 29
|
||||||
#define SCREEN_VFP 3
|
#define SCREEN_VFP 3
|
||||||
#define SCREEN_VSYNC 10
|
#define SCREEN_VSYNC 10
|
||||||
|
|
||||||
|
#define TCON_HACT 256
|
||||||
|
#define TCON_HBP 2
|
||||||
|
#define TCON_HSYNC 2
|
||||||
|
#define TCON_HFP 72
|
||||||
|
#define TCON_VACT 758
|
||||||
|
#define TCON_VBP 3
|
||||||
|
#define TCON_VSYNC 1
|
||||||
|
#define TCON_VFP 12
|
||||||
#elif defined(SCREEN_1448_1072)
|
#elif defined(SCREEN_1448_1072)
|
||||||
// 1448x1072 @ 60, 128.5MHz CVT
|
// 1448x1072 @ 60, 128.5MHz CVT
|
||||||
#define SCREEN_CLK 128500
|
#define SCREEN_CLK 128500
|
||||||
|
@ -122,15 +140,34 @@
|
||||||
#define SCREEN_VSYNC 10
|
#define SCREEN_VSYNC 10
|
||||||
#elif defined(SCREEN_1600_1200)
|
#elif defined(SCREEN_1600_1200)
|
||||||
// 1600x1200 @ 60, 162MHz DMT
|
// 1600x1200 @ 60, 162MHz DMT
|
||||||
#define SCREEN_CLK 162000
|
// #define SCREEN_CLK 162000
|
||||||
|
// #define SCREEN_HACT 1600
|
||||||
|
// #define SCREEN_VACT 1200
|
||||||
|
// #define SCREEN_HBLK 560
|
||||||
|
// #define SCREEN_HFP 64
|
||||||
|
// #define SCREEN_HSYNC 192
|
||||||
|
// #define SCREEN_VBLK 50
|
||||||
|
// #define SCREEN_VFP 1
|
||||||
|
// #define SCREEN_VSYNC 3
|
||||||
|
// 1600x1200 @ 60, 124.488MHz CVT-RB-v2
|
||||||
|
#define SCREEN_CLK 124488
|
||||||
#define SCREEN_HACT 1600
|
#define SCREEN_HACT 1600
|
||||||
#define SCREEN_VACT 1200
|
#define SCREEN_VACT 1200
|
||||||
#define SCREEN_HBLK 560
|
#define SCREEN_HBLK 80
|
||||||
#define SCREEN_HFP 64
|
#define SCREEN_HFP 8
|
||||||
#define SCREEN_HSYNC 192
|
#define SCREEN_HSYNC 32
|
||||||
#define SCREEN_VBLK 50
|
#define SCREEN_VBLK 35
|
||||||
#define SCREEN_VFP 1
|
#define SCREEN_VFP 21
|
||||||
#define SCREEN_VSYNC 3
|
#define SCREEN_VSYNC 8
|
||||||
|
|
||||||
|
#define TCON_HACT 400
|
||||||
|
#define TCON_HBP 2
|
||||||
|
#define TCON_HSYNC 2
|
||||||
|
#define TCON_HFP 16
|
||||||
|
#define TCON_VACT 1200
|
||||||
|
#define TCON_VBP 2
|
||||||
|
#define TCON_VSYNC 1
|
||||||
|
#define TCON_VFP 12
|
||||||
#elif defined(SCREEN_1872_1404)
|
#elif defined(SCREEN_1872_1404)
|
||||||
// 1872x1404 @ 60, 162MHz Custom
|
// 1872x1404 @ 60, 162MHz Custom
|
||||||
#define SCREEN_CLK 162000
|
#define SCREEN_CLK 162000
|
||||||
|
|
155
fw/edid.c
Normal file
155
fw/edid.c
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
//
|
||||||
|
// 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 <stdint.h>
|
||||||
|
#include <pico/stdlib.h>
|
||||||
|
#include <hardware/i2c.h>
|
||||||
|
#include <pico/unique_id.h>
|
||||||
|
#include <pico/i2c_slave.h>
|
||||||
|
#include "edid.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#if defined(INPUT_DVI)
|
||||||
|
#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
|
||||||
|
|
||||||
|
static char edid[129] = {
|
||||||
|
0x00, // register number, not part of EDID
|
||||||
|
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, // fixed header (0-7)
|
||||||
|
0x6a, 0x12, // manufacturer ID (8-9)
|
||||||
|
0x01, 0x00, // product code (10-11)
|
||||||
|
0x42, 0x4b, 0x1d, 0x00, // serial number (12-15)
|
||||||
|
0x01, // week of manufacture (16)
|
||||||
|
0x20, // year of manufacture (17)
|
||||||
|
0x01, // EDID version (18)
|
||||||
|
0x03, // EDID revision (19)
|
||||||
|
EDID_VID_IN_PARAM, // video input parameter (20)
|
||||||
|
(SCREEN_SIZE_X / 10), // horizontal screen size in cm (21)
|
||||||
|
(SCREEN_SIZE_Y / 10), // vertical screen size in cm (22)
|
||||||
|
0x78, // display gamma (23)
|
||||||
|
0x06, // supported feature (24)
|
||||||
|
0xee, 0x95, 0xa3, 0x54, 0x4c, 0x99, 0x26, 0x0f, 0x50, 0x54, // chromatic (25-34)
|
||||||
|
0x00, 0x00, 0x00, // established timing (35-37)
|
||||||
|
(SCREEN_HACT / 8 - 31), // X resolution (38)
|
||||||
|
SCREEN_ASPECT, // aspect ratio and vertical frequency (39)
|
||||||
|
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, // standard timing
|
||||||
|
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, // standard timing continued
|
||||||
|
// descriptor 1 (54-71)
|
||||||
|
((SCREEN_CLK / 10) & 0xff), ((SCREEN_CLK / 10) >> 8), // pixel clock in 10kHz
|
||||||
|
(SCREEN_HACT & 0xff), // HACT LSB
|
||||||
|
(SCREEN_HBLK & 0xff), // VBLK LSB
|
||||||
|
(((SCREEN_HACT >> 8) << 4) | (SCREEN_HBLK >> 8)), // HACT MSB | HBLK MSB
|
||||||
|
(SCREEN_VACT & 0xff), // VACT LSB
|
||||||
|
(SCREEN_VBLK & 0xff), // VBLK LSB
|
||||||
|
(((SCREEN_VACT >> 8) << 4) | (SCREEN_VBLK >> 8)), // VACT MSB | VBLK MSB
|
||||||
|
(SCREEN_HFP & 0xff), // HFP LSB
|
||||||
|
(SCREEN_HSYNC & 0xff), // HSYNC LSB
|
||||||
|
(((SCREEN_VFP & 0xf) << 4) | (SCREEN_VSYNC & 0xf)), // VFP LSB | VSYNC LSB
|
||||||
|
(((SCREEN_HFP >> 8) << 6) | ((SCREEN_HSYNC >> 8) << 4) |
|
||||||
|
((SCREEN_VFP >> 4) << 2) | (SCREEN_VSYNC >> 4)), // HFP MSB | HSYNC MSB | VFP MSB | VSYNC MSB
|
||||||
|
(SCREEN_SIZE_X & 0xff), // Horizontal size in mm LSB
|
||||||
|
(SCREEN_SIZE_Y & 0xff), // Vertical size in mm LSB
|
||||||
|
(((SCREEN_SIZE_X >> 8) << 4) | (SCREEN_SIZE_Y >> 8)), // HSIZE MSB | VSIZE LSB
|
||||||
|
0x00, // Horizontal border pixels
|
||||||
|
0x00, // Vertical border lines
|
||||||
|
0x1e, // Features bitmap
|
||||||
|
// descriptor 2 (72-89) display name
|
||||||
|
0x00, 0x00, 0x00, 0xfc, 0x00, 0x50, 0x61, 0x70, 0x65, 0x72, 0x20,
|
||||||
|
0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
|
||||||
|
// descriptor 3 (90-107) display name
|
||||||
|
0x00, 0x00, 0x00, 0xfc, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||||
|
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||||
|
// descriptor 4 (108-125) dummy
|
||||||
|
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, // number of extensions (126)
|
||||||
|
0x00 // checksum (127)
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef INPUT_DVI
|
||||||
|
static void edid_i2c_slave_handler(i2c_inst_t *i2c, i2c_slave_event_t event) {
|
||||||
|
static uint8_t addr = 0;
|
||||||
|
|
||||||
|
switch (event) {
|
||||||
|
case I2C_SLAVE_RECEIVE:
|
||||||
|
// I2C master has written some data
|
||||||
|
// EDID is read only, all write are treated as address
|
||||||
|
addr = i2c_read_byte_raw(i2c);
|
||||||
|
break;
|
||||||
|
case I2C_SLAVE_REQUEST:
|
||||||
|
// I2C master is requesting data
|
||||||
|
i2c_write_byte_raw(i2c, edid[addr + 1]);
|
||||||
|
addr++;
|
||||||
|
if (addr == 128)
|
||||||
|
addr = 0; // wrap around
|
||||||
|
break;
|
||||||
|
case I2C_SLAVE_FINISH:
|
||||||
|
// I2C master sent stop
|
||||||
|
// Reset transaction if needed
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void edid_init() {
|
||||||
|
// Fill in runtime info
|
||||||
|
pico_unique_board_id_t board_id;
|
||||||
|
pico_get_unique_board_id(&board_id);
|
||||||
|
// Populate serial number with this ID (XORed down to 4 bytes)
|
||||||
|
edid[13] = board_id.id[0] ^ board_id.id[4];
|
||||||
|
edid[14] = board_id.id[1] ^ board_id.id[5];
|
||||||
|
edid[15] = board_id.id[2] ^ board_id.id[6];
|
||||||
|
edid[16] = board_id.id[3] ^ board_id.id[7];
|
||||||
|
|
||||||
|
// Fix checksum in EDID
|
||||||
|
uint8_t checksum = 0;
|
||||||
|
for (int i = 1; i < 128; i++) {
|
||||||
|
checksum += edid[i];
|
||||||
|
}
|
||||||
|
checksum = ~checksum + 1;
|
||||||
|
edid[128] = checksum;
|
||||||
|
|
||||||
|
#ifdef INPUT_DVI
|
||||||
|
// DVI models has DDC I2C connected directly to the RP2040
|
||||||
|
// EDID ROM emulation is needed
|
||||||
|
|
||||||
|
gpio_init(EDID_I2C_SDA);
|
||||||
|
gpio_init(EDID_I2C_SCL);
|
||||||
|
|
||||||
|
gpio_set_function(EDID_I2C_SDA, GPIO_FUNC_I2C);
|
||||||
|
gpio_set_function(EDID_I2C_SCL, GPIO_FUNC_I2C);
|
||||||
|
|
||||||
|
i2c_slave_init(EDID_I2C, EDID_I2C_ADDRESS, &edid_i2c_slave_handler);
|
||||||
|
|
||||||
|
// Pull HPD high so host can read the EDID
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t *edid_get_raw() {
|
||||||
|
return edid;
|
||||||
|
}
|
76
fw/edid.h
76
fw/edid.h
|
@ -1,53 +1,25 @@
|
||||||
#include "config.h"
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
#pragma once
|
||||||
|
|
||||||
char edid[129] = {
|
void edid_init();
|
||||||
0x00, // register number, not part of EDID
|
uint8_t *edid_get_raw();
|
||||||
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, // fixed header (0-7)
|
|
||||||
0x6a, 0x12, // manufacturer ID (8-9)
|
|
||||||
0x01, 0x00, // product code (10-11)
|
|
||||||
0x42, 0x4b, 0x1d, 0x00, // serial number (12-15)
|
|
||||||
0x01, // week of manufacture (16)
|
|
||||||
0x20, // year of manufacture (17)
|
|
||||||
0x01, // EDID version (18)
|
|
||||||
0x03, // EDID revision (19)
|
|
||||||
0x85, // display parameter (20)
|
|
||||||
(SCREEN_SIZE_X / 10), // horizontal screen size in cm (21)
|
|
||||||
(SCREEN_SIZE_Y / 10), // vertical screen size in cm (22)
|
|
||||||
0x78, // display gamma (23)
|
|
||||||
0x06, // supported feature (24)
|
|
||||||
0xee, 0x95, 0xa3, 0x54, 0x4c, 0x99, 0x26, 0x0f, 0x50, 0x54, // chromatic (25-34)
|
|
||||||
0x00, 0x00, 0x00, // established timing (35-37)
|
|
||||||
(SCREEN_HACT / 8 - 31), // X resolution (38)
|
|
||||||
SCREEN_ASPECT, // aspect ratio and vertical frequency (39)
|
|
||||||
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, // standard timing
|
|
||||||
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, // standard timing continued
|
|
||||||
// descriptor 1 (54-71)
|
|
||||||
((SCREEN_CLK / 10) & 0xff), ((SCREEN_CLK / 10) >> 8), // pixel clock in 10kHz
|
|
||||||
(SCREEN_HACT & 0xff), // HACT LSB
|
|
||||||
(SCREEN_HBLK & 0xff), // VBLK LSB
|
|
||||||
(((SCREEN_HACT >> 8) << 4) | (SCREEN_HBLK >> 8)), // HACT MSB | HBLK MSB
|
|
||||||
(SCREEN_VACT & 0xff), // VACT LSB
|
|
||||||
(SCREEN_VBLK & 0xff), // VBLK LSB
|
|
||||||
(((SCREEN_VACT >> 8) << 4) | (SCREEN_VBLK >> 8)), // VACT MSB | VBLK MSB
|
|
||||||
(SCREEN_HFP & 0xff), // HFP LSB
|
|
||||||
(SCREEN_HSYNC & 0xff), // HSYNC LSB
|
|
||||||
(((SCREEN_VFP & 0xf) << 4) | (SCREEN_VSYNC & 0xf)), // VFP LSB | VSYNC LSB
|
|
||||||
(((SCREEN_HFP >> 8) << 6) | ((SCREEN_HSYNC >> 8) << 4) |
|
|
||||||
((SCREEN_VFP >> 4) << 2) | (SCREEN_VSYNC >> 4)), // HFP MSB | HSYNC MSB | VFP MSB | VSYNC MSB
|
|
||||||
(SCREEN_SIZE_X & 0xff), // Horizontal size in mm LSB
|
|
||||||
(SCREEN_SIZE_Y & 0xff), // Vertical size in mm LSB
|
|
||||||
(((SCREEN_SIZE_X >> 8) << 4) | (SCREEN_SIZE_Y >> 8)), // HSIZE MSB | VSIZE LSB
|
|
||||||
0x00, // Horizontal border pixels
|
|
||||||
0x00, // Vertical border lines 0x1e,
|
|
||||||
// descriptor 2 (72-89) display name
|
|
||||||
0x00, 0x00, 0x00, 0xfc, 0x00, 0x50, 0x61, 0x70, 0x65, 0x72, 0x20,
|
|
||||||
0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
|
|
||||||
// descriptor 3 (90-107) display name
|
|
||||||
0x00, 0x00, 0x00, 0xfc, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
|
|
||||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
|
||||||
// descriptor 4 (108-125) dummy
|
|
||||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, // number of extensions (126)
|
|
||||||
0x00 // checksum (127)
|
|
||||||
};
|
|
||||||
|
|
59
fw/fpga.c
59
fw/fpga.c
|
@ -20,6 +20,8 @@
|
||||||
// SOFTWARE.
|
// SOFTWARE.
|
||||||
//
|
//
|
||||||
#include "pico/stdlib.h"
|
#include "pico/stdlib.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "utils.h"
|
||||||
#include "fpga.h"
|
#include "fpga.h"
|
||||||
#include "bitstream.h"
|
#include "bitstream.h"
|
||||||
|
|
||||||
|
@ -58,13 +60,54 @@ static void fpga_send_byte(uint8_t byte) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void fpga_send_byte_slow(uint8_t byte) {
|
||||||
|
for (int i = 0; i < 8; i++) {
|
||||||
|
gpio_put(FPGA_MOSI, byte & 0x80);
|
||||||
|
delay_loop(20);
|
||||||
|
gpio_put(FPGA_SCLK, 1);
|
||||||
|
delay_loop(20);
|
||||||
|
byte <<= 1;
|
||||||
|
gpio_put(FPGA_SCLK, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fpga_write_reg8(uint8_t addr, uint8_t val) {
|
||||||
|
gpio_put(FPGA_CS, 0);
|
||||||
|
fpga_send_byte_slow(addr);
|
||||||
|
fpga_send_byte_slow(val);
|
||||||
|
gpio_put(FPGA_CS, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fpga_write_reg16(uint8_t addr, uint16_t val) {
|
||||||
|
gpio_put(FPGA_CS, 0);
|
||||||
|
fpga_send_byte_slow(addr);
|
||||||
|
fpga_send_byte_slow(val >> 8);
|
||||||
|
fpga_send_byte_slow(val & 0xff);
|
||||||
|
gpio_put(FPGA_CS, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fpga_write_bulk(uint8_t addr, uint8_t *buf, int length) {
|
||||||
|
gpio_put(FPGA_CS, 0);
|
||||||
|
fpga_send_byte_slow(addr);
|
||||||
|
for (int i = 0; i < length; i++) {
|
||||||
|
fpga_send_byte_slow(buf[i]);
|
||||||
|
}
|
||||||
|
gpio_put(FPGA_CS, 1);
|
||||||
|
}
|
||||||
|
|
||||||
static void fpga_load_bitstream(uint8_t *stream, int size) {
|
static void fpga_load_bitstream(uint8_t *stream, int size) {
|
||||||
gpio_put(FPGA_CS, 0);
|
gpio_put(FPGA_CS, 0);
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
fpga_send_byte(stream[i]);
|
fpga_send_byte(stream[i]);
|
||||||
}
|
}
|
||||||
gpio_put(FPGA_CS, 1);
|
gpio_put(FPGA_CS, 1);
|
||||||
for (int i = 0; i < 1000; i++) {
|
printf("FPGA bitstream load done.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void fpga_wait_done(bool timeout) {
|
||||||
|
if (timeout) {
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 1000; i++) {
|
||||||
if (gpio_get(FPGA_DONE) == 1)
|
if (gpio_get(FPGA_DONE) == 1)
|
||||||
break;
|
break;
|
||||||
sleep_ms(1);
|
sleep_ms(1);
|
||||||
|
@ -72,8 +115,11 @@ static void fpga_load_bitstream(uint8_t *stream, int size) {
|
||||||
if (gpio_get(FPGA_DONE) == 0) {
|
if (gpio_get(FPGA_DONE) == 0) {
|
||||||
fatal("FPGA done does not go high after 1s");
|
fatal("FPGA done does not go high after 1s");
|
||||||
}
|
}
|
||||||
|
printf("FPGA is up after %d ms.\n", i);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
printf("FPGA bitstream load done.");
|
while (gpio_get(FPGA_DONE) != 1);
|
||||||
|
printf("FPGA is up.\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,6 +133,8 @@ void fpga_init(void) {
|
||||||
gpio_init_ipu(FPGA_DONE);
|
gpio_init_ipu(FPGA_DONE);
|
||||||
gpio_init_out(FPGA_SUSP, 0);
|
gpio_init_out(FPGA_SUSP, 0);
|
||||||
|
|
||||||
|
gpio_put(FPGA_CS, 1);
|
||||||
|
|
||||||
// FPGA Reset
|
// FPGA Reset
|
||||||
gpio_put(FPGA_PROG, 0);
|
gpio_put(FPGA_PROG, 0);
|
||||||
sleep_ms(100);
|
sleep_ms(100);
|
||||||
|
@ -94,7 +142,14 @@ void fpga_init(void) {
|
||||||
sleep_ms(100);
|
sleep_ms(100);
|
||||||
|
|
||||||
// Load bitstream
|
// Load bitstream
|
||||||
|
#if 1
|
||||||
fpga_load_bitstream(fpga_bitstream, fpga_bitstream_length);
|
fpga_load_bitstream(fpga_bitstream, fpga_bitstream_length);
|
||||||
|
fpga_wait_done(true);
|
||||||
|
#else
|
||||||
|
fpga_wait_done(false);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void fpga_suspend(void) {
|
void fpga_suspend(void) {
|
||||||
|
|
|
@ -24,3 +24,6 @@
|
||||||
void fpga_init(void);
|
void fpga_init(void);
|
||||||
void fpga_suspend(void);
|
void fpga_suspend(void);
|
||||||
void fpga_resume(void);
|
void fpga_resume(void);
|
||||||
|
void fpga_write_reg8(uint8_t addr, uint8_t val);
|
||||||
|
void fpga_write_reg16(uint8_t addr, uint16_t val);
|
||||||
|
void fpga_write_bulk(uint8_t addr, uint8_t *buf, int length);
|
62
fw/fw.c
62
fw/fw.c
|
@ -22,6 +22,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "pico/stdlib.h"
|
#include "pico/stdlib.h"
|
||||||
#include "pico/binary_info.h"
|
#include "pico/binary_info.h"
|
||||||
|
#include "pico/sleep.h"
|
||||||
#include "hardware/i2c.h"
|
#include "hardware/i2c.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
@ -30,6 +31,8 @@
|
||||||
#include "ptn3460.h"
|
#include "ptn3460.h"
|
||||||
#include "power.h"
|
#include "power.h"
|
||||||
#include "fpga.h"
|
#include "fpga.h"
|
||||||
|
#include "edid.h"
|
||||||
|
#include "caster.h"
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
@ -40,6 +43,64 @@ int main()
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("Glider\n");
|
printf("Glider\n");
|
||||||
|
|
||||||
|
// TODO: Unify both input options
|
||||||
|
#if defined(INPUT_DVI)
|
||||||
|
power_init();
|
||||||
|
edid_init();
|
||||||
|
power_enable(true);
|
||||||
|
|
||||||
|
//sleep_run_from_xosc();
|
||||||
|
//sleep_goto_dormant_until_edge_high(8);
|
||||||
|
// https://ghubcoder.github.io/posts/awaking-the-pico/
|
||||||
|
|
||||||
|
fpga_init();
|
||||||
|
|
||||||
|
//sleep_ms(5000);
|
||||||
|
//caster_init();
|
||||||
|
|
||||||
|
gpio_init(2);
|
||||||
|
gpio_set_dir(2, GPIO_IN);
|
||||||
|
gpio_pull_up(2);
|
||||||
|
|
||||||
|
int mode_max = 6;
|
||||||
|
int mode = 1;
|
||||||
|
UPDATE_MODE modes[6] = {
|
||||||
|
UM_FAST_MONO_NO_DITHER,
|
||||||
|
UM_FAST_MONO_BAYER,
|
||||||
|
UM_FAST_MONO_BLUE_NOISE,
|
||||||
|
UM_FAST_GREY,
|
||||||
|
UM_AUTO_LUT_NO_DITHER,
|
||||||
|
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);
|
int result = tcpm_init(0);
|
||||||
if (result)
|
if (result)
|
||||||
fatal("Failed to initialize TCPC\n");
|
fatal("Failed to initialize TCPC\n");
|
||||||
|
@ -78,6 +139,7 @@ int main()
|
||||||
printf(dp_valid ? "Input is valid\n" : "Input is invalid\n");
|
printf(dp_valid ? "Input is valid\n" : "Input is invalid\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
62
fw/pico_extras_import.cmake
Normal file
62
fw/pico_extras_import.cmake
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
# This is a copy of <PICO_EXTRAS_PATH>/external/pico_extras_import.cmake
|
||||||
|
|
||||||
|
# This can be dropped into an external project to help locate pico-extras
|
||||||
|
# It should be include()ed prior to project()
|
||||||
|
|
||||||
|
if (DEFINED ENV{PICO_EXTRAS_PATH} AND (NOT PICO_EXTRAS_PATH))
|
||||||
|
set(PICO_EXTRAS_PATH $ENV{PICO_EXTRAS_PATH})
|
||||||
|
message("Using PICO_EXTRAS_PATH from environment ('${PICO_EXTRAS_PATH}')")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (DEFINED ENV{PICO_EXTRAS_FETCH_FROM_GIT} AND (NOT PICO_EXTRAS_FETCH_FROM_GIT))
|
||||||
|
set(PICO_EXTRAS_FETCH_FROM_GIT $ENV{PICO_EXTRAS_FETCH_FROM_GIT})
|
||||||
|
message("Using PICO_EXTRAS_FETCH_FROM_GIT from environment ('${PICO_EXTRAS_FETCH_FROM_GIT}')")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (DEFINED ENV{PICO_EXTRAS_FETCH_FROM_GIT_PATH} AND (NOT PICO_EXTRAS_FETCH_FROM_GIT_PATH))
|
||||||
|
set(PICO_EXTRAS_FETCH_FROM_GIT_PATH $ENV{PICO_EXTRAS_FETCH_FROM_GIT_PATH})
|
||||||
|
message("Using PICO_EXTRAS_FETCH_FROM_GIT_PATH from environment ('${PICO_EXTRAS_FETCH_FROM_GIT_PATH}')")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT PICO_EXTRAS_PATH)
|
||||||
|
if (PICO_EXTRAS_FETCH_FROM_GIT)
|
||||||
|
include(FetchContent)
|
||||||
|
set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR})
|
||||||
|
if (PICO_EXTRAS_FETCH_FROM_GIT_PATH)
|
||||||
|
get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_EXTRAS_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}")
|
||||||
|
endif ()
|
||||||
|
FetchContent_Declare(
|
||||||
|
PICO_EXTRAS
|
||||||
|
GIT_REPOSITORY https://github.com/raspberrypi/pico-extras
|
||||||
|
GIT_TAG master
|
||||||
|
)
|
||||||
|
if (NOT PICO_EXTRAS)
|
||||||
|
message("Downloading PICO EXTRAS")
|
||||||
|
FetchContent_Populate(PICO_EXTRAS)
|
||||||
|
set(PICO_EXTRAS_PATH ${PICO_EXTRAS_SOURCE_DIR})
|
||||||
|
endif ()
|
||||||
|
set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE})
|
||||||
|
else ()
|
||||||
|
if (PICO_SDK_PATH AND EXISTS "${PICO_SDK_PATH}/../pico-extras")
|
||||||
|
set(PICO_EXTRAS_PATH ${PICO_SDK_PATH}/../pico-extras)
|
||||||
|
message("Defaulting PICO_EXTRAS_PATH as sibling of PICO_SDK_PATH: ${PICO_EXTRAS_PATH}")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"PICO EXTRAS location was not specified. Please set PICO_EXTRAS_PATH or set PICO_EXTRAS_FETCH_FROM_GIT to on to fetch from git."
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(PICO_EXTRAS_PATH "${PICO_EXTRAS_PATH}" CACHE PATH "Path to the PICO EXTRAS")
|
||||||
|
set(PICO_EXTRAS_FETCH_FROM_GIT "${PICO_EXTRAS_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of PICO EXTRAS from git if not otherwise locatable")
|
||||||
|
set(PICO_EXTRAS_FETCH_FROM_GIT_PATH "${PICO_EXTRAS_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download EXTRAS")
|
||||||
|
|
||||||
|
get_filename_component(PICO_EXTRAS_PATH "${PICO_EXTRAS_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}")
|
||||||
|
if (NOT EXISTS ${PICO_EXTRAS_PATH})
|
||||||
|
message(FATAL_ERROR "Directory '${PICO_EXTRAS_PATH}' not found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(PICO_EXTRAS_PATH ${PICO_EXTRAS_PATH} CACHE PATH "Path to the PICO EXTRAS" FORCE)
|
||||||
|
|
||||||
|
add_subdirectory(${PICO_EXTRAS_PATH} pico_extras)
|
21
fw/power.c
21
fw/power.c
|
@ -28,6 +28,12 @@
|
||||||
#define PWR_EN_GPIO 21
|
#define PWR_EN_GPIO 21
|
||||||
#define PWR_VCOM_GPIO 22
|
#define PWR_VCOM_GPIO 22
|
||||||
|
|
||||||
|
#if defined(POWER_GPIO_VCOM_MEASURE)
|
||||||
|
#define PWR_VCOM_EN_GPIO 28
|
||||||
|
#define PWR_VCOM_MEN_GPIO 26
|
||||||
|
#define PWR_VCOM_MEA_GPIO 27
|
||||||
|
#endif
|
||||||
|
|
||||||
void power_init(void) {
|
void power_init(void) {
|
||||||
gpio_put(PWR_EN_GPIO, 0);
|
gpio_put(PWR_EN_GPIO, 0);
|
||||||
gpio_init(PWR_EN_GPIO);
|
gpio_init(PWR_EN_GPIO);
|
||||||
|
@ -37,6 +43,21 @@ void power_init(void) {
|
||||||
// Set period to 256 cycles
|
// Set period to 256 cycles
|
||||||
pwm_set_wrap(slice_num, 255);
|
pwm_set_wrap(slice_num, 255);
|
||||||
pwm_set_gpio_level(PWR_VCOM_GPIO, 127);
|
pwm_set_gpio_level(PWR_VCOM_GPIO, 127);
|
||||||
|
|
||||||
|
// 0 -3.421V
|
||||||
|
// 127 -2.145V
|
||||||
|
// 255 -0.987V
|
||||||
|
|
||||||
|
#if defined(POWER_GPIO_VCOM_MEASURE)
|
||||||
|
gpio_init(PWR_VCOM_EN_GPIO);
|
||||||
|
gpio_put(PWR_VCOM_EN_GPIO, 0);
|
||||||
|
gpio_set_dir(PWR_VCOM_EN_GPIO, GPIO_OUT);
|
||||||
|
|
||||||
|
gpio_init(PWR_VCOM_MEN_GPIO);
|
||||||
|
gpio_put(PWR_VCOM_MEN_GPIO, 1);
|
||||||
|
gpio_set_dir(PWR_VCOM_MEN_GPIO, GPIO_OUT);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void power_enable(bool en) {
|
void power_enable(bool en) {
|
||||||
|
|
14
fw/ptn3460.c
14
fw/ptn3460.c
|
@ -20,12 +20,15 @@
|
||||||
// SOFTWARE.
|
// SOFTWARE.
|
||||||
//
|
//
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <stdio.h>
|
||||||
#include "pico/stdlib.h"
|
#include "pico/stdlib.h"
|
||||||
#include "hardware/i2c.h"
|
#include "hardware/i2c.h"
|
||||||
#include "ptn3460.h"
|
#include "ptn3460.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "edid.h"
|
#include "edid.h"
|
||||||
|
|
||||||
|
#ifdef INPUT_TYPEC
|
||||||
|
|
||||||
#define PTN3460_I2C_ADDRESS (0x60)
|
#define PTN3460_I2C_ADDRESS (0x60)
|
||||||
#define PTN3460_I2C (i2c0)
|
#define PTN3460_I2C (i2c0)
|
||||||
#define PTN3460_HPD_PIN (8)
|
#define PTN3460_HPD_PIN (8)
|
||||||
|
@ -46,13 +49,6 @@ void ptn3460_select_edid_emulation(uint8_t id) {
|
||||||
|
|
||||||
void ptn3460_load_edid(uint8_t *edid) {
|
void ptn3460_load_edid(uint8_t *edid) {
|
||||||
int result;
|
int result;
|
||||||
// Fix checksum in EDID
|
|
||||||
uint8_t checksum = 0;
|
|
||||||
for (int i = 1; i < 128; i++) {
|
|
||||||
checksum += edid[i];
|
|
||||||
}
|
|
||||||
checksum = ~checksum + 1;
|
|
||||||
edid[128] = checksum;
|
|
||||||
|
|
||||||
result = i2c_write_blocking(PTN3460_I2C, PTN3460_I2C_ADDRESS,
|
result = i2c_write_blocking(PTN3460_I2C, PTN3460_I2C_ADDRESS,
|
||||||
edid, 129, false);
|
edid, 129, false);
|
||||||
|
@ -96,7 +92,7 @@ void ptn3460_init(void) {
|
||||||
printf("PTN3460 up after %d ms\n", ticks);
|
printf("PTN3460 up after %d ms\n", ticks);
|
||||||
// Enable EDID emulation
|
// Enable EDID emulation
|
||||||
ptn3460_select_edid_emulation(0);
|
ptn3460_select_edid_emulation(0);
|
||||||
ptn3460_load_edid(edid);
|
ptn3460_load_edid(edid_get_raw());
|
||||||
|
|
||||||
//ptn3460_write(0x80, 0x02); // Set AUX reverse
|
//ptn3460_write(0x80, 0x02); // Set AUX reverse
|
||||||
ptn3460_write(0x81, 0x29); // 18bpp, clock on odd bus, dual channel
|
ptn3460_write(0x81, 0x29); // 18bpp, clock on odd bus, dual channel
|
||||||
|
@ -115,3 +111,5 @@ void ptn3460_init(void) {
|
||||||
bool ptn3460_is_valid(void) {
|
bool ptn3460_is_valid(void) {
|
||||||
return gpio_get(PTN3460_VALID_PIN);
|
return gpio_get(PTN3460_VALID_PIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -21,5 +21,7 @@
|
||||||
//
|
//
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef INPUT_TYPEC
|
||||||
void ptn3460_init(void);
|
void ptn3460_init(void);
|
||||||
bool ptn3460_is_valid(void);
|
bool ptn3460_is_valid(void);
|
||||||
|
#endif
|
114
pcb/common/footprints.pretty/BGA-60_9x10_10.0x11.5mm.kicad_mod
Normal file
114
pcb/common/footprints.pretty/BGA-60_9x10_10.0x11.5mm.kicad_mod
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
(footprint "BGA-60_9x10_10.0x11.5mm" (version 20221018) (generator pcbnew)
|
||||||
|
(layer "F.Cu")
|
||||||
|
(attr smd)
|
||||||
|
(fp_text reference "REF**" (at 0 -6.75) (layer "F.SilkS")
|
||||||
|
(effects (font (size 1 1) (thickness 0.15)))
|
||||||
|
(tstamp 6ef97399-2538-46b2-b406-b6fdb6d53873)
|
||||||
|
)
|
||||||
|
(fp_text value "BGA-60_9x10_10.0x11.5mm" (at 0 6.75) (layer "F.Fab")
|
||||||
|
(effects (font (size 1 1) (thickness 0.15)))
|
||||||
|
(tstamp 51e3cfc1-3a23-41a5-83cb-932f5c72c4ff)
|
||||||
|
)
|
||||||
|
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||||
|
(effects (font (size 1 1) (thickness 0.15)))
|
||||||
|
(tstamp 898197a2-6be2-4dc9-afc8-e816cc16c100)
|
||||||
|
)
|
||||||
|
(fp_line (start -5.12 -4.75) (end -5.12 -2.995)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp c4d72759-f9cf-4778-80bf-d68945d849a0))
|
||||||
|
(fp_line (start -5.12 5.87) (end -5.12 2.995)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 16d70370-30d3-4b64-82f7-9918aa47c4e4))
|
||||||
|
(fp_line (start -4 -5.87) (end -5.12 -4.75)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 02512a7e-3a7a-4ee4-81b8-496d97c178bb))
|
||||||
|
(fp_line (start -2.62 -5.87) (end -4 -5.87)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 3c4ee0ad-c310-4c32-9c31-607bed6f995b))
|
||||||
|
(fp_line (start -2.62 5.87) (end -5.12 5.87)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp ef23cf85-fa98-4b19-b5f4-701fa3f9c8d9))
|
||||||
|
(fp_line (start 2.62 -5.87) (end 5.12 -5.87)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp bb26f7ef-3633-4ffd-bcd9-b090dd0d3a4c))
|
||||||
|
(fp_line (start 2.62 5.87) (end 5.12 5.87)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp e76a3762-359e-4770-92a7-c713c4e8ec52))
|
||||||
|
(fp_line (start 5.12 -5.87) (end 5.12 -2.995)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 2c11485c-ff09-4f01-8167-965707924caa))
|
||||||
|
(fp_line (start 5.12 5.87) (end 5.12 2.995)
|
||||||
|
(stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 872cac61-d4c6-42e9-b042-18274bc7287f))
|
||||||
|
(fp_circle (center -5 -5.75) (end -5 -5.65)
|
||||||
|
(stroke (width 0.2) (type default)) (fill none) (layer "F.SilkS") (tstamp 9ff6722b-2490-4f81-980c-b5d29bd9d9d2))
|
||||||
|
(fp_line (start -5.25 -6) (end 5.25 -6)
|
||||||
|
(stroke (width 0.05) (type default)) (layer "F.CrtYd") (tstamp c9d83a81-a2f2-4138-9a46-8a7ca964f7ab))
|
||||||
|
(fp_line (start -5.25 6) (end -5.25 -6)
|
||||||
|
(stroke (width 0.05) (type default)) (layer "F.CrtYd") (tstamp 9be05e98-d3af-4c15-81db-a97a505bcd90))
|
||||||
|
(fp_line (start 5.25 -6) (end 5.25 6)
|
||||||
|
(stroke (width 0.05) (type default)) (layer "F.CrtYd") (tstamp 72716308-00e0-465a-a638-9d7adac155ec))
|
||||||
|
(fp_line (start 5.25 6) (end -5.25 6)
|
||||||
|
(stroke (width 0.05) (type default)) (layer "F.CrtYd") (tstamp b583fbc6-0ab1-4586-9f98-a6ef191c0f2e))
|
||||||
|
(fp_line (start -5 -4.75) (end -5 5.75)
|
||||||
|
(stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 9421e41b-d7ad-4c17-84e4-afaafc1e002d))
|
||||||
|
(fp_line (start -5 5.75) (end 5 5.75)
|
||||||
|
(stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 2593df18-42c2-40c7-aca6-01ee7f61ddd5))
|
||||||
|
(fp_line (start -4 -5.75) (end -5 -4.75)
|
||||||
|
(stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 04f8ce39-9eac-4d69-903a-68509060be13))
|
||||||
|
(fp_line (start 5 -5.75) (end -4 -5.75)
|
||||||
|
(stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 4aa3af0d-4ebb-4144-8c62-8228d582675c))
|
||||||
|
(fp_line (start 5 5.75) (end 5 -5.75)
|
||||||
|
(stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 34191f04-7f94-4cb4-8243-15cbda571e2a))
|
||||||
|
(pad "A1" smd circle (at -3.2 -3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 1ed8e2fb-597a-4dd5-9c1a-e0822425530c))
|
||||||
|
(pad "A2" smd circle (at -2.4 -3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp f1f03b20-cd15-4783-b1ce-1f0d3495feea))
|
||||||
|
(pad "A3" smd circle (at -1.6 -3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp e7a7f501-0ef3-47d6-bd04-1f9d1609df86))
|
||||||
|
(pad "A7" smd circle (at 1.6 -3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 68bbd399-8f19-4dbe-8e0c-cb5e1c29ce68))
|
||||||
|
(pad "A8" smd circle (at 2.4 -3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 94f005b6-29db-4e51-8625-c4703ccdd19a))
|
||||||
|
(pad "A9" smd circle (at 3.2 -3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 082c0a61-7608-469a-8d61-1cf8234cbb06))
|
||||||
|
(pad "B1" smd circle (at -3.2 -2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp def8dc9a-6912-4463-9bae-472409b0d1c3))
|
||||||
|
(pad "B2" smd circle (at -2.4 -2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp fa9a142c-cfe6-4423-aef2-cf5b5b5f2a02))
|
||||||
|
(pad "B3" smd circle (at -1.6 -2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp bcdc01f7-0971-4016-bf91-5128a9c514bd))
|
||||||
|
(pad "B7" smd circle (at 1.6 -2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 83df7a60-8830-472e-9f48-9d8921ca9f32))
|
||||||
|
(pad "B8" smd circle (at 2.4 -2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp f8961775-ed36-4ecf-b5ab-903d962e30a5))
|
||||||
|
(pad "B9" smd circle (at 3.2 -2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp f0c2e495-b659-4fc1-98a4-21e8d1732dce))
|
||||||
|
(pad "C1" smd circle (at -3.2 -2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 392eb024-581a-451b-bcb1-8f1d0f5c957d))
|
||||||
|
(pad "C2" smd circle (at -2.4 -2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp ac1d9d5e-219c-409a-a31d-ed4910b886f2))
|
||||||
|
(pad "C3" smd circle (at -1.6 -2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 5246e2b3-ed55-4f30-b96f-2be7564dc700))
|
||||||
|
(pad "C7" smd circle (at 1.6 -2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp b9747526-ce81-4294-8638-4a8fcdb676f6))
|
||||||
|
(pad "C8" smd circle (at 2.4 -2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 94248dbc-3a0a-46da-bf80-550e4b8890cd))
|
||||||
|
(pad "C9" smd circle (at 3.2 -2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp bfcc721a-9661-4a80-9401-7828ab1c91d3))
|
||||||
|
(pad "D1" smd circle (at -3.2 -1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp ec01fb19-059b-4d1d-a4df-db7cbdb48e7f))
|
||||||
|
(pad "D2" smd circle (at -2.4 -1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp d53cfca3-18c9-4c95-95da-125f8da9ff9b))
|
||||||
|
(pad "D3" smd circle (at -1.6 -1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 10c0ed62-ed0b-4798-91ae-54ccea753569))
|
||||||
|
(pad "D7" smd circle (at 1.6 -1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 34e43709-fcad-489a-b355-e50523b60062))
|
||||||
|
(pad "D8" smd circle (at 2.4 -1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp a6034dc0-8305-4289-8506-d7c9f57691e5))
|
||||||
|
(pad "D9" smd circle (at 3.2 -1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 3e122192-1295-4aa8-97e5-8fe727d0ee60))
|
||||||
|
(pad "E1" smd circle (at -3.2 -0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp e7c8456b-af20-465d-8c5f-f9870396d2ab))
|
||||||
|
(pad "E2" smd circle (at -2.4 -0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp a1fb7f28-36ea-4590-945a-9ad008a37b28))
|
||||||
|
(pad "E3" smd circle (at -1.6 -0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 53520db0-46e1-4ac6-b905-699bc241924b))
|
||||||
|
(pad "E7" smd circle (at 1.6 -0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp a103d333-2b65-450a-8cdc-10e1da599fd1))
|
||||||
|
(pad "E8" smd circle (at 2.4 -0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 2b07ced1-40b8-464f-9aa3-23fc4ffedd27))
|
||||||
|
(pad "E9" smd circle (at 3.2 -0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp be201012-ccf5-4765-af9f-1d00193db717))
|
||||||
|
(pad "F1" smd circle (at -3.2 0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 4213c3c9-2f4b-49d9-ad21-b29ab90a5d5e))
|
||||||
|
(pad "F2" smd circle (at -2.4 0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp ca10451a-e061-407d-a677-315ef3de80e3))
|
||||||
|
(pad "F3" smd circle (at -1.6 0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 59146dbb-e324-42f4-8eb7-9f071cee14b1))
|
||||||
|
(pad "F7" smd circle (at 1.6 0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp c4067c59-f6b6-4711-bd56-227a56cc770c))
|
||||||
|
(pad "F8" smd circle (at 2.4 0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp b47558d7-c796-411f-856f-0bf42482b186))
|
||||||
|
(pad "F9" smd circle (at 3.2 0.4) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp dde6347b-62b1-40f0-9e1e-446581d960bb))
|
||||||
|
(pad "G1" smd circle (at -3.2 1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp a03ce8f8-ec84-453f-adc2-aeecaae0afb0))
|
||||||
|
(pad "G2" smd circle (at -2.4 1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp ef6d9358-78ac-48c6-b945-6e81a0764a53))
|
||||||
|
(pad "G3" smd circle (at -1.6 1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 8e95f3ac-9d7c-472f-8fcb-6530be3fa0c8))
|
||||||
|
(pad "G7" smd circle (at 1.6 1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 540cc0d3-25c5-499b-ac56-59e7e777ebbb))
|
||||||
|
(pad "G8" smd circle (at 2.4 1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 3e8d9619-ad2c-4e26-b30c-113efd6ea3e9))
|
||||||
|
(pad "G9" smd circle (at 3.2 1.2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp c20c2f77-c6f3-410b-882e-c91061a9b6dc))
|
||||||
|
(pad "H1" smd circle (at -3.2 2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp acf3d1cb-86a5-4026-aa3c-cf1b67f376e1))
|
||||||
|
(pad "H2" smd circle (at -2.4 2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 2e5cfbbf-dbbf-47a8-a26c-e7487da00e71))
|
||||||
|
(pad "H3" smd circle (at -1.6 2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 95041607-6113-4ec7-ada0-a291ade51cf3))
|
||||||
|
(pad "H7" smd circle (at 1.6 2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp d0004639-c663-4017-858d-83b964d4a24e))
|
||||||
|
(pad "H8" smd circle (at 2.4 2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 7c337360-91d4-42ac-9e82-2ab75e0733b8))
|
||||||
|
(pad "H9" smd circle (at 3.2 2) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp f3f03a7e-69ad-4986-b637-95f1d74877b0))
|
||||||
|
(pad "J1" smd circle (at -3.2 2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp fee98fe8-de5c-49ca-8632-ae4dd4e566bc))
|
||||||
|
(pad "J2" smd circle (at -2.4 2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp ea39c172-c047-442d-b459-762b490c1a54))
|
||||||
|
(pad "J3" smd circle (at -1.6 2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 021d163a-c307-4d36-bf26-dbe11c3d80d1))
|
||||||
|
(pad "J7" smd circle (at 1.6 2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 58350fd9-8875-4845-93ed-3df4d1e6c985))
|
||||||
|
(pad "J8" smd circle (at 2.4 2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 12db921e-f783-4d8a-b292-36fab0d15107))
|
||||||
|
(pad "J9" smd circle (at 3.2 2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp c93e99db-de08-4966-8296-b8c02b264bad))
|
||||||
|
(pad "K1" smd circle (at -3.2 3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp bd4c8ead-25e4-4cb5-acda-ef0f09ba28a4))
|
||||||
|
(pad "K2" smd circle (at -2.4 3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp d35221d4-53af-4ba7-a180-1eadcce69977))
|
||||||
|
(pad "K3" smd circle (at -1.6 3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp e7287c5b-eaab-4eb5-8fe3-4b4581b74cd2))
|
||||||
|
(pad "K7" smd circle (at 1.6 3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp af4de8dc-74df-4303-9125-f59b97dbf82b))
|
||||||
|
(pad "K8" smd circle (at 2.4 3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 7832a5d8-ba3e-406a-9dfa-82bca01f816d))
|
||||||
|
(pad "K9" smd circle (at 3.2 3.6) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 52b0748c-7f27-46aa-99c1-e6f99932399d))
|
||||||
|
)
|
4377
pcb/common/footprints.pretty/HRO TYPE-C-31-M-12.step
Normal file
4377
pcb/common/footprints.pretty/HRO TYPE-C-31-M-12.step
Normal file
File diff suppressed because it is too large
Load diff
7131
pcb/common/footprints.pretty/SM03B-SRSS-TB(LF)(SN).STEP
Normal file
7131
pcb/common/footprints.pretty/SM03B-SRSS-TB(LF)(SN).STEP
Normal file
File diff suppressed because it is too large
Load diff
14515
pcb/common/footprints.pretty/WSON8-6x5.STEP
Normal file
14515
pcb/common/footprints.pretty/WSON8-6x5.STEP
Normal file
File diff suppressed because it is too large
Load diff
22042
pcb/common/symbols.bak
22042
pcb/common/symbols.bak
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -64,7 +64,7 @@
|
||||||
35,
|
35,
|
||||||
36
|
36
|
||||||
],
|
],
|
||||||
"visible_layers": "00150d0_00000000",
|
"visible_layers": "0015050_00000000",
|
||||||
"zone_display_mode": 0
|
"zone_display_mode": 0
|
||||||
},
|
},
|
||||||
"meta": {
|
"meta": {
|
||||||
|
|
2776
pcb/mainboard_lite/dp_in.kicad_sch
Normal file
2776
pcb/mainboard_lite/dp_in.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
7808
pcb/mainboard_lite/eink.kicad_sch
Normal file
7808
pcb/mainboard_lite/eink.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
953
pcb/mainboard_lite/fp-info-cache
Normal file
953
pcb/mainboard_lite/fp-info-cache
Normal file
|
@ -0,0 +1,953 @@
|
||||||
|
230118065756145
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
ATPAK-2
|
||||||
|
ATPAK SMD package, http://www.onsemi.com/pub/Collateral/ENA2192-D.PDF
|
||||||
|
ATPAK
|
||||||
|
0
|
||||||
|
7
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Analog_KS-4
|
||||||
|
Analog Devices KS-4, http://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/sc70ks/ks_4.pdf
|
||||||
|
Analog Devices KS-4 (like EIAJ SC-82)
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Diodes_SOT-553
|
||||||
|
Diodes SOT-553, https://www.diodes.com/assets/Package-Files/SOT553.pdf
|
||||||
|
SOT-553
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
HVSOF5
|
||||||
|
HVSOF5, http://rohmfs.rohm.com/en/techdata_basic/ic/package/hvsof5_1-e.pdf, http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/hall/bu52001gul-e.pdf
|
||||||
|
HVSOF5
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
HVSOF6
|
||||||
|
HVSOF6, http://rohmfs.rohm.com/en/techdata_basic/ic/package/hvsof6_1-e.pdf, http://rohmfs.rohm.com/en/products/databook/datasheet/ic/audio_video/video_amplifier/bh76106hfv-e.pdf
|
||||||
|
HVSOF6
|
||||||
|
0
|
||||||
|
7
|
||||||
|
7
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HDSOP-10-1
|
||||||
|
Infineon PG-HDSOP-10-1 (DDPAK), 20.96x6.5x2.3mm, slug up (https://www.infineon.com/cms/en/product/packages/PG-HDSOP/PG-HDSOP-10-1/)
|
||||||
|
hdsop 10 ddpak
|
||||||
|
0
|
||||||
|
10
|
||||||
|
10
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HSOF-8-1
|
||||||
|
HSOF-8-1 [TOLL] power MOSFET (http://www.infineon.com/cms/en/product/packages/PG-HSOF/PG-HSOF-8-1/)
|
||||||
|
mosfet hsof toll
|
||||||
|
0
|
||||||
|
53
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HSOF-8-1_ThermalVias
|
||||||
|
HSOF-8-1 [TOLL] power MOSFET (http://www.infineon.com/cms/en/product/packages/PG-HSOF/PG-HSOF-8-1/)
|
||||||
|
mosfet hsof toll thermal vias
|
||||||
|
0
|
||||||
|
96
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HSOF-8-2
|
||||||
|
HSOF-8-2 [TOLL] power MOSFET (http://www.infineon.com/cms/en/product/packages/PG-HSOF/PG-HSOF-8-2/)
|
||||||
|
mosfet hsof toll
|
||||||
|
0
|
||||||
|
12
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HSOF-8-2_ThermalVias
|
||||||
|
HSOF-8-2 [TOLL] power MOSFET (http://www.infineon.com/cms/en/product/packages/PG-HSOF/PG-HSOF-8-2/)
|
||||||
|
mosfet hsof toll thermal vias
|
||||||
|
0
|
||||||
|
97
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HSOF-8-2_ThermalVias2
|
||||||
|
HSOF-8-2 [TOLL] power MOSFET (http://www.infineon.com/cms/en/product/packages/PG-HSOF/PG-HSOF-8-2/, https://www.infineon.com/dgdl/Infineon-ApplicationNote_600V_CoolMOS_C7_Gold_TOLL-AN-v01_00-EN.pdf?fileId=5546d4625b10283a015b144a1af70df6)
|
||||||
|
mosfet hsof toll thermal vias
|
||||||
|
0
|
||||||
|
159
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HSOF-8-3
|
||||||
|
HSOF-8-3 power MOSFET (http://www.infineon.com/cms/en/product/packages/PG-HSOF/PG-HSOF-8-3/)
|
||||||
|
mosfet hsof
|
||||||
|
0
|
||||||
|
25
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-HSOF-8-3_ThermalVias
|
||||||
|
HSOF-8-3 power MOSFET (http://www.infineon.com/cms/en/product/packages/PG-HSOF/PG-HSOF-8-3/)
|
||||||
|
mosfet hsof
|
||||||
|
0
|
||||||
|
64
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-TO-220-7Lead_TabPin8
|
||||||
|
Infineon PG-TO-220-7, Tab as Pin 8, see e.g. https://www.infineon.com/dgdl/Infineon-BTS50055-1TMC-DS-v01_00-EN.pdf?fileId=5546d4625a888733015aa9b0007235e9
|
||||||
|
Infineon PG-TO-220-7
|
||||||
|
0
|
||||||
|
12
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Infineon_PG-TSFP-3-1
|
||||||
|
Infineon_PG-TSFP-3-1, https://www.infineon.com/dgdl/TSFP-3-1,-2-Package_Overview.pdf?fileId=db3a30431936bc4b0119539929863d46
|
||||||
|
TSFP-3
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
LFPAK33
|
||||||
|
LFPAK33 SOT-1210 https://assets.nexperia.com/documents/outline-drawing/SOT1210.pdf
|
||||||
|
LFPAK33 SOT-1210
|
||||||
|
0
|
||||||
|
17
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
LFPAK56
|
||||||
|
LFPAK56 https://assets.nexperia.com/documents/outline-drawing/SOT669.pdf
|
||||||
|
LFPAK56 SOT-669 Power-SO8
|
||||||
|
0
|
||||||
|
18
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Nexperia_CFP15_SOT-1289
|
||||||
|
Nexperia CFP15 (SOT-1289), https://assets.nexperia.com/documents/outline-drawing/SOT1289.pdf
|
||||||
|
SOT-1289 CFP15
|
||||||
|
0
|
||||||
|
8
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
OnSemi_ECH8
|
||||||
|
On Semiconductor ECH8, https://www.onsemi.com/pub/Collateral/318BF.PDF
|
||||||
|
ECH8 SOT28-FL SOT-28-FL
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
PQFN_8x8
|
||||||
|
Low Profile 8x8mm PQFN, Dual Cool 88, https://www.onsemi.com/pub/Collateral/FDMT80080DC-D.pdf
|
||||||
|
pqfn vdfn mosfet
|
||||||
|
0
|
||||||
|
9
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
PowerMacro_M234_NoHole
|
||||||
|
TO-50-4 Power Macro Package Style M234
|
||||||
|
TO-50-4 Power Macro Package Style M234
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
PowerMacro_M234_WithHole
|
||||||
|
TO-50-4 Power Macro Package Style M234
|
||||||
|
TO-50-4 Power Macro Package Style M234
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Rohm_HRP7
|
||||||
|
Rohm HRP7 SMD package, http://rohmfs.rohm.com/en/techdata_basic/ic/package/hrp7_1-e.pdf, http://rohmfs.rohm.com/en/products/databook/datasheet/ic/motor/dc/bd621x-e.pdf
|
||||||
|
Rohm HRP7 SMD
|
||||||
|
0
|
||||||
|
69
|
||||||
|
7
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-59
|
||||||
|
SC-59, https://lib.chipdip.ru/images/import_diod/original/SOT-23_SC-59.jpg
|
||||||
|
SC-59
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-59_Handsoldering
|
||||||
|
SC-59, hand-soldering varaint, https://lib.chipdip.ru/images/import_diod/original/SOT-23_SC-59.jpg
|
||||||
|
SC-59 hand-soldering
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-70-8
|
||||||
|
SC70-8
|
||||||
|
SC70-8
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-70-8_Handsoldering
|
||||||
|
SC70-8, Handsoldering
|
||||||
|
SC70-8 Handsoldering
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-82AA
|
||||||
|
SC-82AA
|
||||||
|
SC-82AA
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-82AA_Handsoldering
|
||||||
|
SC-82AA
|
||||||
|
SC-82AA
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-82AB
|
||||||
|
SC-82AB
|
||||||
|
SC-82AB
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SC-82AB_Handsoldering
|
||||||
|
SC-82AB
|
||||||
|
SC-82AB
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23
|
||||||
|
SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
SOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23-3
|
||||||
|
SOT, 3 Pin (https://www.jedec.org/sites/default/files/docs/Mo-178D.PDF inferred 3-pin variant), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
SOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23-5
|
||||||
|
SOT, 5 Pin (https://www.jedec.org/sites/default/files/docs/Mo-178c.PDF variant AA), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
SOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23-5_HandSoldering
|
||||||
|
5-pin SOT23 package
|
||||||
|
SOT-23-5 hand-soldering
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23-6
|
||||||
|
SOT, 6 Pin (https://www.jedec.org/sites/default/files/docs/Mo-178c.PDF variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
SOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23-6_Handsoldering
|
||||||
|
6-pin SOT-23 package, Handsoldering
|
||||||
|
SOT-23-6 Handsoldering
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23-8
|
||||||
|
SOT, 8 Pin (https://www.jedec.org/sites/default/files/docs/Mo-178c.PDF variant BA), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
SOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23-8_Handsoldering
|
||||||
|
8-pin SOT-23 package, Handsoldering, http://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/sot-23rj/rj_8.pdf
|
||||||
|
SOT-23-8 Handsoldering
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23W
|
||||||
|
SOT-23W http://www.allegromicro.com/~/media/Files/Datasheets/A112x-Datasheet.ashx?la=en&hash=7BC461E058CC246E0BAB62433B2F1ECA104CA9D3
|
||||||
|
SOT-23W
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23W_Handsoldering
|
||||||
|
SOT-23W http://www.allegromicro.com/~/media/Files/Datasheets/A112x-Datasheet.ashx?la=en&hash=7BC461E058CC246E0BAB62433B2F1ECA104CA9D3
|
||||||
|
SOT-23W for handsoldering
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-23_Handsoldering
|
||||||
|
SOT-23, Handsoldering
|
||||||
|
SOT-23
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-89-3
|
||||||
|
SOT-89-3, http://ww1.microchip.com/downloads/en/DeviceDoc/3L_SOT-89_MB_C04-029C.pdf
|
||||||
|
SOT-89-3
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-89-3_Handsoldering
|
||||||
|
SOT-89-3 Handsoldering
|
||||||
|
SOT-89-3 Handsoldering
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-89-5
|
||||||
|
SOT-89-5, http://www.e-devices.ricoh.co.jp/en/products/product_power/pkg/sot-89-5.pdf
|
||||||
|
SOT-89-5
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-89-5_Handsoldering
|
||||||
|
SOT-89-5, http://www.e-devices.ricoh.co.jp/en/products/product_power/pkg/sot-89-5.pdf
|
||||||
|
SOT-89-5
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-143
|
||||||
|
SOT-143 https://www.nxp.com/docs/en/package-information/SOT143B.pdf
|
||||||
|
SOT-143
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-143R
|
||||||
|
SOT-143R, reverse pinning, https://www.nxp.com/docs/en/package-information/SOT143R.pdf
|
||||||
|
SOT-143R Reverse
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-143R_Handsoldering
|
||||||
|
SOT-143R, reverse pinning, Handsoldering, https://www.nxp.com/docs/en/package-information/SOT143R.pdf
|
||||||
|
SOT-143 Reverse Handsoldering
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-143_Handsoldering
|
||||||
|
SOT-143 Handsoldering https://www.nxp.com/docs/en/package-information/SOT143B.pdf
|
||||||
|
SOT-143 Handsoldering
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-223
|
||||||
|
module CMS SOT223 4 pins
|
||||||
|
CMS SOT
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-223-3_TabPin2
|
||||||
|
module CMS SOT223 4 pins
|
||||||
|
CMS SOT
|
||||||
|
0
|
||||||
|
4
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-223-5
|
||||||
|
module CMS SOT223 5 pins, http://ww1.microchip.com/downloads/en/DeviceDoc/51751a.pdf
|
||||||
|
CMS SOT
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-223-6
|
||||||
|
module CMS SOT223 6 pins, http://www.ti.com/lit/ds/symlink/tps737.pdf
|
||||||
|
CMS SOT
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-223-6_TabPin3
|
||||||
|
module CMS SOT223 6 pins, http://www.ti.com/lit/ds/symlink/tps737.pdf
|
||||||
|
CMS SOT
|
||||||
|
0
|
||||||
|
6
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-223-8
|
||||||
|
module CMS SOT223 8 pins, https://www.diodes.com/assets/Datasheets/ZXSBMR16PT8.pdf
|
||||||
|
CMS SOT
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-323_SC-70
|
||||||
|
SOT-323, SC-70
|
||||||
|
SOT-323 SC-70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-323_SC-70_Handsoldering
|
||||||
|
SOT-323, SC-70 Handsoldering
|
||||||
|
SOT-323 SC-70 Handsoldering
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-343_SC-70-4
|
||||||
|
SOT-343, SC-70-4
|
||||||
|
SOT-343 SC-70-4
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-343_SC-70-4_Handsoldering
|
||||||
|
SOT-343, SC-70-4, Handsoldering
|
||||||
|
SOT-343 SC-70-4 Handsoldering
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-353_SC-70-5
|
||||||
|
SOT-353, SC-70-5
|
||||||
|
SOT-353 SC-70-5
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-353_SC-70-5_Handsoldering
|
||||||
|
SOT-353, SC-70-5, Handsoldering
|
||||||
|
SOT-353 SC-70-5 Handsoldering
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-363_SC-70-6
|
||||||
|
SOT-363, SC-70-6
|
||||||
|
SOT-363 SC-70-6
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-363_SC-70-6_Handsoldering
|
||||||
|
SOT-363, SC-70-6, Handsoldering
|
||||||
|
SOT-363 SC-70-6 Handsoldering
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-383F
|
||||||
|
8-pin SOT-383F, http://www.mouser.com/ds/2/80/CPDVR085V0C-HF-RevB-10783.pdf
|
||||||
|
SOT-383F
|
||||||
|
0
|
||||||
|
9
|
||||||
|
9
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-383FL
|
||||||
|
8-pin SOT-383FL package, http://www.onsemi.com/pub_link/Collateral/ENA2267-D.PDF
|
||||||
|
SOT-383FL
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-416
|
||||||
|
SOT-416, https://www.nxp.com/docs/en/package-information/SOT416.pdf
|
||||||
|
SOT-416
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-523
|
||||||
|
SOT523, https://www.diodes.com/assets/Package-Files/SOT523.pdf
|
||||||
|
SOT-523
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-543
|
||||||
|
SOT-543 4 lead surface package
|
||||||
|
SOT-543 SC-107A EMD4
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-553
|
||||||
|
SOT553
|
||||||
|
SOT-553
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-563
|
||||||
|
SOT563
|
||||||
|
SOT-563
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-583-8
|
||||||
|
https://www.ti.com/lit/ds/symlink/tps62933.pdf
|
||||||
|
SOT-583-8
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-665
|
||||||
|
SOT665
|
||||||
|
SOT-665
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-666
|
||||||
|
SOT666
|
||||||
|
SOT-666
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-723
|
||||||
|
http://toshiba.semicon-storage.com/info/docget.jsp?did=5879&prodName=RN1104MFV
|
||||||
|
sot 723
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-883
|
||||||
|
SOT-883, https://assets.nexperia.com/documents/outline-drawing/SOT883.pdf
|
||||||
|
SOT-883
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-886
|
||||||
|
SOT-886
|
||||||
|
SOT-886
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-963
|
||||||
|
SOT 963 6 pins package 1x0.8mm pitch 0.35mm
|
||||||
|
SOT 963 6 pins package 1x0.8mm pitch 0.35mm
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-1123
|
||||||
|
SOT-1123 small outline transistor (see http://www.onsemi.com/pub/Collateral/NST3906F3-D.PDF)
|
||||||
|
SOT-1123 transistor
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-1333-1
|
||||||
|
SOT-1333-1
|
||||||
|
SOT-1333-1
|
||||||
|
0
|
||||||
|
9
|
||||||
|
9
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SOT-1334-1
|
||||||
|
SOT-1334-1
|
||||||
|
SOT-1334-1
|
||||||
|
0
|
||||||
|
14
|
||||||
|
14
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SuperSOT-3
|
||||||
|
3-pin SuperSOT package https://www.fairchildsemi.com/package-drawings/MA/MA03B.pdf
|
||||||
|
SuperSOT-3 SSOT-3
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SuperSOT-6
|
||||||
|
6-pin SuperSOT package http://www.mouser.com/ds/2/149/FMB5551-889214.pdf
|
||||||
|
SuperSOT-6 SSOT-6
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
SuperSOT-8
|
||||||
|
8-pin SuperSOT package, http://www.icbank.com/icbank_data/semi_package/ssot8_dim.pdf
|
||||||
|
SuperSOT-8 SSOT-8
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TDSON-8-1
|
||||||
|
Power MOSFET package, TDSON-8-1, 5.15x5.9mm (https://www.infineon.com/cms/en/product/packages/PG-TDSON/PG-TDSON-8-1/)
|
||||||
|
tdson
|
||||||
|
0
|
||||||
|
14
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-3_LongPad-NoHole_Housing
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-3_LongPad-WithHole_Housing
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-3_ShortPad-NoHole_Housing
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-3_ShortPad-WithHole_Housing
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
TO-50-3 Macro T Package Style M236
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-4_LongPad-NoHole_Housing
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-4_LongPad-WithHole_Housing
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-4_ShortPad-NoHole_Housing
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-50-4_ShortPad-WithHole_Housing
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
TO-50-4 Macro X Package Style M238
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-252-2
|
||||||
|
TO-252/DPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO252/PG-TO252-3-1/
|
||||||
|
DPAK TO-252 DPAK-3 TO-252-3 SOT-428
|
||||||
|
0
|
||||||
|
7
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-252-2_TabPin1
|
||||||
|
TO-252-2, tab to pin 1 https://www.wolfspeed.com/media/downloads/87/CSD01060.pdf
|
||||||
|
TO-252-2 diode
|
||||||
|
0
|
||||||
|
7
|
||||||
|
2
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-252-3_TabPin2
|
||||||
|
TO-252/DPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO252/PG-TO252-3-1/
|
||||||
|
DPAK TO-252 DPAK-3 TO-252-3 SOT-428
|
||||||
|
0
|
||||||
|
8
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-252-3_TabPin4
|
||||||
|
TO-252/DPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO252/PG-TO252-3-1/
|
||||||
|
DPAK TO-252 DPAK-3 TO-252-3 SOT-428
|
||||||
|
0
|
||||||
|
8
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-252-4
|
||||||
|
TO-252/DPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO252/PG-TO252-5-11/
|
||||||
|
DPAK TO-252 DPAK-5 TO-252-5
|
||||||
|
0
|
||||||
|
9
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-252-5_TabPin3
|
||||||
|
TO-252/DPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO252/PG-TO252-5-11/
|
||||||
|
DPAK TO-252 DPAK-5 TO-252-5
|
||||||
|
0
|
||||||
|
10
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-252-5_TabPin6
|
||||||
|
TO-252/DPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO252/PG-TO252-5-11/
|
||||||
|
DPAK TO-252 DPAK-5 TO-252-5
|
||||||
|
0
|
||||||
|
10
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-2
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-3-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-3 TO-263-3 SOT-404
|
||||||
|
0
|
||||||
|
7
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-2_TabPin1
|
||||||
|
TO-263 / D2PAK / DDPAK SMD package, tab to pin 1, https://www.wolfspeed.com/media/downloads/137/C3D06060G.pdf
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-3 TO-263-3 SOT-404 diode
|
||||||
|
0
|
||||||
|
7
|
||||||
|
2
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-3_TabPin2
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-3-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-3 TO-263-3 SOT-404
|
||||||
|
0
|
||||||
|
8
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-3_TabPin4
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-3-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-3 TO-263-3 SOT-404
|
||||||
|
0
|
||||||
|
8
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-4
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-5-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-5 TO-263-5 SOT-426
|
||||||
|
0
|
||||||
|
9
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-5_TabPin3
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-5-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-5 TO-263-5 SOT-426
|
||||||
|
0
|
||||||
|
10
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-5_TabPin6
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-5-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-5 TO-263-5 SOT-426
|
||||||
|
0
|
||||||
|
10
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-6
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-7-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-7 TO-263-7 SOT-427
|
||||||
|
0
|
||||||
|
11
|
||||||
|
7
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-7_TabPin4
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-7-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-7 TO-263-7 SOT-427
|
||||||
|
0
|
||||||
|
12
|
||||||
|
7
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-7_TabPin8
|
||||||
|
TO-263/D2PAK/DDPAK SMD package, http://www.infineon.com/cms/en/product/packages/PG-TO263/PG-TO263-7-1/
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-7 TO-263-7 SOT-427
|
||||||
|
0
|
||||||
|
12
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-9_TabPin5
|
||||||
|
TO-263 / D2PAK / DDPAK SMD package, http://www.ti.com/lit/ds/symlink/lm4755.pdf
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-9 TO-263-9
|
||||||
|
0
|
||||||
|
14
|
||||||
|
9
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-263-9_TabPin10
|
||||||
|
TO-263 / D2PAK / DDPAK SMD package, http://www.ti.com/lit/ds/symlink/lm4755.pdf
|
||||||
|
D2PAK DDPAK TO-263 D2PAK-9 TO-263-9
|
||||||
|
0
|
||||||
|
14
|
||||||
|
10
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-268-2
|
||||||
|
TO-268/D3PAK SMD package, http://www.icbank.com/icbank_data/semi_package/to268aa_dim.pdf
|
||||||
|
D3PAK TO-268 D3PAK-3 TO-268-3
|
||||||
|
0
|
||||||
|
7
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-269AA
|
||||||
|
SMD package TO-269AA (e.g. diode bridge), see http://www.vishay.com/docs/88854/padlayouts.pdf
|
||||||
|
TO-269AA MBS diode bridge
|
||||||
|
0
|
||||||
|
4
|
||||||
|
4
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-277A
|
||||||
|
Thermal enhanced ultra thin SMD package; 3 leads; body: 4.3x6.1x0.43mm, https://www.vishay.com/docs/95570/to-277asmpc.pdf
|
||||||
|
TO-277A SMPC
|
||||||
|
0
|
||||||
|
12
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TO-277B
|
||||||
|
TO-227B https://media.digikey.com/pdf/Data%20Sheets/Littelfuse%20PDFs/DST2050S.pdf
|
||||||
|
TO-277B
|
||||||
|
0
|
||||||
|
9
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23
|
||||||
|
3-pin TSOT23 package, http://www.analog.com.tw/pdf/All_In_One.pdf
|
||||||
|
TSOT-23
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23-5
|
||||||
|
TSOT, 5 Pin (https://www.jedec.org/sites/default/files/docs/MO-193D.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
TSOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23-5_HandSoldering
|
||||||
|
5-pin TSOT23 package, http://cds.linear.com/docs/en/packaging/SOT_5_05-08-1635.pdf
|
||||||
|
TSOT-23-5 Hand-soldering
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23-6
|
||||||
|
TSOT, 6 Pin (https://www.jedec.org/sites/default/files/docs/MO-193D.pdf variant AA), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
TSOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23-6_HandSoldering
|
||||||
|
6-pin TSOT23 package, http://cds.linear.com/docs/en/packaging/SOT_6_05-08-1636.pdf
|
||||||
|
TSOT-23-6 MK06A TSOT-6 Hand-soldering
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23-8
|
||||||
|
TSOT, 8 Pin (https://www.jedec.org/sites/default/files/docs/MO-193D.pdf variant BA), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||||
|
TSOT TO_SOT_SMD
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23-8_HandSoldering
|
||||||
|
8-pin TSOT23 package, http://cds.linear.com/docs/en/packaging/SOT_8_05-08-1637.pdf
|
||||||
|
TSOT-23-8 Hand-soldering
|
||||||
|
0
|
||||||
|
8
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
TSOT-23_HandSoldering
|
||||||
|
5-pin TSOT23 package, http://cds.linear.com/docs/en/packaging/SOT_5_05-08-1635.pdf
|
||||||
|
TSOT-23 Hand-soldering
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_DRT-3
|
||||||
|
Texas Instrument DRT-3 1x0.8mm Pitch 0.7mm http://www.ti.com/lit/ds/symlink/tpd2eusb30.pdf
|
||||||
|
DRT-3 1x0.8mm Pitch 0.7mm
|
||||||
|
0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_NDQ
|
||||||
|
Texas Instruments, NDQ, 5 pin (https://www.ti.com/lit/ml/mmsf022/mmsf022.pdf)
|
||||||
|
ti pfm dap
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_NDW-7_TabPin4
|
||||||
|
NDW0007A SMD package, http://www.ti.com/lit/ml/mmsf024/mmsf024.pdf
|
||||||
|
NDW NDW
|
||||||
|
0
|
||||||
|
12
|
||||||
|
7
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_NDW-7_TabPin8
|
||||||
|
NDW0007A SMD package, http://www.ti.com/lit/ml/mmsf024/mmsf024.pdf
|
||||||
|
NDW NDW
|
||||||
|
0
|
||||||
|
12
|
||||||
|
8
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_NDY0011A
|
||||||
|
TO-PMOD-11 11-pin switching regulator package, http://www.ti.com/lit/ml/mmsf025/mmsf025.pdf
|
||||||
|
Texas TO-PMOD NDY00011A
|
||||||
|
0
|
||||||
|
12
|
||||||
|
12
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_R-PDSO-G5_DCK-5
|
||||||
|
DCK R-PDSO-G5, JEDEC MO-203C Var AA, https://www.ti.com/lit/ds/symlink/tmp20.pdf#page=23
|
||||||
|
DCK R-PDSO-G5 MO-203C
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_R-PDSO-G6
|
||||||
|
R-PDSO-G6, http://www.ti.com/lit/ds/slis144b/slis144b.pdf
|
||||||
|
R-PDSO-G6 SC-70-6
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_R-PDSO-N5_DRL-5
|
||||||
|
R-PDSO-N5, DRL, JEDEC MO-293B Var UAAD-1, https://www.ti.com/lit/ml/mpds158d/mpds158d.pdf
|
||||||
|
SOT R-PDSO-N5 DRL
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Texas_R-PDSO-N6_DRL-6
|
||||||
|
R-PDSO-N6, DRL, similar to JEDEC MO-293B Var UAAD (but not the same) , https://www.ti.com/lit/pdf/mpds159f
|
||||||
|
SOT R-PDSO-N6 DRL
|
||||||
|
0
|
||||||
|
6
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
VSOF5
|
||||||
|
VSOF5
|
||||||
|
VSOF5
|
||||||
|
0
|
||||||
|
5
|
||||||
|
5
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Vishay_PowerPAK_SC70-6L_Dual
|
||||||
|
Vishay PowerPAK SC70 dual transistor package http://www.vishay.com/docs/70487/70487.pdf
|
||||||
|
powerpak sc70 sc-70 dual
|
||||||
|
0
|
||||||
|
8
|
||||||
|
6
|
||||||
|
Package_TO_SOT_SMD
|
||||||
|
Vishay_PowerPAK_SC70-6L_Single
|
||||||
|
Vishay PowerPAK SC70 single transistor package http://www.vishay.com/docs/70486/70486.pdf
|
||||||
|
powerpak sc70 sc-70
|
||||||
|
0
|
||||||
|
6
|
||||||
|
3
|
3
pcb/mainboard_lite/fp-lib-table
Executable file
3
pcb/mainboard_lite/fp-lib-table
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
(fp_lib_table
|
||||||
|
(lib (name "footprints")(type "KiCad")(uri "${KIPRJMOD}/../common/footprints.pretty")(options "")(descr ""))
|
||||||
|
)
|
3513
pcb/mainboard_lite/fpga.kicad_sch
Normal file
3513
pcb/mainboard_lite/fpga.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
5262
pcb/mainboard_lite/fpga_ddr.kicad_sch
Normal file
5262
pcb/mainboard_lite/fpga_ddr.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
3695
pcb/mainboard_lite/mcu.kicad_sch
Normal file
3695
pcb/mainboard_lite/mcu.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
57245
pcb/mainboard_lite/pcb.kicad_pcb
Normal file
57245
pcb/mainboard_lite/pcb.kicad_pcb
Normal file
File diff suppressed because it is too large
Load diff
77
pcb/mainboard_lite/pcb.kicad_prl
Executable file
77
pcb/mainboard_lite/pcb.kicad_prl
Executable file
|
@ -0,0 +1,77 @@
|
||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"active_layer": 37,
|
||||||
|
"active_layer_preset": "",
|
||||||
|
"auto_track_width": true,
|
||||||
|
"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": false,
|
||||||
|
"graphics": false,
|
||||||
|
"keepouts": false,
|
||||||
|
"lockedItems": true,
|
||||||
|
"otherItems": false,
|
||||||
|
"pads": false,
|
||||||
|
"text": true,
|
||||||
|
"tracks": false,
|
||||||
|
"vias": false,
|
||||||
|
"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": "00090e0_80000001",
|
||||||
|
"zone_display_mode": 0
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "pcb.kicad_prl",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"files": []
|
||||||
|
}
|
||||||
|
}
|
692
pcb/mainboard_lite/pcb.kicad_pro
Executable file
692
pcb/mainboard_lite/pcb.kicad_pro
Executable file
|
@ -0,0 +1,692 @@
|
||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"3dviewports": [],
|
||||||
|
"design_settings": {
|
||||||
|
"defaults": {
|
||||||
|
"board_outline_line_width": 0.049999999999999996,
|
||||||
|
"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.09999999999999999,
|
||||||
|
"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.12,
|
||||||
|
"silk_text_italic": false,
|
||||||
|
"silk_text_size_h": 0.7,
|
||||||
|
"silk_text_size_v": 0.7,
|
||||||
|
"silk_text_thickness": 0.09999999999999999,
|
||||||
|
"silk_text_upright": false,
|
||||||
|
"zones": {
|
||||||
|
"45_degree_only": false,
|
||||||
|
"min_clearance": 0.15
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": "warning",
|
||||||
|
"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_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": "error",
|
||||||
|
"silk_overlap": "error",
|
||||||
|
"skew_out_of_range": "error",
|
||||||
|
"solder_mask_bridge": "error",
|
||||||
|
"starved_thermal": "error",
|
||||||
|
"text_height": "warning",
|
||||||
|
"text_thickness": "warning",
|
||||||
|
"through_hole_pad_without_hole": "error",
|
||||||
|
"too_many_vias": "error",
|
||||||
|
"track_dangling": "warning",
|
||||||
|
"track_width": "error",
|
||||||
|
"tracks_crossing": "error",
|
||||||
|
"unconnected_items": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"via_dangling": "warning",
|
||||||
|
"zones_intersect": "error"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"allow_blind_buried_vias": false,
|
||||||
|
"allow_microvias": false,
|
||||||
|
"max_error": 0.005,
|
||||||
|
"min_clearance": 0.0,
|
||||||
|
"min_connection": 0.0,
|
||||||
|
"min_copper_edge_clearance": 0.3,
|
||||||
|
"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.7,
|
||||||
|
"min_text_thickness": 0.08,
|
||||||
|
"min_through_hole_diameter": 0.3,
|
||||||
|
"min_track_width": 0.09999999999999999,
|
||||||
|
"min_via_annular_width": 0.049999999999999996,
|
||||||
|
"min_via_diameter": 0.44999999999999996,
|
||||||
|
"solder_mask_clearance": 0.0,
|
||||||
|
"solder_mask_min_width": 0.0,
|
||||||
|
"solder_mask_to_copper_clearance": 0.0,
|
||||||
|
"use_height_for_length_calcs": true
|
||||||
|
},
|
||||||
|
"teardrop_options": [
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 5,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_onpadsmd": true,
|
||||||
|
"td_onroundshapesonly": false,
|
||||||
|
"td_ontrackend": false,
|
||||||
|
"td_onviapad": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"teardrop_parameters": [
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_round_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_rect_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_track_end",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"track_widths": [
|
||||||
|
0.0,
|
||||||
|
0.1,
|
||||||
|
0.11,
|
||||||
|
0.12,
|
||||||
|
0.13,
|
||||||
|
0.15,
|
||||||
|
0.2,
|
||||||
|
0.3,
|
||||||
|
0.5,
|
||||||
|
0.6,
|
||||||
|
1.0,
|
||||||
|
1.5,
|
||||||
|
2.0
|
||||||
|
],
|
||||||
|
"via_dimensions": [
|
||||||
|
{
|
||||||
|
"diameter": 0.0,
|
||||||
|
"drill": 0.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"diameter": 0.46,
|
||||||
|
"drill": 0.2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"zones_allow_external_fillets": false,
|
||||||
|
"zones_use_no_outline": true
|
||||||
|
},
|
||||||
|
"layer_presets": [],
|
||||||
|
"viewports": []
|
||||||
|
},
|
||||||
|
"boards": [],
|
||||||
|
"cvpcb": {
|
||||||
|
"equivalence_files": []
|
||||||
|
},
|
||||||
|
"erc": {
|
||||||
|
"erc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"pin_map": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rule_severities": {
|
||||||
|
"bus_definition_conflict": "error",
|
||||||
|
"bus_entry_needed": "error",
|
||||||
|
"bus_to_bus_conflict": "error",
|
||||||
|
"bus_to_net_conflict": "error",
|
||||||
|
"conflicting_netclasses": "error",
|
||||||
|
"different_unit_footprint": "error",
|
||||||
|
"different_unit_net": "error",
|
||||||
|
"duplicate_reference": "error",
|
||||||
|
"duplicate_sheet_names": "error",
|
||||||
|
"endpoint_off_grid": "warning",
|
||||||
|
"extra_units": "error",
|
||||||
|
"global_label_dangling": "warning",
|
||||||
|
"hier_label_mismatch": "error",
|
||||||
|
"label_dangling": "error",
|
||||||
|
"lib_symbol_issues": "warning",
|
||||||
|
"missing_bidi_pin": "warning",
|
||||||
|
"missing_input_pin": "warning",
|
||||||
|
"missing_power_pin": "error",
|
||||||
|
"missing_unit": "warning",
|
||||||
|
"multiple_net_names": "warning",
|
||||||
|
"net_not_bus_member": "warning",
|
||||||
|
"no_connect_connected": "warning",
|
||||||
|
"no_connect_dangling": "warning",
|
||||||
|
"pin_not_connected": "error",
|
||||||
|
"pin_not_driven": "error",
|
||||||
|
"pin_to_pin": "warning",
|
||||||
|
"power_pin_not_driven": "error",
|
||||||
|
"similar_labels": "warning",
|
||||||
|
"simulation_model_issue": "error",
|
||||||
|
"unannotated": "error",
|
||||||
|
"unit_value_mismatch": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"wire_dangling": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"pinned_footprint_libs": [],
|
||||||
|
"pinned_symbol_libs": []
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "pcb.kicad_pro",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_settings": {
|
||||||
|
"classes": [
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.11,
|
||||||
|
"diff_pair_gap": 0.1,
|
||||||
|
"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.11,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.11,
|
||||||
|
"diff_pair_gap": 0.11,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.15,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "DP",
|
||||||
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.15,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.11,
|
||||||
|
"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": "EPD",
|
||||||
|
"pcb_color": "rgb(255, 0, 191)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.11,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.11,
|
||||||
|
"diff_pair_gap": 0.11,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.15,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "LVDS",
|
||||||
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.15,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.1,
|
||||||
|
"diff_pair_gap": 0.1,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.1,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "SDRAM_A",
|
||||||
|
"pcb_color": "rgb(103, 255, 0)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.1,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.1,
|
||||||
|
"diff_pair_gap": 0.1,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.1,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "SDRAM_H",
|
||||||
|
"pcb_color": "rgb(255, 252, 0)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.1,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.1,
|
||||||
|
"diff_pair_gap": 0.1,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.1,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "SDRAM_L",
|
||||||
|
"pcb_color": "rgb(255, 131, 3)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.1,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.11,
|
||||||
|
"diff_pair_gap": 0.11,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.18,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "USB",
|
||||||
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.15,
|
||||||
|
"via_diameter": 0.45,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"net_colors": {
|
||||||
|
"+1V0": "rgb(255, 92, 56)",
|
||||||
|
"+1V35": "rgb(185, 61, 143)",
|
||||||
|
"+3V3": "rgb(179, 228, 50)",
|
||||||
|
"+5V": "rgb(255, 122, 107)",
|
||||||
|
"GND": "rgb(0, 94, 255)"
|
||||||
|
},
|
||||||
|
"netclass_assignments": null,
|
||||||
|
"netclass_patterns": [
|
||||||
|
{
|
||||||
|
"netclass": "EPD",
|
||||||
|
"pattern": "/eink/ED*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"netclass": "EPD",
|
||||||
|
"pattern": "EPDC_*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"netclass": "SDRAM_A",
|
||||||
|
"pattern": "/fpga_ddr/DRAM_*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"netclass": "EPD",
|
||||||
|
"pattern": "/eink/ES*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"netclass": "LVDS",
|
||||||
|
"pattern": "TMDS*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"pcbnew": {
|
||||||
|
"last_paths": {
|
||||||
|
"gencad": "",
|
||||||
|
"idf": "",
|
||||||
|
"netlist": "",
|
||||||
|
"specctra_dsn": "",
|
||||||
|
"step": "",
|
||||||
|
"vrml": ""
|
||||||
|
},
|
||||||
|
"page_layout_descr_file": ""
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"annotate_start_num": 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,
|
||||||
|
"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_voltages": false,
|
||||||
|
"subpart_first_id": 65,
|
||||||
|
"subpart_id_separator": 0
|
||||||
|
},
|
||||||
|
"sheets": [
|
||||||
|
[
|
||||||
|
"4654897e-3e2f-4522-96c3-20b19803c088",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"0606a719-6980-4867-837f-aa642737d361",
|
||||||
|
"power"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"35d2a4e1-1cb2-4b6c-a7fb-e3a9449d4ff3",
|
||||||
|
"fpga"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"b1d5941d-0481-47a2-a434-0b8e587a166a",
|
||||||
|
"eink"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"866a5b4a-453a-413a-94a2-5e610f40d8dd",
|
||||||
|
"fpga_ddr"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"80373716-d41f-4f06-92dd-577434075703",
|
||||||
|
"dp_in"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"d0757a0a-c868-475e-8221-24a5e99d32b9",
|
||||||
|
"mcu"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text_variables": {}
|
||||||
|
}
|
144
pcb/mainboard_lite/pcb.kicad_sch
Normal file
144
pcb/mainboard_lite/pcb.kicad_sch
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
(kicad_sch (version 20230121) (generator eeschema)
|
||||||
|
|
||||||
|
(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" (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 "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 "TMDS 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 53.34 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 53.34 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 53.34 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 "5"))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(sheet (at 33.02 62.23) (size 53.34 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 "4"))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(sheet (at 33.02 50.8) (size 53.34 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 53.34 6.35) (fields_autoplaced)
|
||||||
|
(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 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 "6"))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(sheet_instances
|
||||||
|
(path "/" (page "0"))
|
||||||
|
)
|
||||||
|
)
|
5455
pcb/mainboard_lite/power.kicad_sch
Normal file
5455
pcb/mainboard_lite/power.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
4
pcb/mainboard_lite/sym-lib-table
Executable file
4
pcb/mainboard_lite/sym-lib-table
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
(sym_lib_table
|
||||||
|
(version 7)
|
||||||
|
(lib (name "symbols")(type "KiCad")(uri "${KIPRJMOD}/../common/symbols.kicad_sym")(options "")(descr ""))
|
||||||
|
)
|
Loading…
Reference in a new issue