Compare commits

...

171 commits

Author SHA1 Message Date
e7f4a4ec57
Merge branch 'dev' 2023-03-11 12:55:57 +01:00
ce38e34051
Add UI presentation 2023-02-12 16:58:46 +01:00
ea3f815e3e
Add files via upload 2023-02-12 16:54:51 +01:00
12da5957b8
Switch default mux position 2022-09-20 20:44:47 +02:00
14846e5aa5
Restructure communication protocol 2022-09-20 18:58:26 +02:00
3adb5c576f
Add eeprom
Eeproms outlive flash, which quickly dies during light state preservation.
2022-09-17 17:29:23 +02:00
4f84fc650f
Fix first pcb batch issues
Reassign input only pins, external uart connected to flash spi & mux blocking uart access
2022-09-17 17:07:48 +02:00
6b4c24783e
Add hex prefix 2022-04-19 23:52:45 +02:00
740abd951d
Add safe clearBuffer websocket method 2022-04-13 19:09:03 +02:00
d285387f38
Implement websocket receive 2022-04-13 18:42:39 +02:00
833cc5bbd9
Change hostname 2022-04-11 21:52:26 +02:00
0c72169217
Change app icon 2022-04-11 21:50:55 +02:00
44af7e0559
Update communication.md 2022-04-11 21:08:16 +02:00
34daed07d8
Fix table header 2022-04-11 19:40:06 +02:00
4c45934128
Add first communication protocol draft 2022-04-11 19:16:49 +02:00
1abc699b07
Make code more readable 2022-04-11 16:33:27 +02:00
31c864f140
First bluetooth connection proof-of-concept 2022-04-11 16:32:50 +02:00
db72525fd4
Implement first demo UI 2022-04-11 13:22:08 +02:00
9834c36baf
Update com port 2022-04-10 22:14:02 +02:00
c2bc691f17
Fix pincommit not working after setup 2022-04-10 22:13:39 +02:00
3256739198
Reorder ids to match physical layout 2022-04-10 22:13:06 +02:00
0f2ff182fb
Fix pinmapping 2022-04-10 22:12:40 +02:00
16dd8835a5
Initial Android commit 2022-04-10 18:28:07 +02:00
1a5cade5ab
Set hostname 2022-04-10 18:21:11 +02:00
3fd486659e
Fix ci build error fix 2022-04-10 18:16:03 +02:00
c98249a9a0
Remove interactive bom 2022-04-10 18:14:08 +02:00
d353e4fa62
Fix CI Build fail due to missing credentials 2022-04-10 18:12:58 +02:00
6bbcb0c116
Remove interactive ibom 2022-04-10 17:58:53 +02:00
d210a5c30e
Remove unused script 2022-04-10 17:57:18 +02:00
504e0c3825
Implement WiFi connection timeout 2022-04-10 17:56:23 +02:00
4946080c19
Make loop more readable 2022-04-10 17:47:07 +02:00
887b64ddf2
Fix 'Too many messages queued' 2022-04-10 17:20:40 +02:00
f2a290af30
Fix gitignore credentials header file 2022-04-10 17:16:00 +02:00
8c515fa156
First rough implementation of websockets 2022-04-10 17:12:44 +02:00
3c163a8f15
Remove duplicate code 2022-04-10 16:20:26 +02:00
fc1ca449d9
Break apart StreamCommunicator into subclass 2022-04-10 11:50:44 +02:00
0ee41404e9
Implement Bluetooth 2022-04-10 10:27:35 +02:00
6c2f39a4ea
Fix eeprom on esp32 2022-04-10 10:10:56 +02:00
57850dd0d9
Port to esp32 2022-04-09 21:31:18 +02:00
2954c30578
Fix broken readme logo 2022-04-09 20:11:16 +02:00
56a07d7b1b
Improve repo directory structure 2022-04-09 20:07:19 +02:00
b88a844136
Remove renovate config 2022-04-09 19:56:03 +02:00
75839f9487
Prepare v2.2.1 release 2022-04-04 20:00:58 +02:00
dca7cbb8fd
Remove sqlite3 dependency 2022-04-04 20:00:26 +02:00
3ce9beea66
Upgrade dependencies 2022-04-04 19:39:51 +02:00
77de12fb39
Disable port selection when connected 2022-04-04 19:32:14 +02:00
19d4d2c426
Disable Connect/Disconnect buttons when not in use 2022-04-04 19:25:16 +02:00
efd71d6989
CodeQL exceptions for interactive bom 2022-03-18 22:56:27 +01:00
9466086de0
Specify JLCPCB order number location 2022-03-17 17:40:43 +01:00
289c9f11c3
Plot gerber files 2022-03-17 17:01:42 +01:00
01a261b8c5
Add interactive bom 2022-03-17 17:00:59 +01:00
abc0433dd1
Finalize boards 2022-03-17 16:24:58 +01:00
eb3a0cff00
Add rough control case 2022-03-16 14:55:05 +01:00
eaf39ef2e3
Flip UART lines & fix DRC 2022-03-16 12:47:32 +01:00
a55bf239cf
Add reset feedback 2022-03-15 11:31:24 +01:00
41c9ce7474
Label improvements 2022-03-15 11:06:06 +01:00
fd07525864
Prepare v2.2.0 release 2022-03-15 09:13:55 +01:00
622afc9afb
Fix port being displayed multiple times 2022-03-15 09:08:59 +01:00
a5afa72620
Add port persistence & auto connect 2022-03-15 08:56:59 +01:00
c31b2ddf9e
Add failure notification 2022-03-15 00:14:01 +01:00
2ee4d0df48
Fix open port being discarded without closing 2022-03-14 23:49:56 +01:00
e1056637ab
Add functional settings menu 2022-03-14 23:43:31 +01:00
65c08d8d6a
First rough modal implementation 2022-03-14 21:10:32 +01:00
fa25c53b43
Add tray context menu settings entry 2022-03-14 20:20:42 +01:00
1bb9b6c5bf
Add tray status support 2022-03-14 20:17:05 +01:00
d55f68fedb
Create console layout 2022-03-14 14:52:04 +01:00
1615b6cc1b
Silkscreen arrangements & labels 2022-03-11 14:18:35 +01:00
72604072cd
Finalize rgb led footprint 2022-03-11 13:54:27 +01:00
6c995ab2d0
Position branding 2022-03-09 17:30:43 +01:00
3d36ed364b
First overhauled pcb layout 2022-03-09 17:25:04 +01:00
f2bf49e0eb
Update PCB 2022-03-09 15:42:37 +01:00
b3bb6c71ae
Update PCB 2022-03-09 15:41:54 +01:00
7d08a598a4
Decrease pulldown resistor value 2022-03-09 15:23:03 +01:00
7501e3e6f0
Update footprints 2022-03-09 15:20:54 +01:00
62ac0dc853
Remove usb resistors 2022-03-09 15:04:46 +01:00
652610c51a
Update footprint assignment 2022-03-09 14:53:25 +01:00
4a22a31e8b
Add led footprint 2022-03-09 14:53:10 +01:00
48b913a2fa
Remove esd ic 2022-03-09 14:28:40 +01:00
994967ff2a
Switch status led to rgb 2022-03-09 14:25:58 +01:00
7ea49719de
Remove power led 2022-03-09 14:23:03 +01:00
ec98036d43
Switch mux 2022-03-09 13:40:07 +01:00
0f0e34d68f
Add resistor to TX 2022-03-09 12:19:22 +01:00
cb26271397
Fix auto flashing bce direction 2022-03-09 12:15:38 +01:00
69b41893a0
Remove unnecessary old versions 2022-03-09 12:06:14 +01:00
b7fbc548f9
Fix polarity of rgb led 2022-03-09 12:02:17 +01:00
c4aa6b72cf
Minor fixes 2022-03-09 11:49:57 +01:00
7e2ee88271
Switch to esp32 2022-03-08 19:08:57 +01:00
e2bdc6816d
Fix rst label 2022-03-08 19:07:26 +01:00
319536ddbf
Annotate new components 2022-03-08 16:09:26 +01:00
bbd5c919a9
Switch to esp32 due to chip shortage 2022-03-08 16:04:55 +01:00
4013b32113
Remove unnecessary solder jumper 2022-03-07 13:11:21 +01:00
3f6fcdb0b2
Fix 3d model path after kicad upgrade 2022-03-07 13:10:41 +01:00
8aa8b61640
Add branding 2022-03-07 13:06:08 +01:00
13852adf27
Merge branch 'master' into dev-pcb-rework 2022-03-07 12:49:38 +01:00
0d5d4e2cf4
Merge pull request #92 from GHOSCHT/imgbot
[ImgBot] Optimize images
2022-03-07 12:40:04 +01:00
845a582da3
Update Branding 2022-03-07 12:38:48 +01:00
31be6ac8e7
Remove icon link 2022-03-07 12:35:42 +01:00
ImgBotApp
8647a196bd
[ImgBot] Optimize images
*Total -- 143.60kb -> 89.65kb (37.57%)

/Dashboard/assets/icons/png/512x512.png -- 27.73kb -> 14.53kb (47.59%)
/Dashboard/assets/icons/png/1024x1024.png -- 58.76kb -> 31.00kb (47.24%)
/Dashboard/assets/icons/png/256x256.png -- 12.19kb -> 6.75kb (44.64%)
/Dashboard/assets/icons/png/128x128.png -- 4.68kb -> 3.32kb (29.06%)
/Dashboard/assets/icons/Icon.png -- 36.93kb -> 31.03kb (15.98%)
/Dashboard/assets/knob/Knob.svg -- 1.56kb -> 1.34kb (13.75%)
/Dashboard/assets/icons/png/64x64.png -- 1.75kb -> 1.67kb (4.74%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-03-07 11:35:00 +00:00
7e5c412c3a
Update icon color scheme 2022-03-07 12:33:38 +01:00
3b482862ad
Readd mistakenly removed dependency 2022-03-07 12:26:50 +01:00
bb51c68f59
Update Dashboard icon 2022-03-07 12:23:47 +01:00
858857bb4c
Add Logo 2022-03-07 12:23:27 +01:00
e24fa2db75
Center icon 2022-03-07 12:16:54 +01:00
0ae87018a5
Merge branch 'master' of https://github.com/GHOSCHT/heliox 2022-03-07 12:15:10 +01:00
04b7ea8dc9
Rename icon project file 2022-03-07 12:14:58 +01:00
0e21eadcbb
Update color scheme 2022-03-07 12:13:39 +01:00
edd593af06
Change back to windows-2019
Build failing after updating latest to windows-2022
2022-03-07 11:58:56 +01:00
a7c05ad944
Remove unused dependencies 2022-03-07 11:46:44 +01:00
6e4db32734
Update dependencies 2022-03-07 11:28:43 +01:00
ce1b7869f7
Readd npm version ranges 2022-03-07 11:26:02 +01:00
d319f84994
Delete Control-2022-03-07_101538.zip 2022-03-07 11:14:49 +01:00
fbb08eaad6
Delete Control-2022-03-07_104047.zip 2022-03-07 11:14:43 +01:00
bbc9897636
Delete Control-2022-03-07_105306.zip 2022-03-07 11:14:39 +01:00
b6f6faaa82
Delete Control-2022-03-07_104723.zip 2022-03-07 11:14:34 +01:00
60942356dc
Delete Control-2022-03-07_110134.zip 2022-03-07 11:14:29 +01:00
f10b78dcd6
Delete Control-2022-03-07_100808.zip 2022-03-07 11:14:21 +01:00
cf58529f9c
Delete #auto_saved_files# 2022-03-07 11:14:04 +01:00
739fdaf022
Update readme 2022-03-07 11:13:42 +01:00
f651cd6169
Update readme 2022-03-07 11:10:49 +01:00
656ac46117
Add debugging pin footprint 2022-03-07 11:03:37 +01:00
397a5f821c
Remove unnecessary multiplexer 2022-03-07 10:41:07 +01:00
a9080fea21
Remove I2C capability 2022-03-07 10:16:01 +01:00
04d0048966
Update project to KiCad 6 2022-03-07 09:59:39 +01:00
abdf80a641
Update project to KiCad 6 2022-03-07 09:58:25 +01:00
73f43243bf
Update project to KiCad 6 2022-03-07 09:56:51 +01:00
df767745c6
Add new icon project file 2022-03-02 20:41:56 +01:00
bb3db20a1b
Fix codacy badge link 2022-02-06 16:46:34 +01:00
961155d972
Fix codacy badge link 2022-02-06 16:46:13 +01:00
358b17ae2c
First rough sketch of the overall readme 2022-02-06 16:27:58 +01:00
6643a2952f
Readd figma badge 2022-02-06 16:21:43 +01:00
2247ce1197
Move dashboard-specific readme into matching dir 2022-02-06 16:11:01 +01:00
3e7072178e
Remove readme 2022-02-06 16:07:18 +01:00
0b8b18f294
Implement first communicator classes 2022-02-06 16:06:24 +01:00
4dbc3ab836
Remove additional buffer size check 2022-02-05 22:29:32 +01:00
73bbc2b1ca
Possibly fix buffer boundaries not being checked 2022-02-05 22:23:17 +01:00
6e96e5ca86
Remove demo because code is now in use 2022-02-05 22:12:11 +01:00
24b8c9ca40
Simplify main sketch 2022-02-05 21:05:21 +01:00
61b57c8a9e
Fix double digit numbers not being supported 2022-02-05 21:05:04 +01:00
22c93557fd
Set timeout according to parameter 2022-02-05 21:04:30 +01:00
10d4d42c7e
Add clearBuffer() function 2022-02-05 20:50:54 +01:00
55a7d2cd0c
Implement state memory 2022-02-05 20:50:33 +01:00
baf5547cbd
Seperate light control logic into own class 2022-02-05 20:09:48 +01:00
620cdd25ac
Change parameter type from pointer to array 2022-02-05 19:19:38 +01:00
3740769a01
Implement I2C communication 2022-02-05 19:15:56 +01:00
c5ef3d9366
Remove unnecessary base class 2022-02-05 19:08:51 +01:00
ce843015d6
Manage directory structure 2022-02-04 16:01:30 +01:00
2f22c89331
Fix serial port priting gibberish 2022-02-04 14:04:13 +01:00
259e74a658
Fix missing entry in vtables 2022-02-04 14:03:34 +01:00
0326e1e36e
Implement communication 2022-02-04 09:42:15 +01:00
591a8c27cd
Implement Communication object file structure 2022-02-01 23:20:04 +01:00
98bd6db4b3
Remove old, unused version 2022-01-13 14:53:40 +01:00
4c73524acf
Make icons pretty 2022-01-13 14:47:03 +01:00
9fbe336536
Recreate tray icon in Adobe Illustrator 2022-01-13 09:15:44 +01:00
e630c159c9
Add support for dynamic tray icons 2022-01-12 20:38:35 +01:00
0bd7b0fe91
Add tray icon notification assets 2022-01-11 12:02:02 +01:00
28115af7a7
Fix electron not starting due to "port overlap" 2022-01-07 10:04:52 +01:00
0d70b39024
Add serial communication demo 2022-01-01 22:12:48 +01:00
072335b8bd
Add initial state to message 2022-01-01 10:32:48 +01:00
0c914a3dfe
Readd complex connection logic 2021-12-31 23:38:10 +01:00
0c270ee199
Hook up disconnect to UI button 2021-12-31 23:37:46 +01:00
0c41a85733
Hook up interface to serial connection 2021-12-31 23:11:00 +01:00
a7af6cc8de
First implementation of connection in middleware 2021-12-31 22:48:00 +01:00
e9364c73bf
Simplify class usage 2021-12-31 22:18:35 +01:00
1826475284
Comment out currently unused code 2021-12-31 22:09:45 +01:00
ef131929b9
Switch to integrated redux devtools 2021-12-31 22:09:29 +01:00
42abc1b572
Remove unnecessary code 2021-12-31 21:46:45 +01:00
b7fb224442
Move to separate directory 2021-12-31 21:46:24 +01:00
24c578503d
Transform reducers to slices 2021-12-31 21:40:48 +01:00
0f2365e997
First switch to redux-toolkit 2021-12-31 21:21:34 +01:00
8394ed3e7f
Update README.md 2021-12-30 12:06:21 +01:00
5e20539202
Update README.md 2021-12-30 12:05:25 +01:00
328 changed files with 949931 additions and 208485 deletions

6
.github/codeql/codeql-config.yml vendored Normal file
View file

@ -0,0 +1,6 @@
name: "CodeQL config"
paths-ignore:
- modules/switching-module/Hardware/Circuit/bom
- modules/control/Hardware/Circuit/bom
- modules/console/Hardware/Circuit/bom

View file

@ -8,7 +8,7 @@ on:
jobs:
build:
runs-on: windows-latest
runs-on: windows-2019
strategy:
matrix:
@ -23,6 +23,6 @@ jobs:
- name: Fix node-gyp
run: npm config set msbuild_path "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe"
- name: Install dependencies
run: cd Dashboard && yarn --network-timeout 1000000000
run: cd ./modules/dashboard && yarn --network-timeout 1000000000
- name: Build
run: cd Dashboard && yarn build
run: cd ./modules/dashboard && yarn build

View file

@ -31,6 +31,6 @@ jobs:
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Build console
run: pio run --project-dir "./Devices/Console/Firmware"
run: pio run --project-dir "./modules/console/Firmware"
- name: Build control
run: pio run --project-dir "./Devices/Control/Firmware"
run: pio run -e CI_Build --project-dir "./modules/control/Firmware"

View file

@ -13,12 +13,12 @@ name: "CodeQL"
on:
push:
branches: [ master ]
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches: [master]
schedule:
- cron: '42 21 * * 5'
- cron: "42 21 * * 5"
jobs:
analyze:
@ -32,7 +32,7 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'cpp', 'javascript', 'python' ]
language: ["cpp", "javascript", "python"]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
@ -46,6 +46,7 @@ jobs:
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/codeql-config.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
@ -60,8 +61,8 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
pio run --project-dir "./Devices/Console/Firmware"
pio run --project-dir "./Devices/Control/Firmware"
pio run --project-dir "./modules/console/Firmware"
pio run -e CI_Build --project-dir "./modules/control/Firmware"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View file

@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn --cwd ./Dashboard run lint
yarn --cwd ./modules/dashboard run lint

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -1,38 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 141.73 141.73">
<defs>
<style>
.cls-1 {
fill: #545353;
}
.cls-2 {
font-size: 20px;
fill: #fff;
font-family: SegoeUI-Bold, Segoe UI;
font-weight: 700;
}
.cls-3 {
fill: #2f6087;
}
</style>
</defs>
<title>Knob</title>
<g id="Base">
<path class="cls-1" d="M352.12,273A70.87,70.87,0,1,0,423,343.84,70.86,70.86,0,0,0,352.12,273Zm0,120.48a49.61,49.61,0,1,1,49.61-49.61A49.61,49.61,0,0,1,352.12,393.45Z" transform="translate(-281.26 -272.97)"/>
</g>
<g id="Status">
<text class="cls-2" transform="translate(53.61 77.41)">255</text>
</g>
<g id="Overlay">
<g>
<path class="cls-3" d="M363.54,295.57" transform="translate(-281.26 -272.97)"/>
<path class="cls-3" d="M363.54,295.57a49.44,49.44,0,0,0-11.42-1.34" transform="translate(-281.26 -272.97)"/>
<path class="cls-3" d="M352.12,294.23" transform="translate(-281.26 -272.97)"/>
<path class="cls-3" d="M368.76,275l-.33-.1v0Z" transform="translate(-281.26 -272.97)"/>
<polygon class="cls-3" points="87.18 1.89 87.18 1.89 87.17 1.91 87.17 1.91 87.18 1.89"/>
<polygon class="cls-3" points="82.28 22.58 87.17 1.91 87.17 1.91 82.28 22.58 82.28 22.58"/>
<path class="cls-3" d="M368.76,275l-.33-.08A71.24,71.24,0,0,0,352.12,273a10.71,10.71,0,0,0-10.53,10.73,10.53,10.53,0,0,0,10.53,10.53,49.44,49.44,0,0,1,11.42,1.34v0a10.33,10.33,0,0,0,12.56-7.68A10.79,10.79,0,0,0,368.76,275Z" transform="translate(-281.26 -272.97)"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,3 +0,0 @@
!macro customInstall
CreateShortcut "$SMSTARTUP\Light Control.lnk" "$INSTDIR\Light Control.exe"
!macroend

View file

@ -1,67 +0,0 @@
import React, { useEffect, useState } from "react";
import { useSelector } from "react-redux";
import styled from "styled-components";
import { RootState } from "typesafe-actions";
import Knob from "./Knob";
const KnobContainer = styled.div`
display: flex;
justify-content: space-between;
margin: 1rem;
`;
const KnobSection = () => {
const [status, setStatus] = useState([{ id: 0, value: 0 }, { id: 1, value: 0 }, { id: 2, value: 0 }, { id: 3, value: 0 }]);
const serialConnection = useSelector<RootState, RootState["serialConnection"]>((state) => state.serialConnection);
const SerialDataListener = (data: string) => {
const parsedData = data.split(",");
console.log(parsedData);
setStatus(status.map((element) => ({ ...element, value: parseInt(parsedData[element.id], 10) })));
};
useEffect(() => {
if (serialConnection.portController !== null) {
serialConnection.portController.parser.on("data", SerialDataListener);
}
return () => {
if (serialConnection.portController !== null) {
serialConnection.portController.parser.removeListener("data", SerialDataListener);
}
};
}, [serialConnection]);
const sendIncreaseHandler = (index: number) => {
if (serialConnection.portController !== null && serialConnection.portController.port !== null) {
serialConnection.portController.port.write(`${index}i`);
}
};
const sendDecreaseHandler = (index: number) => {
if (serialConnection.portController !== null && serialConnection.portController.port !== null) {
serialConnection.portController.port.write(`${index}d`);
}
};
const sendToggleHandler = (index: number) => {
if (serialConnection.portController !== null && serialConnection.portController.port !== null) {
serialConnection.portController.port.write(`${index}t`);
}
};
return (
<KnobContainer>
{status.map((element) => (
<Knob
key={element.id}
increase={() => { sendIncreaseHandler(element.id); }}
decrease={() => { sendDecreaseHandler(element.id); }}
toggle={() => { sendToggleHandler(element.id); }}
status={Math.floor((element.value / 255) * 100)}
/>
))}
</KnobContainer>
);
};
export default KnobSection;

View file

@ -1,43 +0,0 @@
import { ThunkResult } from "typesafe-actions";
import {
connectionStart, connectionSuccess, connectionFailure, setPortController, connectionEnd,
} from "./serialConnectionActions";
import PortController from "../../PortController";
const connect = (): ThunkResult<void> => async (dispatch, getState) => {
const state = getState();
dispatch(connectionStart());
if (state.serialConnection.port === null) {
dispatch(connectionFailure(new Error("No Serial Port set")));
return;
}
const controller = new PortController();
controller.create(state.serialConnection.port);
dispatch(setPortController(controller));
controller.open((error) => {
if (error === null || error === undefined) {
dispatch(connectionSuccess());
} else {
dispatch(connectionFailure(error));
}
}, (error) => {
if (error !== null && error !== undefined) {
if (error.message === "Reading from COM port (ReadIOCompletion): Access denied") {
dispatch(connectionFailure(new Error(`Device ${state.serialConnection.port} disconnected`)));
dispatch(connectionEnd());
}
}
});
};
const disconnect = (): ThunkResult<void> => async (dispatch, getState) => {
const state = getState();
state.serialConnection.portController?.close();
dispatch(connectionEnd());
};
export { connect, disconnect };

View file

@ -1,23 +0,0 @@
import { action } from "typesafe-actions";
import PortController from "../../PortController";
export enum SerialConnectionActionTypes {
SET_SERIAL_PORT = "SET_SERIAL_PORT",
CONNECTION_START = "CONNECTION_START",
CONNECTION_SUCCESS = "CONNECTION_SUCCESS",
CONNECTION_FAILURE = "CONNECTION_FAILURE",
CONNECTION_END = "CONNECTION_END",
SET_PORT_CONTROLLER = "SET_PORT_CONTROLLER"
}
export const setSerialPort = (port: string) => action(SerialConnectionActionTypes.SET_SERIAL_PORT, port);
export const connectionStart = () => action(SerialConnectionActionTypes.CONNECTION_START);
export const connectionSuccess = () => action(SerialConnectionActionTypes.CONNECTION_SUCCESS);
export const connectionFailure = (error: Error) => action(SerialConnectionActionTypes.CONNECTION_FAILURE, error);
export const connectionEnd = () => action(SerialConnectionActionTypes.CONNECTION_END);
export const setPortController = (controller: PortController) => action(SerialConnectionActionTypes.SET_PORT_CONTROLLER, controller);

View file

@ -1,58 +0,0 @@
import { createReducer } from "typesafe-actions";
import ISerialConnectionState from "../../interfaces/ISerialConnectionState";
import { SerialConnectionActionTypes } from "../actions/serialConnectionActions";
const initialState: ISerialConnectionState = {
port: null,
portController: null,
status: {
connecting: false,
connected: false,
error: null,
},
};
const SerialConnectionReducer = createReducer(initialState)
.handleType(SerialConnectionActionTypes.SET_SERIAL_PORT, (state, action) => ({
...state,
port: action.payload,
}))
.handleType(SerialConnectionActionTypes.CONNECTION_START, (state) => ({
...state,
status: {
connecting: true,
connected: false,
error: null,
},
}))
.handleType(SerialConnectionActionTypes.CONNECTION_FAILURE, (state, action) => ({
...state,
status: {
connecting: false,
connected: false,
error: action.payload.message,
},
}))
.handleType(SerialConnectionActionTypes.CONNECTION_SUCCESS, (state) => ({
...state,
status: {
connecting: false,
connected: true,
error: null,
},
}))
.handleType(SerialConnectionActionTypes.CONNECTION_END, (state) => ({
...state,
portController: null,
status: {
...state.status,
connecting: false,
connected: false,
},
}))
.handleType(SerialConnectionActionTypes.SET_PORT_CONTROLLER, (state, action) => ({
...state,
portController: action.payload,
}));
export default SerialConnectionReducer;

View file

@ -1,7 +0,0 @@
import * as serialConnectionActions from "../actions/serialConnectionActions";
const rootAction = {
serialConnection: serialConnectionActions,
};
export default rootAction;

View file

@ -1,12 +0,0 @@
import { composeWithDevTools } from "remote-redux-devtools";
// Access Redux devtools via http://localhost:8000
const composeEnhancers = composeWithDevTools({
name: "Light-Control",
realtime: true,
secure: false,
hostname: "localhost",
port: 8000,
});
export default composeEnhancers;

View file

@ -1,39 +0,0 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View file

@ -1,46 +0,0 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in a an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View file

@ -1,5 +0,0 @@
*-bak
*-cache*
*-bak*
_autosave*
Gerber/*

File diff suppressed because it is too large Load diff

View file

@ -1,33 +0,0 @@
update=22/05/2015 07:44:53
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]

File diff suppressed because it is too large Load diff

View file

@ -1,33 +0,0 @@
update=22/05/2015 07:44:53
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]

File diff suppressed because it is too large Load diff

View file

@ -1,822 +0,0 @@
(pcb "D:\Dokumente\Coding\Visual Studio Code\smart-lamp-control\Devices\Console\Hardware\Circuit\Console.dsn"
(parser
(string_quote ")
(space_in_quoted_tokens on)
(host_cad "KiCad's Pcbnew")
(host_version "(5.1.10)-1")
)
(resolution um 10)
(unit um)
(structure
(layer F.Cu
(type signal)
(property
(index 0)
)
)
(layer B.Cu
(type signal)
(property
(index 1)
)
)
(boundary
(path pcb 0 197242 -126778 95238.5 -126778 95238.5 -64770 197242 -64770
197242 -126778)
)
(via "Via[0-1]_800:400_um")
(rule
(width 250)
(clearance 200.1)
(clearance 200.1 (type default_smd))
(clearance 50 (type smd_smd))
)
)
(placement
(component MountingHole:MountingHole_2.7mm_M2.5_Pad
(place PAD4 194131 -123634 front 0 (PN MountingHole_2.7mm_M2.5_Pad))
(place PAD3 98350 -123698 front 0 (PN MountingHole_2.7mm_M2.5_Pad))
(place PAD2 194131 -67881.5 front 0 (PN MountingHole_2.7mm_M2.5_Pad))
(place PAD1 98350 -67881.5 front 0 (PN MountingHole_2.7mm_M2.5_Pad))
)
(component Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder
(place C1 133414 -107188 front 0 (PN 22p))
(place C3 133540 -119126 front 0 (PN 100n))
)
(component "Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm"
(place JP8 160985 -77292.2 front 0 (PN SolderJumper))
(place JP3 160985 -72847.2 front 180 (PN SolderJumper))
(place JP10 154635 -77292.2 front 0 (PN SolderJumper))
)
(component "AVR-ISP:AVR-ISP"
(place J1 177356 -113030 front 0 (PN "AVR-ISP-6"))
)
(component Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder::1
(place C2 133414 -112904 front 0 (PN 22p))
)
(component SKRKAEE020:SKRKAEE020
(place SW5 185594 -71564.5 front 0 (PN SW_Push))
)
(component Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
(place R2 158877 -114682 front 0 (PN 200))
(place R1 158877 -119190 front 0 (PN 10k))
(place R4 161925 -82550 front 90 (PN 10k))
(place R5 155575 -82580 front 90 (PN 10k))
)
(component Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical
(place J4 153830 -123126 front 90 (PN Conn_01x04))
(place J5 178689 -123126 front 90 (PN Conn_01x04))
)
(component "Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm::1"
(place JP1 154635 -72847.2 front 180 (PN SolderJumper))
)
(component "Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm"
(place JP2 132156 -77292.2 front 0 (PN SolderJumper_Bridged))
(place JP9 132141 -72847.2 front 180 (PN SolderJumper_Bridged))
(place JP5 137871 -72847.2 front 180 (PN SolderJumper_Bridged))
)
(component LED_SMD:LED_0805_2012Metric_Castellated
(place D1 158940 -111442 front 0 (PN "17-21/BHC-XL2M2TY/3T"))
)
(component Connector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_Vertical
(place J3 108077 -123126 front 90 (PN Conn_01x13))
)
(component "Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG"
(place SW1 103124 -95773.8 front 0 (PN "PEC11R-4220F-S0012"))
(place SW3 160613 -95773.8 front 0 (PN "PEC11R-4220F-S0012"))
)
(component "Crystal:Crystal_SMD_HC49-SD_HandSoldering"
(place Y1 116459 -112966 front 0 (PN 16MHz))
)
(component "HRO_TYPE-C-31-M-12:HRO_TYPE-C-31-M-12"
(place J2 146253 -67767.2 front 180 (PN "TYPE-C-31-M-12"))
)
(component "Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm::1"
(place JP4 126441 -72847.2 front 0 (PN SolderJumper_Bridged))
(place JP6 137871 -77292.2 front 0 (PN SolderJumper_Bridged))
(place JP7 126441 -77292.2 front 180 (PN SolderJumper_Bridged))
)
(component "Package_QFP:TQFP-32_7x7mm_P0.8mm"
(place U1 146240 -113030 front 45 (PN "ATmega328PB-AU"))
)
(component "Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG::1"
(place SW2 131868 -95773.8 front 0 (PN "PEC11R-4220F-S0012"))
(place SW4 189357 -95773.8 front 0 (PN "PEC11R-4220F-S0012"))
)
(component LED_SMD:LED_0805_2012Metric_Castellated::1
(place D2 102314 -72453.5 front 180 (PN "17-21/BHC-XL2M2TY/3T"))
)
(component Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder::1
(place R3 102314 -75755.5 front 180 (PN 200))
)
(component Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder::2
(place C4 158919 -107188 front 0 (PN 100n))
)
(component Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder::2
(place R6 125730 -82550 front 90 (PN 10k))
)
)
(library
(image MountingHole:MountingHole_2.7mm_M2.5_Pad
(outline (path signal 150 2700 0 2621.54 -646.152 2390.73 -1254.75 2020.98 -1790.43
1533.78 -2222.06 957.433 -2524.54 325.449 -2680.31 -325.449 -2680.31
-957.433 -2524.54 -1533.78 -2222.06 -2020.98 -1790.43 -2390.73 -1254.75
-2621.54 -646.152 -2700 0 -2621.54 646.152 -2390.73 1254.75
-2020.98 1790.43 -1533.78 2222.06 -957.433 2524.54 -325.449 2680.31
325.449 2680.31 957.433 2524.54 1533.78 2222.06 2020.98 1790.43
2390.73 1254.75 2621.54 646.152 2700 0))
(outline (path signal 50 2950 0 2870.48 -680.317 2636.22 -1323.96 2259.83 -1896.22
1761.62 -2366.26 1168.43 -2708.74 512.262 -2905.18 -171.527 -2945.01
-846.07 -2826.07 -1475 -2554.78 -2024.41 -2145.75 -2464.69 -1621.05
-2772.09 -1008.96 -2930.05 -342.474 -2930.05 342.474 -2772.09 1008.96
-2464.69 1621.05 -2024.41 2145.75 -1475 2554.78 -846.07 2826.07
-171.527 2945.01 512.262 2905.18 1168.43 2708.74 1761.62 2366.26
2259.83 1896.22 2636.22 1323.96 2870.48 680.317 2950 0))
(pin Round[A]Pad_5400_um 1 0 0)
)
(image Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder
(outline (path signal 50 1880 -980 -1880 -980))
(outline (path signal 50 1880 980 1880 -980))
(outline (path signal 50 -1880 980 1880 980))
(outline (path signal 50 -1880 -980 -1880 980))
(outline (path signal 120 -261.252 -735 261.252 -735))
(outline (path signal 120 -261.252 735 261.252 735))
(outline (path signal 100 1000 -625 -1000 -625))
(outline (path signal 100 1000 625 1000 -625))
(outline (path signal 100 -1000 625 1000 625))
(outline (path signal 100 -1000 -625 -1000 625))
(pin RoundRect[T]Pad_1175x1450_250.951_um 1 -1037.5 0)
(pin RoundRect[T]Pad_1175x1450_250.951_um 2 1037.5 0)
)
(image "Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm"
(outline (path signal 50 1650 -1250 -1650 -1250))
(outline (path signal 50 1650 -1250 1650 1250))
(outline (path signal 50 -1650 1250 -1650 -1250))
(outline (path signal 50 -1650 1250 1650 1250))
(outline (path signal 120 -1400 1000 1400 1000))
(outline (path signal 120 1400 1000 1400 -1000))
(outline (path signal 120 1400 -1000 -1400 -1000))
(outline (path signal 120 -1400 -1000 -1400 1000))
(pin Rect[T]Pad_1000x1500_um 2 650 0)
(pin Rect[T]Pad_1000x1500_um 1 -650 0)
)
(image "AVR-ISP:AVR-ISP"
(outline (path signal 127 -3810 2540 3810 2540))
(outline (path signal 127 3810 2540 3810 -2540))
(outline (path signal 127 3810 -2540 -3810 -2540))
(outline (path signal 127 -3810 -2540 -3810 2540))
(outline (path signal 200 -3964 -2794 -4014 -2880.6 -4114 -2880.6 -4164 -2794
-4114 -2707.4 -4014 -2707.4 -3964 -2794))
(pin Round[A]Pad_1700_um 6 2540 1270)
(pin Round[A]Pad_1700_um 5 2540 -1270)
(pin Rect[A]Pad_1700x1700_um 1 -2540 -1270)
(pin Round[A]Pad_1700_um 2 -2540 1270)
(pin Round[A]Pad_1700_um 3 0 -1270)
(pin Round[A]Pad_1700_um 4 0 1270)
)
(image Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder::1
(outline (path signal 100 -1000 -625 -1000 625))
(outline (path signal 100 -1000 625 1000 625))
(outline (path signal 100 1000 625 1000 -625))
(outline (path signal 100 1000 -625 -1000 -625))
(outline (path signal 120 -261.252 735 261.252 735))
(outline (path signal 120 -261.252 -735 261.252 -735))
(outline (path signal 50 -1880 -980 -1880 980))
(outline (path signal 50 -1880 980 1880 980))
(outline (path signal 50 1880 980 1880 -980))
(outline (path signal 50 1880 -980 -1880 -980))
(pin RoundRect[T]Pad_1175x1450_250.951_um 2 1037.5 0)
(pin RoundRect[T]Pad_1175x1450_250.951_um 1 -1037.5 0)
)
(image SKRKAEE020:SKRKAEE020
(outline (path signal 100 -1950 1450 1950 1450))
(outline (path signal 100 -1950 -1450 1950 -1450))
(outline (path signal 100 -3500 -2450 -3500 2450))
(outline (path signal 100 3500 -2450 -3500 -2450))
(outline (path signal 100 3500 2450 3500 -2450))
(outline (path signal 100 -3500 2450 3500 2450))
(outline (path signal 200 -1950 -1450 -1950 1450))
(outline (path signal 200 1950 -1450 -1950 -1450))
(outline (path signal 200 1950 1450 1950 -1450))
(outline (path signal 200 -1950 1450 1950 1450))
(pin Rect[T]Pad_800x2000_um 1 -2100 0)
(pin Rect[T]Pad_800x2000_um 2 2100 0)
)
(image Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
(outline (path signal 50 1850 -950 -1850 -950))
(outline (path signal 50 1850 950 1850 -950))
(outline (path signal 50 -1850 950 1850 950))
(outline (path signal 50 -1850 -950 -1850 950))
(outline (path signal 120 -227.064 -735 227.064 -735))
(outline (path signal 120 -227.064 735 227.064 735))
(outline (path signal 100 1000 -625 -1000 -625))
(outline (path signal 100 1000 625 1000 -625))
(outline (path signal 100 -1000 625 1000 625))
(outline (path signal 100 -1000 -625 -1000 625))
(pin RoundRect[T]Pad_1200x1400_250.95_um 1 -1000 0)
(pin RoundRect[T]Pad_1200x1400_250.95_um 2 1000 0)
)
(image Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical
(outline (path signal 100 -635 1270 1270 1270))
(outline (path signal 100 1270 1270 1270 -8890))
(outline (path signal 100 1270 -8890 -1270 -8890))
(outline (path signal 100 -1270 -8890 -1270 635))
(outline (path signal 100 -1270 635 -635 1270))
(outline (path signal 120 -1330 -8950 1330 -8950))
(outline (path signal 120 -1330 -1270 -1330 -8950))
(outline (path signal 120 1330 -1270 1330 -8950))
(outline (path signal 120 -1330 -1270 1330 -1270))
(outline (path signal 120 -1330 0 -1330 1330))
(outline (path signal 120 -1330 1330 0 1330))
(outline (path signal 50 -1800 1800 -1800 -9400))
(outline (path signal 50 -1800 -9400 1800 -9400))
(outline (path signal 50 1800 -9400 1800 1800))
(outline (path signal 50 1800 1800 -1800 1800))
(pin Oval[A]Pad_1700x1700_um 4 0 -7620)
(pin Oval[A]Pad_1700x1700_um 3 0 -5080)
(pin Oval[A]Pad_1700x1700_um 2 0 -2540)
(pin Rect[A]Pad_1700x1700_um 1 0 0)
)
(image "Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm::1"
(outline (path signal 120 -1400 -1000 -1400 1000))
(outline (path signal 120 1400 -1000 -1400 -1000))
(outline (path signal 120 1400 1000 1400 -1000))
(outline (path signal 120 -1400 1000 1400 1000))
(outline (path signal 50 -1650 1250 1650 1250))
(outline (path signal 50 -1650 1250 -1650 -1250))
(outline (path signal 50 1650 -1250 1650 1250))
(outline (path signal 50 1650 -1250 -1650 -1250))
(pin Rect[T]Pad_1000x1500_um 1 -650 0)
(pin Rect[T]Pad_1000x1500_um 2 650 0)
)
(image "Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm"
(outline (path signal 120 -1400 -1000 -1400 1000))
(outline (path signal 120 1400 -1000 -1400 -1000))
(outline (path signal 120 1400 1000 1400 -1000))
(outline (path signal 120 -1400 1000 1400 1000))
(outline (path signal 50 -1650 1250 1650 1250))
(outline (path signal 50 -1650 1250 -1650 -1250))
(outline (path signal 50 1650 -1250 1650 1250))
(outline (path signal 50 1650 -1250 -1650 -1250))
(pin Rect[T]Pad_1000x1500_um 2 650 0)
(pin Rect[T]Pad_1000x1500_um 1 -650 0)
)
(image LED_SMD:LED_0805_2012Metric_Castellated
(outline (path signal 50 1880 -900 -1880 -900))
(outline (path signal 50 1880 900 1880 -900))
(outline (path signal 50 -1880 900 1880 900))
(outline (path signal 50 -1880 -900 -1880 900))
(outline (path signal 120 -1885 -910 1000 -910))
(outline (path signal 120 -1885 910 -1885 -910))
(outline (path signal 120 1000 910 -1885 910))
(outline (path signal 100 1000 -600 1000 600))
(outline (path signal 100 -1000 -600 1000 -600))
(outline (path signal 100 -1000 300 -1000 -600))
(outline (path signal 100 -700 600 -1000 300))
(outline (path signal 100 1000 600 -700 600))
(pin RoundRect[T]Pad_1325x1300_250.95_um 1 -962.5 0)
(pin RoundRect[T]Pad_1325x1300_250.95_um 2 962.5 0)
)
(image Connector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_Vertical
(outline (path signal 100 -635 1270 1270 1270))
(outline (path signal 100 1270 1270 1270 -31750))
(outline (path signal 100 1270 -31750 -1270 -31750))
(outline (path signal 100 -1270 -31750 -1270 635))
(outline (path signal 100 -1270 635 -635 1270))
(outline (path signal 120 -1330 -31810 1330 -31810))
(outline (path signal 120 -1330 -1270 -1330 -31810))
(outline (path signal 120 1330 -1270 1330 -31810))
(outline (path signal 120 -1330 -1270 1330 -1270))
(outline (path signal 120 -1330 0 -1330 1330))
(outline (path signal 120 -1330 1330 0 1330))
(outline (path signal 50 -1800 1800 -1800 -32250))
(outline (path signal 50 -1800 -32250 1800 -32250))
(outline (path signal 50 1800 -32250 1800 1800))
(outline (path signal 50 1800 1800 -1800 1800))
(pin Oval[A]Pad_1700x1700_um 13 0 -30480)
(pin Oval[A]Pad_1700x1700_um 12 0 -27940)
(pin Oval[A]Pad_1700x1700_um 11 0 -25400)
(pin Oval[A]Pad_1700x1700_um 10 0 -22860)
(pin Oval[A]Pad_1700x1700_um 9 0 -20320)
(pin Oval[A]Pad_1700x1700_um 8 0 -17780)
(pin Oval[A]Pad_1700x1700_um 7 0 -15240)
(pin Oval[A]Pad_1700x1700_um 6 0 -12700)
(pin Oval[A]Pad_1700x1700_um 5 0 -10160)
(pin Oval[A]Pad_1700x1700_um 4 0 -7620)
(pin Oval[A]Pad_1700x1700_um 3 0 -5080)
(pin Oval[A]Pad_1700x1700_um 2 0 -2540)
(pin Rect[A]Pad_1700x1700_um 1 0 0)
)
(image "Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG"
(outline (path signal 150 -6500 -6950 -6500 6950))
(outline (path signal 150 -6500 6950 6500 6950))
(outline (path signal 150 6500 6950 6500 -6950))
(outline (path signal 150 6500 -6950 -6500 -6950))
(outline (path signal 150 6925 7800 6925 7800))
(outline (path signal 150 6925 7800 -6925 7800))
(outline (path signal 150 -6925 7800 -6925 -8300))
(outline (path signal 150 -6925 -8300 6925 -8300))
(outline (path signal 150 6925 -8300 6925 7800))
(outline (path signal 150 -6500 6950 -3650 6950))
(outline (path signal 150 -1350 6950 1350 6950))
(outline (path signal 150 3650 6950 6500 6950))
(outline (path signal 150 6500 -6950 6500 -2875))
(outline (path signal 150 6500 2875 6500 6950))
(outline (path signal 150 -6500 -6950 -3650 -6950))
(outline (path signal 150 -1350 -6950 -1150 -6950))
(outline (path signal 150 1150 -6950 1350 -6950))
(outline (path signal 150 3650 -6950 6500 -6950))
(outline (path signal 150 -6500 -6950 -6500 -2875))
(outline (path signal 150 -6500 2875 -6500 6950))
(outline (path signal 250 -2375 8325 -2437.5 8216.75 -2562.5 8216.75 -2625 8325
-2562.5 8433.25 -2437.5 8433.25 -2375 8325))
(pin Rect[A]Pad_1550x1550_um S1 -2500 7000)
(pin Round[A]Pad_1550_um S2 2500 7000)
(pin Round[A]Pad_1550_um A -2500 -7500)
(pin Round[A]Pad_1550_um C 0 -7500)
(pin Round[A]Pad_1550_um B 2500 -7500)
(pin RoundRect[A]Pad_2400x5000_1204.57_um 3 -5600 0)
(pin RoundRect[A]Pad_2400x5000_1204.57_um 4 5600 0)
)
(image "Crystal:Crystal_SMD_HC49-SD_HandSoldering"
(outline (path signal 100 -5700 2350 -5700 -2350))
(outline (path signal 100 -5700 -2350 5700 -2350))
(outline (path signal 100 5700 -2350 5700 2350))
(outline (path signal 100 5700 2350 -5700 2350))
(outline (path signal 100 -3015 2115 3015 2115))
(outline (path signal 100 -3015 -2115 3015 -2115))
(outline (path signal 120 5900 2550 -10075 2550))
(outline (path signal 120 -10075 2550 -10075 -2550))
(outline (path signal 120 -10075 -2550 5900 -2550))
(outline (path signal 50 -10200 2600 -10200 -2600))
(outline (path signal 50 -10200 -2600 10200 -2600))
(outline (path signal 50 10200 -2600 10200 2600))
(outline (path signal 50 10200 2600 -10200 2600))
(pin Rect[T]Pad_7875x2000_um 2 5937.5 0)
(pin Rect[T]Pad_7875x2000_um 1 -5937.5 0)
)
(image "HRO_TYPE-C-31-M-12:HRO_TYPE-C-31-M-12"
(outline (path signal 127 -4470 -2600 4470 -2600))
(outline (path signal 127 4470 -2600 4470 4700))
(outline (path signal 127 4470 4700 -4470 4700))
(outline (path signal 127 -4470 4700 -4470 -2600))
(outline (path signal 127 -4470 2810 -4470 1370))
(outline (path signal 127 4470 2810 4470 1370))
(outline (path signal 127 4470 -1370 4470 -2600))
(outline (path signal 127 4470 -2600 -4470 -2600))
(outline (path signal 127 -4470 -2600 -4470 -1370))
(outline (path signal 50 -5095 -2850 5095 -2850))
(outline (path signal 50 5095 -2850 5095 6070))
(outline (path signal 50 5095 6070 -5095 6070))
(outline (path signal 50 -5095 6070 -5095 -2850))
(outline (path signal 200 -3300 6400 -3350 6313.4 -3450 6313.4 -3500 6400 -3450 6486.6
-3350 6486.6 -3300 6400))
(outline (path signal 200 -3300 6400 -3350 6313.4 -3450 6313.4 -3500 6400 -3450 6486.6
-3350 6486.6 -3300 6400))
(pin Rect[T]Pad_600x1450_um A1B12 -3250 5095)
(pin Rect[T]Pad_600x1450_um A4B9 -2450 5095)
(pin Rect[T]Pad_300x1450_um A6 -250 5095)
(pin Rect[T]Pad_300x1450_um B7 -750 5095)
(pin Rect[T]Pad_300x1450_um A5 -1250 5095)
(pin Rect[T]Pad_300x1450_um B8 -1750 5095)
(pin Rect[T]Pad_300x1450_um A7 250 5095)
(pin Rect[T]Pad_300x1450_um B6 750 5095)
(pin Rect[T]Pad_300x1450_um A8 1250 5095)
(pin Rect[T]Pad_300x1450_um B5 1750 5095)
(pin Rect[T]Pad_600x1450_um B4A9 2450 5095)
(pin Rect[T]Pad_600x1450_um B1A12 3250 5095)
(pin Oval[A]Pad_1050x2100_um S1 -4320 4180)
(pin Oval[A]Pad_1050x2100_um S2 4320 4180)
(pin Oval[A]Pad_1050x2100_um S3 -4320 0)
(pin Oval[A]Pad_1050x2100_um S4 4320 0)
(keepout "" (circle F.Cu 700 -2890 3650))
(keepout "" (circle B.Cu 700 -2890 3650))
(keepout "" (circle F.Cu 700 2890 3650))
(keepout "" (circle B.Cu 700 2890 3650))
)
(image "Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm::1"
(outline (path signal 50 1650 -1250 -1650 -1250))
(outline (path signal 50 1650 -1250 1650 1250))
(outline (path signal 50 -1650 1250 -1650 -1250))
(outline (path signal 50 -1650 1250 1650 1250))
(outline (path signal 120 -1400 1000 1400 1000))
(outline (path signal 120 1400 1000 1400 -1000))
(outline (path signal 120 1400 -1000 -1400 -1000))
(outline (path signal 120 -1400 -1000 -1400 1000))
(pin Rect[T]Pad_1000x1500_um 1 -650 0)
(pin Rect[T]Pad_1000x1500_um 2 650 0)
)
(image "Package_QFP:TQFP-32_7x7mm_P0.8mm"
(outline (path signal 150 -2500 3500 3500 3500))
(outline (path signal 150 3500 3500 3500 -3500))
(outline (path signal 150 3500 -3500 -3500 -3500))
(outline (path signal 150 -3500 -3500 -3500 2500))
(outline (path signal 150 -3500 2500 -2500 3500))
(outline (path signal 50 -5300 5300 -5300 -5300))
(outline (path signal 50 5300 5300 5300 -5300))
(outline (path signal 50 -5300 5300 5300 5300))
(outline (path signal 50 -5300 -5300 5300 -5300))
(outline (path signal 150 -3625 3625 -3625 3400))
(outline (path signal 150 3625 3625 3625 3300))
(outline (path signal 150 3625 -3625 3625 -3300))
(outline (path signal 150 -3625 -3625 -3625 -3300))
(outline (path signal 150 -3625 3625 -3300 3625))
(outline (path signal 150 -3625 -3625 -3300 -3625))
(outline (path signal 150 3625 -3625 3300 -3625))
(outline (path signal 150 3625 3625 3300 3625))
(outline (path signal 150 -3625 3400 -5050 3400))
(pin Rect[T]Pad_1600x550_um 1 -4250 2800)
(pin Rect[T]Pad_1600x550_um 2 -4250 2000)
(pin Rect[T]Pad_1600x550_um 3 -4250 1200)
(pin Rect[T]Pad_1600x550_um 4 -4250 400)
(pin Rect[T]Pad_1600x550_um 5 -4250 -400)
(pin Rect[T]Pad_1600x550_um 6 -4250 -1200)
(pin Rect[T]Pad_1600x550_um 7 -4250 -2000)
(pin Rect[T]Pad_1600x550_um 8 -4250 -2800)
(pin Rect[T]Pad_1600x550_um (rotate 90) 9 -2800 -4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 10 -2000 -4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 11 -1200 -4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 12 -400 -4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 13 400 -4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 14 1200 -4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 15 2000 -4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 16 2800 -4250)
(pin Rect[T]Pad_1600x550_um 17 4250 -2800)
(pin Rect[T]Pad_1600x550_um 18 4250 -2000)
(pin Rect[T]Pad_1600x550_um 19 4250 -1200)
(pin Rect[T]Pad_1600x550_um 20 4250 -400)
(pin Rect[T]Pad_1600x550_um 21 4250 400)
(pin Rect[T]Pad_1600x550_um 22 4250 1200)
(pin Rect[T]Pad_1600x550_um 23 4250 2000)
(pin Rect[T]Pad_1600x550_um 24 4250 2800)
(pin Rect[T]Pad_1600x550_um (rotate 90) 25 2800 4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 26 2000 4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 27 1200 4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 28 400 4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 29 -400 4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 30 -1200 4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 31 -2000 4250)
(pin Rect[T]Pad_1600x550_um (rotate 90) 32 -2800 4250)
)
(image "Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG::1"
(outline (path signal 250 -2375 8325 -2437.5 8216.75 -2562.5 8216.75 -2625 8325
-2562.5 8433.25 -2437.5 8433.25 -2375 8325))
(outline (path signal 150 -6500 2875 -6500 6950))
(outline (path signal 150 -6500 -6950 -6500 -2875))
(outline (path signal 150 3650 -6950 6500 -6950))
(outline (path signal 150 1150 -6950 1350 -6950))
(outline (path signal 150 -1350 -6950 -1150 -6950))
(outline (path signal 150 -6500 -6950 -3650 -6950))
(outline (path signal 150 6500 2875 6500 6950))
(outline (path signal 150 6500 -6950 6500 -2875))
(outline (path signal 150 3650 6950 6500 6950))
(outline (path signal 150 -1350 6950 1350 6950))
(outline (path signal 150 -6500 6950 -3650 6950))
(outline (path signal 150 6925 -8300 6925 7800))
(outline (path signal 150 -6925 -8300 6925 -8300))
(outline (path signal 150 -6925 7800 -6925 -8300))
(outline (path signal 150 6925 7800 -6925 7800))
(outline (path signal 150 6925 7800 6925 7800))
(outline (path signal 150 6500 -6950 -6500 -6950))
(outline (path signal 150 6500 6950 6500 -6950))
(outline (path signal 150 -6500 6950 6500 6950))
(outline (path signal 150 -6500 -6950 -6500 6950))
(pin RoundRect[A]Pad_2400x5000_1204.57_um 4 5600 0)
(pin RoundRect[A]Pad_2400x5000_1204.57_um 3 -5600 0)
(pin Round[A]Pad_1550_um B 2500 -7500)
(pin Round[A]Pad_1550_um C 0 -7500)
(pin Round[A]Pad_1550_um A -2500 -7500)
(pin Round[A]Pad_1550_um S2 2500 7000)
(pin Rect[A]Pad_1550x1550_um S1 -2500 7000)
)
(image LED_SMD:LED_0805_2012Metric_Castellated::1
(outline (path signal 100 1000 600 -700 600))
(outline (path signal 100 -700 600 -1000 300))
(outline (path signal 100 -1000 300 -1000 -600))
(outline (path signal 100 -1000 -600 1000 -600))
(outline (path signal 100 1000 -600 1000 600))
(outline (path signal 120 1000 910 -1885 910))
(outline (path signal 120 -1885 910 -1885 -910))
(outline (path signal 120 -1885 -910 1000 -910))
(outline (path signal 50 -1880 -900 -1880 900))
(outline (path signal 50 -1880 900 1880 900))
(outline (path signal 50 1880 900 1880 -900))
(outline (path signal 50 1880 -900 -1880 -900))
(pin RoundRect[T]Pad_1325x1300_250.95_um 1 -962.5 0)
(pin RoundRect[T]Pad_1325x1300_250.95_um 2 962.5 0)
)
(image Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder::1
(outline (path signal 100 -1000 -625 -1000 625))
(outline (path signal 100 -1000 625 1000 625))
(outline (path signal 100 1000 625 1000 -625))
(outline (path signal 100 1000 -625 -1000 -625))
(outline (path signal 120 -227.064 735 227.064 735))
(outline (path signal 120 -227.064 -735 227.064 -735))
(outline (path signal 50 -1850 -950 -1850 950))
(outline (path signal 50 -1850 950 1850 950))
(outline (path signal 50 1850 950 1850 -950))
(outline (path signal 50 1850 -950 -1850 -950))
(pin RoundRect[T]Pad_1200x1400_250.95_um 1 -1000 0)
(pin RoundRect[T]Pad_1200x1400_250.95_um 2 1000 0)
)
(image Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder::2
(outline (path signal 100 -1000 -625 -1000 625))
(outline (path signal 100 -1000 625 1000 625))
(outline (path signal 100 1000 625 1000 -625))
(outline (path signal 100 1000 -625 -1000 -625))
(outline (path signal 120 -261.252 735 261.252 735))
(outline (path signal 120 -261.252 -735 261.252 -735))
(outline (path signal 50 -1880 -980 -1880 980))
(outline (path signal 50 -1880 980 1880 980))
(outline (path signal 50 1880 980 1880 -980))
(outline (path signal 50 1880 -980 -1880 -980))
(pin RoundRect[T]Pad_1175x1450_250.951_um 1 -1037.5 0)
(pin RoundRect[T]Pad_1175x1450_250.951_um 2 1037.5 0)
)
(image Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder::2
(outline (path signal 100 -1000 -625 -1000 625))
(outline (path signal 100 -1000 625 1000 625))
(outline (path signal 100 1000 625 1000 -625))
(outline (path signal 100 1000 -625 -1000 -625))
(outline (path signal 120 -227.064 735 227.064 735))
(outline (path signal 120 -227.064 -735 227.064 -735))
(outline (path signal 50 -1850 -950 -1850 950))
(outline (path signal 50 -1850 950 1850 950))
(outline (path signal 50 1850 950 1850 -950))
(outline (path signal 50 1850 -950 -1850 -950))
(pin RoundRect[T]Pad_1200x1400_250.95_um 2 1000 0)
(pin RoundRect[T]Pad_1200x1400_250.95_um 1 -1000 0)
)
(padstack Round[A]Pad_1550_um
(shape (circle F.Cu 1550))
(shape (circle B.Cu 1550))
(attach off)
)
(padstack Round[A]Pad_1700_um
(shape (circle F.Cu 1700))
(shape (circle B.Cu 1700))
(attach off)
)
(padstack Round[A]Pad_5400_um
(shape (circle F.Cu 5400))
(shape (circle B.Cu 5400))
(attach off)
)
(padstack Oval[A]Pad_1050x2100_um
(shape (path F.Cu 1050 0 -525 0 525))
(shape (path B.Cu 1050 0 -525 0 525))
(attach off)
)
(padstack Oval[A]Pad_1700x1700_um
(shape (path F.Cu 1700 0 0 0 0))
(shape (path B.Cu 1700 0 0 0 0))
(attach off)
)
(padstack RoundRect[A]Pad_2400x5000_1204.57_um
(shape (polygon F.Cu 0 209.172 2486.27 411.987 2431.92 602.284 2343.18 774.281 2222.75
922.752 2074.28 1043.19 1902.28 1131.92 1711.99 1186.27 1509.17
1204.57 1300 1204.57 -1300 1186.27 -1509.17 1131.92 -1711.99
1043.19 -1902.28 922.752 -2074.28 774.281 -2222.75 602.284 -2343.18
411.987 -2431.92 209.172 -2486.27 0.001 -2504.57 -0.001 -2504.57
-209.172 -2486.27 -411.987 -2431.92 -602.284 -2343.18 -774.281 -2222.75
-922.752 -2074.28 -1043.19 -1902.28 -1131.92 -1711.99 -1186.27 -1509.17
-1204.57 -1300 -1204.57 1300 -1186.27 1509.17 -1131.92 1711.99
-1043.19 1902.28 -922.752 2074.28 -774.281 2222.75 -602.284 2343.18
-411.987 2431.92 -209.172 2486.27 -0.001 2504.57 0.001 2504.57
209.172 2486.27))
(shape (polygon B.Cu 0 209.172 2486.27 411.987 2431.92 602.284 2343.18 774.281 2222.75
922.752 2074.28 1043.19 1902.28 1131.92 1711.99 1186.27 1509.17
1204.57 1300 1204.57 -1300 1186.27 -1509.17 1131.92 -1711.99
1043.19 -1902.28 922.752 -2074.28 774.281 -2222.75 602.284 -2343.18
411.987 -2431.92 209.172 -2486.27 0.001 -2504.57 -0.001 -2504.57
-209.172 -2486.27 -411.987 -2431.92 -602.284 -2343.18 -774.281 -2222.75
-922.752 -2074.28 -1043.19 -1902.28 -1131.92 -1711.99 -1186.27 -1509.17
-1204.57 -1300 -1204.57 1300 -1186.27 1509.17 -1131.92 1711.99
-1043.19 1902.28 -922.752 2074.28 -774.281 2222.75 -602.284 2343.18
-411.987 2431.92 -209.172 2486.27 -0.001 2504.57 0.001 2504.57
209.172 2486.27))
(attach off)
)
(padstack RoundRect[T]Pad_1175x1450_250.951_um
(shape (polygon F.Cu 0 381.077 722.138 423.33 710.817 462.975 692.33 498.808 667.24
529.74 636.308 554.83 600.476 573.317 560.83 584.638 518.577
588.451 475 588.451 -475 584.638 -518.577 573.317 -560.83
554.83 -600.475 529.74 -636.308 498.808 -667.24 462.976 -692.33
423.33 -710.817 381.077 -722.138 337.5 -725.951 -337.5 -725.951
-381.077 -722.138 -423.33 -710.817 -462.975 -692.33 -498.808 -667.24
-529.74 -636.308 -554.83 -600.476 -573.317 -560.83 -584.638 -518.577
-588.451 -475 -588.451 475 -584.638 518.577 -573.317 560.83
-554.83 600.475 -529.74 636.308 -498.808 667.24 -462.976 692.33
-423.33 710.817 -381.077 722.138 -337.5 725.951 337.5 725.951
381.077 722.138))
(attach off)
)
(padstack RoundRect[T]Pad_1200x1400_250.95_um
(shape (polygon F.Cu 0 393.578 697.139 435.831 685.817 475.476 667.33 511.309 642.24
542.24 611.309 567.33 575.476 585.817 535.831 597.139 493.578
600.951 450.001 600.951 -450.001 597.139 -493.578 585.817 -535.831
567.33 -575.476 542.24 -611.309 511.309 -642.24 475.476 -667.33
435.831 -685.817 393.578 -697.139 350.001 -700.951 -350.001 -700.951
-393.578 -697.139 -435.831 -685.817 -475.476 -667.33 -511.309 -642.24
-542.24 -611.309 -567.33 -575.476 -585.817 -535.831 -597.139 -493.578
-600.951 -450.001 -600.951 450.001 -597.139 493.578 -585.817 535.831
-567.33 575.476 -542.24 611.309 -511.309 642.24 -475.476 667.33
-435.831 685.817 -393.578 697.139 -350.001 700.951 350.001 700.951
393.578 697.139))
(attach off)
)
(padstack RoundRect[T]Pad_1325x1300_250.95_um
(shape (polygon F.Cu 0 456.078 647.139 498.331 635.817 537.976 617.33 573.809 592.24
604.74 561.309 629.83 525.476 648.317 485.831 659.639 443.578
663.451 400.001 663.451 -400.001 659.639 -443.578 648.317 -485.831
629.83 -525.476 604.74 -561.309 573.809 -592.24 537.976 -617.33
498.331 -635.817 456.078 -647.139 412.501 -650.951 -412.501 -650.951
-456.078 -647.139 -498.331 -635.817 -537.976 -617.33 -573.809 -592.24
-604.74 -561.309 -629.83 -525.476 -648.317 -485.831 -659.639 -443.578
-663.451 -400.001 -663.451 400.001 -659.639 443.578 -648.317 485.831
-629.83 525.476 -604.74 561.309 -573.809 592.24 -537.976 617.33
-498.331 635.817 -456.078 647.139 -412.501 650.951 412.501 650.951
456.078 647.139))
(attach off)
)
(padstack Rect[T]Pad_300x1450_um
(shape (rect F.Cu -150 -725 150 725))
(attach off)
)
(padstack Rect[T]Pad_600x1450_um
(shape (rect F.Cu -300 -725 300 725))
(attach off)
)
(padstack Rect[T]Pad_7875x2000_um
(shape (rect F.Cu -3937.5 -1000 3937.5 1000))
(attach off)
)
(padstack Rect[T]Pad_800x2000_um
(shape (rect F.Cu -400 -1000 400 1000))
(attach off)
)
(padstack Rect[T]Pad_1000x1500_um
(shape (rect F.Cu -500 -750 500 750))
(attach off)
)
(padstack Rect[A]Pad_1550x1550_um
(shape (rect F.Cu -775 -775 775 775))
(shape (rect B.Cu -775 -775 775 775))
(attach off)
)
(padstack Rect[T]Pad_1600x550_um
(shape (rect F.Cu -800 -275 800 275))
(attach off)
)
(padstack Rect[A]Pad_1700x1700_um
(shape (rect F.Cu -850 -850 850 850))
(shape (rect B.Cu -850 -850 850 850))
(attach off)
)
(padstack "Via[0-1]_800:400_um"
(shape (circle F.Cu 800))
(shape (circle B.Cu 800))
(attach off)
)
)
(network
(net "Net-(U1-Pad19)"
(pins U1-19)
)
(net "Net-(U1-Pad20)"
(pins U1-20)
)
(net "Net-(U1-Pad22)"
(pins U1-22)
)
(net GND
(pins C1-2 J1-6 C2-2 SW5-2 J4-1 D1-1 J3-1 J5-1 SW1-S1 SW1-C J2-A1B12 J2-B1A12
J2-S1 J2-S2 J2-S3 J2-S4 C3-2 U1-5 U1-21 SW2-C SW2-S1 D2-1 SW3-S1 SW3-C SW4-C
SW4-S1 C4-2)
)
(net VCC
(pins J1-2 R2-2 J5-4 J2-A4B9 J2-B4A9 C3-1 R1-2 U1-4 U1-18 C4-1 R4-1 R5-1 R6-1)
)
(net XTAL1
(pins C1-1 Y1-1 U1-7)
)
(net XTAL2
(pins C2-1 Y1-2 U1-8)
)
(net "Net-(D1-Pad2)"
(pins R2-1 D1-2)
)
(net MOSI
(pins J1-4 U1-15)
)
(net SCK
(pins J1-3 U1-17)
)
(net MISO
(pins J1-1 U1-16)
)
(net RST
(pins J1-5 SW5-1 J4-4 R1-1 JP5-1 JP6-2 U1-29)
)
(net "Net-(J2-PadA6)"
(pins JP1-2 JP2-2 J2-A6)
)
(net "Net-(J2-PadB7)"
(pins JP8-1 J2-B7 JP7-1)
)
(net "Net-(J2-PadA5)"
(pins J2-A5)
)
(net "Net-(J2-PadB8)"
(pins J2-B8 JP6-1)
)
(net "Net-(J2-PadA7)"
(pins JP3-2 J2-A7 JP4-2)
)
(net "Net-(J2-PadB6)"
(pins JP10-1 JP9-1 J2-B6)
)
(net "Net-(J2-PadA8)"
(pins J2-A8 JP5-2)
)
(net "Net-(J2-PadB5)"
(pins J2-B5)
)
(net BTN4
(pins J3-13 U1-26 SW4-S2)
)
(net BTN3
(pins J3-12 U1-25 SW3-S2)
)
(net BTN2
(pins J3-11 U1-24 SW2-S2)
)
(net BTN1
(pins J3-10 SW1-S2 U1-23)
)
(net ENC4B
(pins J3-9 U1-13 SW4-B)
)
(net ENC4A
(pins J3-8 U1-12 SW4-A)
)
(net ENC3B
(pins J3-7 U1-11 SW3-B)
)
(net ENC3A
(pins J3-6 U1-10 SW3-A)
)
(net ENC2B
(pins J3-5 U1-9 SW2-B)
)
(net ENC2A
(pins J3-4 U1-2 SW2-A)
)
(net ENC1B
(pins J3-3 SW1-B U1-1)
)
(net ENC1A
(pins J3-2 SW1-A U1-32)
)
(net TX
(pins J4-3 JP2-1 JP9-2 U1-31)
)
(net RX
(pins J4-2 JP4-1 JP7-2 U1-30 R6-2)
)
(net SDA
(pins JP1-1 JP10-2 J5-2 U1-27 R5-2)
)
(net SCL
(pins JP8-2 JP3-1 J5-3 U1-28 R4-2)
)
(net "Net-(D2-Pad2)"
(pins D2-2 R3-1)
)
(net LED
(pins U1-14 R3-2)
)
(net "Net-(U1-Pad3)"
(pins U1-3)
)
(net "Net-(U1-Pad6)"
(pins U1-6)
)
(class kicad_default "" BTN1 BTN2 BTN3 BTN4 ENC1A ENC1B ENC2A ENC2B ENC3A
ENC3B ENC4A ENC4B GND LED MISO MOSI "Net-(D1-Pad2)" "Net-(D2-Pad2)"
"Net-(J2-PadA5)" "Net-(J2-PadA6)" "Net-(J2-PadA7)" "Net-(J2-PadA8)"
"Net-(J2-PadB5)" "Net-(J2-PadB6)" "Net-(J2-PadB7)" "Net-(J2-PadB8)"
"Net-(U1-Pad19)" "Net-(U1-Pad20)" "Net-(U1-Pad22)" "Net-(U1-Pad3)" "Net-(U1-Pad6)"
RST RX SCK SCL SDA TX VCC XTAL1 XTAL2
(circuit
(use_via Via[0-1]_800:400_um)
)
(rule
(width 250)
(clearance 200.1)
)
)
)
(wiring
)
)

File diff suppressed because it is too large Load diff

View file

@ -1,674 +0,0 @@
(export (version D)
(design
(source "D:\\Dokumente\\Coding\\Visual Studio Code\\smart-lamp-control\\Devices\\Console\\Hardware\\Circuit\\Console.sch")
(date "29.08.2021 11:57:42")
(tool "Eeschema (5.1.10)-1")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title "LightControl Console")
(company)
(rev v00)
(date 2021-08-10)
(source Console.sch)
(comment (number 1) (value ""))
(comment (number 2) (value ""))
(comment (number 3) (value ""))
(comment (number 4) (value "Author: GHOSCHT")))))
(components
(comp (ref SW1)
(value PEC11R-4220F-S0012)
(footprint Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG)
(datasheet https://datasheet.octopart.com/PEC11R-4220F-S0012-Bourns-datasheet-68303416.pdf)
(libsource (lib Device) (part Rotary_Encoder_Switch) (description "Rotary encoder, dual channel, incremental quadrate outputs, with switch"))
(sheetpath (names /) (tstamps /))
(tstamp 6112A1C1))
(comp (ref J2)
(value TYPE-C-31-M-12)
(footprint HRO_TYPE-C-31-M-12:HRO_TYPE-C-31-M-12)
(datasheet https://datasheet.lcsc.com/lcsc/1811131825_Korean-Hroparts-Elec-TYPE-C-31-M-12_C165948.pdf)
(fields
(field (name MANUFACTURER) "HRO Electronics")
(field (name MAXIMUM_PACKAGE_HEIGHT) 3.31mm)
(field (name PARTREV) A)
(field (name STANDARD) "Manufacturer Recommendations"))
(libsource (lib TYPE-C-31-M-12) (part TYPE-C-31-M-12) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 6112D89A))
(comp (ref JP1)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 6113282A))
(comp (ref JP3)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 6118262C))
(comp (ref JP8)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 611A3587))
(comp (ref SW2)
(value PEC11R-4220F-S0012)
(footprint Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG)
(datasheet https://datasheet.octopart.com/PEC11R-4220F-S0012-Bourns-datasheet-68303416.pdf)
(libsource (lib Device) (part Rotary_Encoder_Switch) (description "Rotary encoder, dual channel, incremental quadrate outputs, with switch"))
(sheetpath (names /) (tstamps /))
(tstamp 611CC8B9))
(comp (ref SW3)
(value PEC11R-4220F-S0012)
(footprint Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG)
(datasheet https://datasheet.octopart.com/PEC11R-4220F-S0012-Bourns-datasheet-68303416.pdf)
(libsource (lib Device) (part Rotary_Encoder_Switch) (description "Rotary encoder, dual channel, incremental quadrate outputs, with switch"))
(sheetpath (names /) (tstamps /))
(tstamp 611CDF12))
(comp (ref SW4)
(value PEC11R-4220F-S0012)
(footprint Bourns-PEC11R-4220F-S0012:Bourns-PEC11R-4220F-S0012-MFG)
(datasheet https://datasheet.octopart.com/PEC11R-4220F-S0012-Bourns-datasheet-68303416.pdf)
(libsource (lib Device) (part Rotary_Encoder_Switch) (description "Rotary encoder, dual channel, incremental quadrate outputs, with switch"))
(sheetpath (names /) (tstamps /))
(tstamp 611CEA4E))
(comp (ref J3)
(value Conn_01x13)
(footprint Connector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x13) (description "Generic connector, single row, 01x13, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 61285557))
(comp (ref J5)
(value Conn_01x04)
(footprint Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x04) (description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 613021A3))
(comp (ref J4)
(value Conn_01x04)
(footprint Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x04) (description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 613031C0))
(comp (ref D1)
(value 17-21/BHC-XL2M2TY/3T)
(footprint LED_SMD:LED_0805_2012Metric_Castellated)
(datasheet ~)
(libsource (lib Device) (part LED) (description "Light emitting diode"))
(sheetpath (names /) (tstamps /))
(tstamp 6113FB23))
(comp (ref R2)
(value 200)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 6114AFDD))
(comp (ref R1)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611669B4))
(comp (ref J1)
(value AVR-ISP-6)
(footprint AVR-ISP:AVR-ISP)
(datasheet " ~")
(libsource (lib Connector) (part AVR-ISP-6) (description "Atmel 6-pin ISP connector"))
(sheetpath (names /) (tstamps /))
(tstamp 61134728))
(comp (ref Y1)
(value 16MHz)
(footprint Crystal:Crystal_SMD_HC49-SD_HandSoldering)
(datasheet ~)
(libsource (lib Device) (part Crystal) (description "Two pin crystal"))
(sheetpath (names /) (tstamps /))
(tstamp 6113484F))
(comp (ref C1)
(value 22p)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 6113DC2F))
(comp (ref C2)
(value 22p)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 611448F1))
(comp (ref C3)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 6115564D))
(comp (ref JP2)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 611AC9C3))
(comp (ref JP4)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 611AE464))
(comp (ref JP5)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 611AECF9))
(comp (ref JP6)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 611AF363))
(comp (ref JP7)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 611B0523))
(comp (ref JP9)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 611B0A60))
(comp (ref JP10)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 611A3577))
(comp (ref SW5)
(value SW_Push)
(footprint SKRKAEE020:SKRKAEE020)
(datasheet ~)
(libsource (lib Switch) (part SW_Push) (description "Push button switch, generic, two pins"))
(sheetpath (names /) (tstamps /))
(tstamp 6132D0B4))
(comp (ref U1)
(value ATmega328PB-AU)
(footprint Package_QFP:TQFP-32_7x7mm_P0.8mm)
(datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/40001906C.pdf)
(libsource (lib MCU_Microchip_ATmega) (part ATmega328PB-AU) (description "20MHz, 32kB Flash, 2kB SRAM, 1kB EEPROM, TQFP-32"))
(sheetpath (names /) (tstamps /))
(tstamp 61C8D3E7))
(comp (ref D2)
(value 17-21/BHC-XL2M2TY/3T)
(footprint LED_SMD:LED_0805_2012Metric_Castellated)
(datasheet ~)
(libsource (lib Device) (part LED) (description "Light emitting diode"))
(sheetpath (names /) (tstamps /))
(tstamp 61D1A3B1))
(comp (ref R3)
(value 200)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 61D1A3B7))
(comp (ref C4)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 611FCAF6))
(comp (ref R6)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 612D3AC9))
(comp (ref R4)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 612D449E))
(comp (ref R5)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 612D4F68)))
(libparts
(libpart (lib Connector) (part AVR-ISP-6)
(description "Atmel 6-pin ISP connector")
(docs " ~")
(footprints
(fp IDC?Header*2x03*)
(fp Pin?Header*2x03*))
(fields
(field (name Reference) J)
(field (name Value) AVR-ISP-6))
(pins
(pin (num 1) (name MISO) (type passive))
(pin (num 2) (name VCC) (type passive))
(pin (num 3) (name SCK) (type passive))
(pin (num 4) (name MOSI) (type passive))
(pin (num 5) (name ~RST) (type passive))
(pin (num 6) (name GND) (type passive))))
(libpart (lib Connector_Generic) (part Conn_01x04)
(description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp Connector*:*_1x??_*))
(fields
(field (name Reference) J)
(field (name Value) Conn_01x04))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))
(pin (num 4) (name Pin_4) (type passive))))
(libpart (lib Connector_Generic) (part Conn_01x13)
(description "Generic connector, single row, 01x13, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp Connector*:*_1x??_*))
(fields
(field (name Reference) J)
(field (name Value) Conn_01x13))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))
(pin (num 4) (name Pin_4) (type passive))
(pin (num 5) (name Pin_5) (type passive))
(pin (num 6) (name Pin_6) (type passive))
(pin (num 7) (name Pin_7) (type passive))
(pin (num 8) (name Pin_8) (type passive))
(pin (num 9) (name Pin_9) (type passive))
(pin (num 10) (name Pin_10) (type passive))
(pin (num 11) (name Pin_11) (type passive))
(pin (num 12) (name Pin_12) (type passive))
(pin (num 13) (name Pin_13) (type passive))))
(libpart (lib Device) (part C)
(description "Unpolarized capacitor")
(docs ~)
(footprints
(fp C_*))
(fields
(field (name Reference) C)
(field (name Value) C))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib Device) (part Crystal)
(description "Two pin crystal")
(docs ~)
(footprints
(fp Crystal*))
(fields
(field (name Reference) Y)
(field (name Value) Crystal))
(pins
(pin (num 1) (name 1) (type passive))
(pin (num 2) (name 2) (type passive))))
(libpart (lib Device) (part LED)
(description "Light emitting diode")
(docs ~)
(footprints
(fp LED*)
(fp LED_SMD:*)
(fp LED_THT:*))
(fields
(field (name Reference) D)
(field (name Value) LED))
(pins
(pin (num 1) (name K) (type passive))
(pin (num 2) (name A) (type passive))))
(libpart (lib Device) (part R)
(description Resistor)
(docs ~)
(footprints
(fp R_*))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib Device) (part Rotary_Encoder_Switch)
(description "Rotary encoder, dual channel, incremental quadrate outputs, with switch")
(docs ~)
(footprints
(fp RotaryEncoder*Switch*))
(fields
(field (name Reference) SW)
(field (name Value) Rotary_Encoder_Switch))
(pins
(pin (num A) (name A) (type passive))
(pin (num B) (name B) (type passive))
(pin (num C) (name C) (type passive))
(pin (num S1) (name S1) (type passive))
(pin (num S2) (name S2) (type passive))))
(libpart (lib Jumper) (part SolderJumper_2_Bridged)
(description "Solder Jumper, 2-pole, closed/bridged")
(docs ~)
(footprints
(fp SolderJumper*Bridged*))
(fields
(field (name Reference) JP)
(field (name Value) SolderJumper_2_Bridged))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name B) (type passive))))
(libpart (lib Jumper) (part SolderJumper_2_Open)
(description "Solder Jumper, 2-pole, open")
(docs ~)
(footprints
(fp SolderJumper*Open*))
(fields
(field (name Reference) JP)
(field (name Value) SolderJumper_2_Open))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name B) (type passive))))
(libpart (lib MCU_Microchip_ATmega) (part ATmega48PB-AU)
(aliases
(alias ATmega88PB-AU)
(alias ATmega168PB-AU)
(alias ATmega328PB-AU))
(description "20MHz, 4kB Flash, 512B SRAM, 256B EEPROM, TQFP-32")
(docs http://ww1.microchip.com/downloads/en/DeviceDoc/40001909A.pdf)
(footprints
(fp TQFP*7x7mm*P0.8mm*))
(fields
(field (name Reference) U)
(field (name Value) ATmega48PB-AU)
(field (name Footprint) Package_QFP:TQFP-32_7x7mm_P0.8mm))
(pins
(pin (num 1) (name PD3) (type BiDi))
(pin (num 2) (name PD4) (type BiDi))
(pin (num 3) (name PE0) (type BiDi))
(pin (num 4) (name VCC) (type power_in))
(pin (num 5) (name GND) (type power_in))
(pin (num 6) (name PE1) (type BiDi))
(pin (num 7) (name XTAL1/PB6) (type BiDi))
(pin (num 8) (name XTAL2/PB7) (type BiDi))
(pin (num 9) (name PD5) (type BiDi))
(pin (num 10) (name PD6) (type BiDi))
(pin (num 11) (name PD7) (type BiDi))
(pin (num 12) (name PB0) (type BiDi))
(pin (num 13) (name PB1) (type BiDi))
(pin (num 14) (name PB2) (type BiDi))
(pin (num 15) (name PB3) (type BiDi))
(pin (num 16) (name PB4) (type BiDi))
(pin (num 17) (name PB5) (type BiDi))
(pin (num 18) (name AVCC) (type power_in))
(pin (num 19) (name PE2) (type BiDi))
(pin (num 20) (name AREF) (type passive))
(pin (num 21) (name GND) (type passive))
(pin (num 22) (name PE3) (type BiDi))
(pin (num 23) (name PC0) (type BiDi))
(pin (num 24) (name PC1) (type BiDi))
(pin (num 25) (name PC2) (type BiDi))
(pin (num 26) (name PC3) (type BiDi))
(pin (num 27) (name PC4) (type BiDi))
(pin (num 28) (name PC5) (type BiDi))
(pin (num 29) (name ~RESET~/PC6) (type BiDi))
(pin (num 30) (name PD0) (type BiDi))
(pin (num 31) (name PD1) (type BiDi))
(pin (num 32) (name PD2) (type BiDi))))
(libpart (lib Switch) (part SW_Push)
(description "Push button switch, generic, two pins")
(docs ~)
(fields
(field (name Reference) SW)
(field (name Value) SW_Push))
(pins
(pin (num 1) (name 1) (type passive))
(pin (num 2) (name 2) (type passive))))
(libpart (lib TYPE-C-31-M-12) (part TYPE-C-31-M-12)
(fields
(field (name Reference) J)
(field (name Value) TYPE-C-31-M-12)
(field (name Footprint) HRO_TYPE-C-31-M-12)
(field (name MAXIMUM_PACKAGE_HEIGHT) 3.31mm)
(field (name STANDARD) "Manufacturer Recommendations")
(field (name PARTREV) A)
(field (name MANUFACTURER) "HRO Electronics"))
(pins
(pin (num A5) (name CC1) (type BiDi))
(pin (num A6) (name DP1) (type BiDi))
(pin (num A7) (name DN1) (type BiDi))
(pin (num A8) (name SBU1) (type BiDi))
(pin (num A1B12) (name GND) (type power_in))
(pin (num A4B9) (name VBUS) (type power_in))
(pin (num B5) (name CC2) (type BiDi))
(pin (num B6) (name DP2) (type BiDi))
(pin (num B7) (name DN2) (type BiDi))
(pin (num B8) (name SBU2) (type BiDi))
(pin (num B1A12) (name GND) (type power_in))
(pin (num B4A9) (name VBUS) (type power_in))
(pin (num S1) (name SHIELD) (type passive))
(pin (num S2) (name SHIELD) (type passive))
(pin (num S3) (name SHIELD) (type passive))
(pin (num S4) (name SHIELD) (type passive)))))
(libraries
(library (logical Connector)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Connector.lib"))
(library (logical Connector_Generic)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Connector_Generic.lib"))
(library (logical Device)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Device.lib"))
(library (logical Jumper)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Jumper.lib"))
(library (logical MCU_Microchip_ATmega)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/MCU_Microchip_ATmega.lib"))
(library (logical Switch)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Switch.lib"))
(library (logical TYPE-C-31-M-12)
(uri "D:\\Dokumente\\Coding\\Visual Studio Code\\smart-lamp-control\\Devices\\Console\\Hardware\\Circuit/Libraries/TYPE-C-31-M-12.lib")))
(nets
(net (code 1) (name GND)
(node (ref U1) (pin 5))
(node (ref D2) (pin 1))
(node (ref C2) (pin 2))
(node (ref C1) (pin 2))
(node (ref J1) (pin 6))
(node (ref J5) (pin 1))
(node (ref J4) (pin 1))
(node (ref C4) (pin 2))
(node (ref J2) (pin S3))
(node (ref J2) (pin S4))
(node (ref J2) (pin S2))
(node (ref J2) (pin S1))
(node (ref J2) (pin B1A12))
(node (ref J2) (pin A1B12))
(node (ref SW1) (pin C))
(node (ref SW2) (pin S1))
(node (ref SW4) (pin S1))
(node (ref SW4) (pin C))
(node (ref SW3) (pin S1))
(node (ref SW3) (pin C))
(node (ref SW1) (pin S1))
(node (ref SW2) (pin C))
(node (ref J3) (pin 1))
(node (ref U1) (pin 21))
(node (ref D1) (pin 1))
(node (ref C3) (pin 2))
(node (ref SW5) (pin 2)))
(net (code 2) (name "Net-(J2-PadA7)")
(node (ref JP3) (pin 2))
(node (ref J2) (pin A7))
(node (ref JP4) (pin 2)))
(net (code 3) (name VCC)
(node (ref R1) (pin 2))
(node (ref R2) (pin 2))
(node (ref R6) (pin 1))
(node (ref R4) (pin 1))
(node (ref R5) (pin 1))
(node (ref J2) (pin A4B9))
(node (ref J1) (pin 2))
(node (ref U1) (pin 18))
(node (ref U1) (pin 4))
(node (ref J2) (pin B4A9))
(node (ref C4) (pin 1))
(node (ref C3) (pin 1))
(node (ref J5) (pin 4)))
(net (code 4) (name XTAL2)
(node (ref U1) (pin 8))
(node (ref Y1) (pin 2))
(node (ref C2) (pin 1)))
(net (code 5) (name XTAL1)
(node (ref Y1) (pin 1))
(node (ref U1) (pin 7))
(node (ref C1) (pin 1)))
(net (code 6) (name "Net-(U1-Pad22)")
(node (ref U1) (pin 22)))
(net (code 7) (name "Net-(U1-Pad20)")
(node (ref U1) (pin 20)))
(net (code 8) (name "Net-(U1-Pad19)")
(node (ref U1) (pin 19)))
(net (code 9) (name LED)
(node (ref R3) (pin 2))
(node (ref U1) (pin 14)))
(net (code 10) (name RST)
(node (ref JP5) (pin 1))
(node (ref J1) (pin 5))
(node (ref J4) (pin 4))
(node (ref U1) (pin 29))
(node (ref SW5) (pin 1))
(node (ref JP6) (pin 2))
(node (ref R1) (pin 1)))
(net (code 11) (name "Net-(D1-Pad2)")
(node (ref R2) (pin 1))
(node (ref D1) (pin 2)))
(net (code 12) (name SDA)
(node (ref JP1) (pin 1))
(node (ref U1) (pin 27))
(node (ref J5) (pin 2))
(node (ref JP10) (pin 2))
(node (ref R5) (pin 2)))
(net (code 13) (name MOSI)
(node (ref U1) (pin 15))
(node (ref J1) (pin 4)))
(net (code 14) (name SCK)
(node (ref J1) (pin 3))
(node (ref U1) (pin 17)))
(net (code 15) (name MISO)
(node (ref U1) (pin 16))
(node (ref J1) (pin 1)))
(net (code 16) (name "Net-(D2-Pad2)")
(node (ref D2) (pin 2))
(node (ref R3) (pin 1)))
(net (code 17) (name "Net-(U1-Pad6)")
(node (ref U1) (pin 6)))
(net (code 18) (name "Net-(U1-Pad3)")
(node (ref U1) (pin 3)))
(net (code 19) (name ENC3B)
(node (ref U1) (pin 11))
(node (ref SW3) (pin B))
(node (ref J3) (pin 7)))
(net (code 20) (name ENC3A)
(node (ref J3) (pin 6))
(node (ref SW3) (pin A))
(node (ref U1) (pin 10)))
(net (code 21) (name ENC2A)
(node (ref J3) (pin 4))
(node (ref U1) (pin 2))
(node (ref SW2) (pin A)))
(net (code 22) (name ENC1B)
(node (ref SW1) (pin B))
(node (ref J3) (pin 3))
(node (ref U1) (pin 1)))
(net (code 23) (name ENC2B)
(node (ref J3) (pin 5))
(node (ref U1) (pin 9))
(node (ref SW2) (pin B)))
(net (code 24) (name ENC1A)
(node (ref SW1) (pin A))
(node (ref U1) (pin 32))
(node (ref J3) (pin 2)))
(net (code 25) (name TX)
(node (ref JP9) (pin 2))
(node (ref U1) (pin 31))
(node (ref J4) (pin 3))
(node (ref JP2) (pin 1)))
(net (code 26) (name RX)
(node (ref U1) (pin 30))
(node (ref JP7) (pin 2))
(node (ref R6) (pin 2))
(node (ref JP4) (pin 1))
(node (ref J4) (pin 2)))
(net (code 27) (name SCL)
(node (ref J5) (pin 3))
(node (ref R4) (pin 2))
(node (ref JP3) (pin 1))
(node (ref JP8) (pin 2))
(node (ref U1) (pin 28)))
(net (code 28) (name BTN4)
(node (ref U1) (pin 26))
(node (ref J3) (pin 13))
(node (ref SW4) (pin S2)))
(net (code 29) (name BTN3)
(node (ref SW3) (pin S2))
(node (ref U1) (pin 25))
(node (ref J3) (pin 12)))
(net (code 30) (name BTN2)
(node (ref J3) (pin 11))
(node (ref U1) (pin 24))
(node (ref SW2) (pin S2)))
(net (code 31) (name BTN1)
(node (ref SW1) (pin S2))
(node (ref U1) (pin 23))
(node (ref J3) (pin 10)))
(net (code 32) (name ENC4B)
(node (ref SW4) (pin B))
(node (ref U1) (pin 13))
(node (ref J3) (pin 9)))
(net (code 33) (name ENC4A)
(node (ref J3) (pin 8))
(node (ref U1) (pin 12))
(node (ref SW4) (pin A)))
(net (code 34) (name "Net-(J2-PadB7)")
(node (ref JP8) (pin 1))
(node (ref J2) (pin B7))
(node (ref JP7) (pin 1)))
(net (code 35) (name "Net-(J2-PadB6)")
(node (ref JP10) (pin 1))
(node (ref JP9) (pin 1))
(node (ref J2) (pin B6)))
(net (code 36) (name "Net-(J2-PadA6)")
(node (ref JP2) (pin 2))
(node (ref J2) (pin A6))
(node (ref JP1) (pin 2)))
(net (code 37) (name "Net-(J2-PadB5)")
(node (ref J2) (pin B5)))
(net (code 38) (name "Net-(J2-PadB8)")
(node (ref JP6) (pin 1))
(node (ref J2) (pin B8)))
(net (code 39) (name "Net-(J2-PadA8)")
(node (ref J2) (pin A8))
(node (ref JP5) (pin 2)))
(net (code 40) (name "Net-(J2-PadA5)")
(node (ref J2) (pin A5)))))

File diff suppressed because it is too large Load diff

View file

@ -1,7 +0,0 @@
(fp_lib_table
(lib (name Bourns-PEC11R-4220F-S0012)(type KiCad)(uri ${KIPRJMOD}/Libraries/Bourns-PEC11R-4220F-S0012.pretty)(options "")(descr ""))
(lib (name XKB-U254-051T-4BH83-F1S)(type KiCad)(uri ${KIPRJMOD}/Libraries/XKB-U254-051T-4BH83-F1S.pretty)(options "")(descr ""))
(lib (name AVR-ISP)(type KiCad)(uri ${KIPRJMOD}/Libraries/AVR-ISP.pretty)(options "")(descr ""))
(lib (name HRO_TYPE-C-31-M-12)(type KiCad)(uri ${KIPRJMOD}/Libraries/HRO_TYPE-C-31-M-12.pretty)(options "")(descr ""))
(lib (name SKRKAEE020)(type KiCad)(uri "D:/Dokumente/Coding/Visual Studio Code/smart-lamp-control/Devices/Control/Hardware/Circuit/Libraries/SKRKAEE020.pretty")(options "")(descr ""))
)

View file

@ -1,3 +0,0 @@
(sym_lib_table
(lib (name TYPE-C-31-M-12)(type Legacy)(uri ${KIPRJMOD}/Libraries/TYPE-C-31-M-12.lib)(options "")(descr ""))
)

View file

@ -1,24 +0,0 @@
import serial
import time
import sys
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
if len(sys.argv) == 1:
print(f"{bcolors.FAIL}Please enter COM Port as argument{bcolors.ENDC}")
else:
ser = serial.Serial(sys.argv[1])
ser.write(b'r')
ser.close()
print(f"{bcolors.OKGREEN}Reset enabled{bcolors.ENDC}")
time.sleep(1)

View file

@ -1,46 +0,0 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in a an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View file

@ -1,77 +0,0 @@
[platformio]
default_envs = Upload_UART ; Default build target
; Common settings for all environments
[env]
platform = atmelavr
framework = arduino
; TARGET SETTINGS
; Chip in use
board = ATmega328P
; Clock frequency in [Hz]
board_build.f_cpu = 16000000L
; BUILD OPTIONS
; Comment out to enable LTO (this line unflags it)
build_unflags = -flto
; Extra build flags
build_flags =
; SERIAL MONITOR OPTIONS
; Serial monitor port defined in the Upload_UART environment
monitor_port = ${env:Upload_UART.upload_port}
; Serial monitor baud rate
monitor_speed = 9600
; Run the following command to upload with this environment
; pio run -e Upload_UART -t upload
[env:Upload_UART]
; Serial bootloader protocol
upload_protocol = custom
; Serial upload port
upload_port = COM5
; Get upload baud rate defined in the fuses_bootloader environment
board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed}
upload_flags =
-C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf
-p$BOARD_MCU
-P${env:Upload_UART.upload_port}
-carduino
-v
-V
-D
upload_command = python enableReset.py ${env:Upload_UART.upload_port} && avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i
; Run the following command to upload with this environment
; pio run -e Upload_ISP -t upload
[env:Upload_ISP]
; Custom upload procedure
upload_protocol = custom
; Avrdude upload flags
upload_flags =
-C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf
-p$BOARD_MCU
-PUSB
-cusbasp
-D
; Avrdude upload command
upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i
; Run the following command to set fuses
; pio run -e fuses_bootloader -t fuses
; Run the following command to set fuses + burn bootloader
; pio run -e fuses_bootloader -t bootloader
[env:fuses_bootloader]
board_hardware.oscillator = external ; Oscillator type
board_hardware.uart = uart0 ; Set UART to use for serial upload
board_bootloader.speed = 115200 ; Set bootloader baud rate
board_hardware.bod = 2.7v ; Set brown-out detection
board_hardware.eesave = yes ; Preserve EEPROM when uploading using programmer
upload_protocol = usbasp ; Use the USBasp as programmer
upload_flags = ; Select USB as upload port and divide the SPI clock by 8
-PUSB
-B8

View file

@ -1,119 +0,0 @@
#include <Arduino.h>
#include <EEPROM.h>
#include <Wire.h>
#define SLAVE_ADDR 9
const int bjtCount = 4;
const int bjtPin[bjtCount] = {6, 5, 3, 10};
int bjtState[bjtCount] = {255, 255, 255, 255}; //255 -> bjt max "open"
char receivedSerialData[4];
char receivedI2cData[4];
String pendingSerialData;
void changeLights(char data[])
{
for (int i = 0; i < bjtCount; i++)
{
char numChar[2];
itoa(i, numChar, 10);
if (data[0] == numChar[0])
{
if (data[1] == 't')
{
if (bjtState[i] != 0)
{
bjtState[i] = 0;
}
else
{
bjtState[i] = 255;
}
}
else if (data[1] == 'i')
{
bjtState[i] += 5;
}
else if (data[1] == 'd')
{
bjtState[i] -= 5;
}
}
//clamp state between 0 and 255
if (bjtState[i] > 255)
{
bjtState[i] = 255;
}
if (bjtState[i] < 0)
{
bjtState[i] = 0;
}
//set absolute state for all
if (!strcmp(data, "off"))
{
bjtState[i] = 0;
}
if (!strcmp(data, "on"))
{
bjtState[i] = 255;
}
analogWrite(bjtPin[i], bjtState[i]);
EEPROM.update(i, bjtState[i]);
}
memset(data, ' ', 3);
}
void receiveEvent(int byteCount)
{
char buffer[byteCount];
for (int i = 0; i < byteCount; i++)
{
buffer[i] = Wire.read();
}
memset(receivedI2cData, ' ', 3);
strcpy(receivedI2cData, buffer);
}
void setup()
{
Serial.begin(9600);
Serial.setTimeout(5);
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent);
for (int i = 0; i < bjtCount; i++)
{
pinMode(bjtPin[i], OUTPUT);
bjtState[i] = EEPROM.read(i);
analogWrite(bjtPin[i], bjtState[i]);
}
}
void loop()
{
while (Serial.available())
{
strcpy(receivedSerialData, Serial.readString().c_str());
}
changeLights(receivedSerialData);
changeLights(receivedI2cData);
pendingSerialData = "";
for (int i = 0; i < bjtCount; i++)
{
noInterrupts();
pendingSerialData += String(bjtState[i]) + ",";
interrupts();
}
pendingSerialData.remove(pendingSerialData.length() - 1);
Serial.println(pendingSerialData);
}

View file

@ -1,5 +0,0 @@
*-bak
*-cache*
*-bak*
_autosave*
Gerber/*

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,988 +0,0 @@
(export (version D)
(design
(source "D:\\Dokumente\\Coding\\Visual Studio Code\\smart-lamp-control\\Devices\\Control\\Hardware\\Circuit\\Control.sch")
(date "29.08.2021 17:03:30")
(tool "Eeschema (5.1.10)-1")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title "LightControl Console")
(company)
(rev v00)
(date 2021-08-10)
(source Control.sch)
(comment (number 1) (value ""))
(comment (number 2) (value ""))
(comment (number 3) (value ""))
(comment (number 4) (value "Author: GHOSCHT")))))
(components
(comp (ref J8)
(value TYPE-C-31-M-12)
(footprint HRO_TYPE-C-31-M-12:HRO_TYPE-C-31-M-12)
(datasheet https://datasheet.lcsc.com/lcsc/1811131825_Korean-Hroparts-Elec-TYPE-C-31-M-12_C165948.pdf)
(fields
(field (name MANUFACTURER) "HRO Electronics")
(field (name MAXIMUM_PACKAGE_HEIGHT) 3.31mm)
(field (name PARTREV) A)
(field (name STANDARD) "Manufacturer Recommendations"))
(libsource (lib TYPE-C-31-M-12) (part TYPE-C-31-M-12) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 6112D89A))
(comp (ref JP1)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 6113282A))
(comp (ref JP3)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 6118262C))
(comp (ref JP10)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 611A3577))
(comp (ref JP8)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 611A3587))
(comp (ref J5)
(value Conn_01x04)
(footprint Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x04) (description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 613021A3))
(comp (ref J3)
(value Conn_01x04)
(footprint Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x04) (description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 613031C0))
(comp (ref D2)
(value 17-21/BHC-XL2M2TY/3T)
(footprint LED_SMD:LED_0805_2012Metric_Castellated)
(datasheet ~)
(libsource (lib Device) (part LED) (description "Light emitting diode"))
(sheetpath (names /) (tstamps /))
(tstamp 6113FB23))
(comp (ref R6)
(value 200)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 6114AFDD))
(comp (ref J6)
(value AVR-ISP-6)
(footprint AVR-ISP:AVR-ISP)
(datasheet " ~")
(libsource (lib Connector) (part AVR-ISP-6) (description "Atmel 6-pin ISP connector"))
(sheetpath (names /) (tstamps /))
(tstamp 61134728))
(comp (ref Y1)
(value 16MHz)
(footprint Crystal:Crystal_SMD_HC49-SD_HandSoldering)
(datasheet ~)
(libsource (lib Device) (part Crystal) (description "Two pin crystal"))
(sheetpath (names /) (tstamps /))
(tstamp 6113484F))
(comp (ref C1)
(value 22p)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 6113DC2F))
(comp (ref C3)
(value 22p)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 611448F1))
(comp (ref C2)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 6115564D))
(comp (ref J1)
(value Screw_Terminal_01x03)
(footprint CUI_TB006-508-03BE:CUI_TB006-508-03BE)
(datasheet ~)
(libsource (lib Connector) (part Screw_Terminal_01x03) (description "Generic screw terminal, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 6117AFF9))
(comp (ref J7)
(value TYPE-C-31-M-12)
(footprint HRO_TYPE-C-31-M-12:HRO_TYPE-C-31-M-12)
(datasheet https://datasheet.lcsc.com/lcsc/1811131825_Korean-Hroparts-Elec-TYPE-C-31-M-12_C165948.pdf)
(fields
(field (name MANUFACTURER) "HRO Electronics")
(field (name MAXIMUM_PACKAGE_HEIGHT) 3.31mm)
(field (name PARTREV) A)
(field (name STANDARD) "Manufacturer Recommendations"))
(libsource (lib TYPE-C-31-M-12) (part TYPE-C-31-M-12) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 6118AF6C))
(comp (ref U4)
(value CH340C)
(footprint Package_SO:SOIC-16_3.9x9.9mm_P1.27mm)
(datasheet https://datasheet.lcsc.com/szlcsc/Jiangsu-Qin-Heng-CH340C_C84681.pdf)
(libsource (lib Interface_USB) (part CH340C) (description "USB serial converter, UART, SOIC-16"))
(sheetpath (names /) (tstamps /))
(tstamp 6118DFFB))
(comp (ref J2)
(value Screw_Terminal_01x03)
(footprint CUI_TB006-508-03BE:CUI_TB006-508-03BE)
(datasheet ~)
(libsource (lib Connector) (part Screw_Terminal_01x03) (description "Generic screw terminal, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 61192611))
(comp (ref R4)
(value 120)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611931AE))
(comp (ref R2)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611669B4))
(comp (ref JP2)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6119BC53))
(comp (ref JP4)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6119D4AD))
(comp (ref JP5)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6119DE73))
(comp (ref JP6)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6119E34D))
(comp (ref JP7)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6119F385))
(comp (ref JP9)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6119F7AD))
(comp (ref C8)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 6124E822))
(comp (ref C5)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 612767EE))
(comp (ref C6)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 61296637))
(comp (ref R10)
(value 40.2)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 6132AA9D))
(comp (ref R7)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 612495F2))
(comp (ref Q1)
(value Q_NPN_BCE)
(footprint Package_TO_SOT_SMD:SOT-23_Handsoldering)
(datasheet ~)
(libsource (lib Device) (part Q_NPN_BCE) (description "NPN transistor, base/collector/emitter"))
(sheetpath (names /) (tstamps /))
(tstamp 611AC231))
(comp (ref SW2)
(value SW_Push)
(footprint SKRKAEE020:SKRKAEE020)
(datasheet ~)
(libsource (lib Switch) (part SW_Push) (description "Push button switch, generic, two pins"))
(sheetpath (names /) (tstamps /))
(tstamp 61257FBA))
(comp (ref R9)
(value 40.2)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 61303408))
(comp (ref R3)
(value 40.2)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611A5CE7))
(comp (ref U1)
(value ATmega328PB-AU)
(footprint Package_QFP:TQFP-32_7x7mm_P0.8mm)
(datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/40001906C.pdf)
(libsource (lib MCU_Microchip_ATmega) (part ATmega328PB-AU) (description "20MHz, 32kB Flash, 2kB SRAM, 1kB EEPROM, TQFP-32"))
(sheetpath (names /) (tstamps /))
(tstamp 611B4248))
(comp (ref C4)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 611E06B0))
(comp (ref U2)
(value CD74HC4053PWR)
(footprint CD74HC4053PWR:SOP65P640X120-16N)
(libsource (lib CD74HC4053PWR) (part CD74HC4053PWR) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 611A257A))
(comp (ref J4)
(value Conn_01x04)
(footprint Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x04) (description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 61885232))
(comp (ref JP12)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6191A11B))
(comp (ref JP11)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 6191ADB7))
(comp (ref JP14)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 619337D7))
(comp (ref JP13)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 619337DD))
(comp (ref JP16)
(value SolderJumper_Bridged)
(footprint Jumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Bridged) (description "Solder Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 619648E7))
(comp (ref JP15)
(value SolderJumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 619648ED))
(comp (ref D1)
(value 17-21/BHC-XL2M2TY/3T)
(footprint LED_SMD:LED_0805_2012Metric_Castellated)
(datasheet ~)
(libsource (lib Device) (part LED) (description "Light emitting diode"))
(sheetpath (names /) (tstamps /))
(tstamp 61C08A60))
(comp (ref R1)
(value 200)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 61C08A66))
(comp (ref R8)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 61207BF0))
(comp (ref U3)
(value CD74HC4053PWR)
(footprint CD74HC4053PWR:SOP65P640X120-16N)
(libsource (lib CD74HC4053PWR) (part CD74HC4053PWR) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 61207BFE))
(comp (ref C7)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 612205DD))
(comp (ref SW1)
(value SW_Push)
(footprint SKRKAEE020:SKRKAEE020)
(datasheet ~)
(libsource (lib Switch) (part SW_Push) (description "Push button switch, generic, two pins"))
(sheetpath (names /) (tstamps /))
(tstamp 6128EB08))
(comp (ref R5)
(value 40.2)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 612A80A8))
(comp (ref R12)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 612EAB9B))
(comp (ref R13)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 612ECBE9))
(comp (ref R11)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 61382EBC))
(comp (ref C9)
(value 100n)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 614BF013)))
(libparts
(libpart (lib CD74HC4053PWR) (part CD74HC4053PWR)
(fields
(field (name Reference) U)
(field (name Value) CD74HC4053PWR)
(field (name Footprint) SOP65P640X120-16N))
(pins
(pin (num 1) (name B1) (type BiDi))
(pin (num 2) (name B0) (type BiDi))
(pin (num 3) (name C1) (type BiDi))
(pin (num 4) (name CN) (type BiDi))
(pin (num 5) (name C0) (type BiDi))
(pin (num 6) (name ~E) (type input))
(pin (num 7) (name VEE) (type power_in))
(pin (num 8) (name GND) (type power_in))
(pin (num 9) (name S2) (type input))
(pin (num 10) (name S1) (type input))
(pin (num 11) (name S0) (type input))
(pin (num 12) (name A0) (type BiDi))
(pin (num 13) (name A1) (type BiDi))
(pin (num 14) (name AN) (type BiDi))
(pin (num 15) (name BN) (type BiDi))
(pin (num 16) (name VCC) (type power_in))))
(libpart (lib Connector) (part AVR-ISP-6)
(description "Atmel 6-pin ISP connector")
(docs " ~")
(footprints
(fp IDC?Header*2x03*)
(fp Pin?Header*2x03*))
(fields
(field (name Reference) J)
(field (name Value) AVR-ISP-6))
(pins
(pin (num 1) (name MISO) (type passive))
(pin (num 2) (name VCC) (type passive))
(pin (num 3) (name SCK) (type passive))
(pin (num 4) (name MOSI) (type passive))
(pin (num 5) (name ~RST) (type passive))
(pin (num 6) (name GND) (type passive))))
(libpart (lib Connector) (part Screw_Terminal_01x03)
(description "Generic screw terminal, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp TerminalBlock*:*))
(fields
(field (name Reference) J)
(field (name Value) Screw_Terminal_01x03))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))))
(libpart (lib Connector_Generic) (part Conn_01x04)
(description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp Connector*:*_1x??_*))
(fields
(field (name Reference) J)
(field (name Value) Conn_01x04))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))
(pin (num 4) (name Pin_4) (type passive))))
(libpart (lib Device) (part C)
(description "Unpolarized capacitor")
(docs ~)
(footprints
(fp C_*))
(fields
(field (name Reference) C)
(field (name Value) C))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib Device) (part Crystal)
(description "Two pin crystal")
(docs ~)
(footprints
(fp Crystal*))
(fields
(field (name Reference) Y)
(field (name Value) Crystal))
(pins
(pin (num 1) (name 1) (type passive))
(pin (num 2) (name 2) (type passive))))
(libpart (lib Device) (part LED)
(description "Light emitting diode")
(docs ~)
(footprints
(fp LED*)
(fp LED_SMD:*)
(fp LED_THT:*))
(fields
(field (name Reference) D)
(field (name Value) LED))
(pins
(pin (num 1) (name K) (type passive))
(pin (num 2) (name A) (type passive))))
(libpart (lib Device) (part Q_NPN_BCE)
(description "NPN transistor, base/collector/emitter")
(docs ~)
(fields
(field (name Reference) Q)
(field (name Value) Q_NPN_BCE))
(pins
(pin (num 1) (name B) (type input))
(pin (num 2) (name C) (type passive))
(pin (num 3) (name E) (type passive))))
(libpart (lib Device) (part R)
(description Resistor)
(docs ~)
(footprints
(fp R_*))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib Interface_USB) (part CH340C)
(description "USB serial converter, UART, SOIC-16")
(docs https://datasheet.lcsc.com/szlcsc/Jiangsu-Qin-Heng-CH340C_C84681.pdf)
(footprints
(fp SOIC*3.9x9.9mm*P1.27mm*))
(fields
(field (name Reference) U)
(field (name Value) CH340C)
(field (name Footprint) Package_SO:SOIC-16_3.9x9.9mm_P1.27mm))
(pins
(pin (num 1) (name GND) (type power_in))
(pin (num 2) (name TXD) (type output))
(pin (num 3) (name RXD) (type input))
(pin (num 4) (name V3) (type passive))
(pin (num 5) (name UD+) (type BiDi))
(pin (num 6) (name UD-) (type BiDi))
(pin (num 7) (name NC) (type NotConnected))
(pin (num 8) (name NC) (type NotConnected))
(pin (num 9) (name ~CTS) (type input))
(pin (num 10) (name ~DSR) (type input))
(pin (num 11) (name ~RI) (type input))
(pin (num 12) (name ~DCD) (type input))
(pin (num 13) (name ~DTR) (type output))
(pin (num 14) (name ~RTS) (type output))
(pin (num 15) (name R232) (type input))
(pin (num 16) (name VCC) (type power_in))))
(libpart (lib Jumper) (part SolderJumper_2_Bridged)
(description "Solder Jumper, 2-pole, closed/bridged")
(docs ~)
(footprints
(fp SolderJumper*Bridged*))
(fields
(field (name Reference) JP)
(field (name Value) SolderJumper_2_Bridged))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name B) (type passive))))
(libpart (lib Jumper) (part SolderJumper_2_Open)
(description "Solder Jumper, 2-pole, open")
(docs ~)
(footprints
(fp SolderJumper*Open*))
(fields
(field (name Reference) JP)
(field (name Value) SolderJumper_2_Open))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name B) (type passive))))
(libpart (lib MCU_Microchip_ATmega) (part ATmega48PB-AU)
(aliases
(alias ATmega88PB-AU)
(alias ATmega168PB-AU)
(alias ATmega328PB-AU))
(description "20MHz, 4kB Flash, 512B SRAM, 256B EEPROM, TQFP-32")
(docs http://ww1.microchip.com/downloads/en/DeviceDoc/40001909A.pdf)
(footprints
(fp TQFP*7x7mm*P0.8mm*))
(fields
(field (name Reference) U)
(field (name Value) ATmega48PB-AU)
(field (name Footprint) Package_QFP:TQFP-32_7x7mm_P0.8mm))
(pins
(pin (num 1) (name PD3) (type BiDi))
(pin (num 2) (name PD4) (type BiDi))
(pin (num 3) (name PE0) (type BiDi))
(pin (num 4) (name VCC) (type power_in))
(pin (num 5) (name GND) (type power_in))
(pin (num 6) (name PE1) (type BiDi))
(pin (num 7) (name XTAL1/PB6) (type BiDi))
(pin (num 8) (name XTAL2/PB7) (type BiDi))
(pin (num 9) (name PD5) (type BiDi))
(pin (num 10) (name PD6) (type BiDi))
(pin (num 11) (name PD7) (type BiDi))
(pin (num 12) (name PB0) (type BiDi))
(pin (num 13) (name PB1) (type BiDi))
(pin (num 14) (name PB2) (type BiDi))
(pin (num 15) (name PB3) (type BiDi))
(pin (num 16) (name PB4) (type BiDi))
(pin (num 17) (name PB5) (type BiDi))
(pin (num 18) (name AVCC) (type power_in))
(pin (num 19) (name PE2) (type BiDi))
(pin (num 20) (name AREF) (type passive))
(pin (num 21) (name GND) (type passive))
(pin (num 22) (name PE3) (type BiDi))
(pin (num 23) (name PC0) (type BiDi))
(pin (num 24) (name PC1) (type BiDi))
(pin (num 25) (name PC2) (type BiDi))
(pin (num 26) (name PC3) (type BiDi))
(pin (num 27) (name PC4) (type BiDi))
(pin (num 28) (name PC5) (type BiDi))
(pin (num 29) (name ~RESET~/PC6) (type BiDi))
(pin (num 30) (name PD0) (type BiDi))
(pin (num 31) (name PD1) (type BiDi))
(pin (num 32) (name PD2) (type BiDi))))
(libpart (lib Switch) (part SW_Push)
(description "Push button switch, generic, two pins")
(docs ~)
(fields
(field (name Reference) SW)
(field (name Value) SW_Push))
(pins
(pin (num 1) (name 1) (type passive))
(pin (num 2) (name 2) (type passive))))
(libpart (lib TYPE-C-31-M-12) (part TYPE-C-31-M-12)
(fields
(field (name Reference) J)
(field (name Value) TYPE-C-31-M-12)
(field (name Footprint) HRO_TYPE-C-31-M-12)
(field (name MAXIMUM_PACKAGE_HEIGHT) 3.31mm)
(field (name STANDARD) "Manufacturer Recommendations")
(field (name PARTREV) A)
(field (name MANUFACTURER) "HRO Electronics"))
(pins
(pin (num A5) (name CC1) (type BiDi))
(pin (num A6) (name DP1) (type BiDi))
(pin (num A7) (name DN1) (type BiDi))
(pin (num A8) (name SBU1) (type BiDi))
(pin (num A1B12) (name GND) (type power_in))
(pin (num A4B9) (name VBUS) (type power_in))
(pin (num B5) (name CC2) (type BiDi))
(pin (num B6) (name DP2) (type BiDi))
(pin (num B7) (name DN2) (type BiDi))
(pin (num B8) (name SBU2) (type BiDi))
(pin (num B1A12) (name GND) (type power_in))
(pin (num B4A9) (name VBUS) (type power_in))
(pin (num S1) (name SHIELD) (type passive))
(pin (num S2) (name SHIELD) (type passive))
(pin (num S3) (name SHIELD) (type passive))
(pin (num S4) (name SHIELD) (type passive)))))
(libraries
(library (logical CD74HC4053PWR)
(uri "D:\\Dokumente\\Coding\\Visual Studio Code\\smart-lamp-control\\Devices\\Control\\Hardware\\Circuit/Libraries/CD74HC4053PWR.lib"))
(library (logical Connector)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Connector.lib"))
(library (logical Connector_Generic)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Connector_Generic.lib"))
(library (logical Device)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Device.lib"))
(library (logical Interface_USB)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Interface_USB.lib"))
(library (logical Jumper)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Jumper.lib"))
(library (logical MCU_Microchip_ATmega)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/MCU_Microchip_ATmega.lib"))
(library (logical Switch)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Switch.lib"))
(library (logical TYPE-C-31-M-12)
(uri "D:\\Dokumente\\Coding\\Visual Studio Code\\smart-lamp-control\\Devices\\Control\\Hardware\\Circuit/Libraries/TYPE-C-31-M-12.lib")))
(nets
(net (code 1) (name MISO)
(node (ref U3) (pin 15))
(node (ref J6) (pin 1))
(node (ref U1) (pin 16)))
(net (code 2) (name MOSI)
(node (ref U1) (pin 15))
(node (ref J6) (pin 4))
(node (ref U3) (pin 14)))
(net (code 3) (name STOPRST)
(node (ref R3) (pin 2))
(node (ref U1) (pin 23)))
(net (code 4) (name RST)
(node (ref U2) (pin 5))
(node (ref JP15) (pin 2))
(node (ref SW2) (pin 1))
(node (ref U1) (pin 29))
(node (ref R2) (pin 1))
(node (ref J6) (pin 5))
(node (ref J3) (pin 4))
(node (ref R4) (pin 1)))
(net (code 5) (name SCL)
(node (ref J5) (pin 3))
(node (ref JP8) (pin 1))
(node (ref JP3) (pin 1))
(node (ref U1) (pin 28))
(node (ref R12) (pin 2)))
(net (code 6) (name SDA)
(node (ref J5) (pin 2))
(node (ref JP1) (pin 1))
(node (ref JP10) (pin 1))
(node (ref R13) (pin 2))
(node (ref U1) (pin 27)))
(net (code 7) (name RX)
(node (ref J3) (pin 3))
(node (ref R11) (pin 2))
(node (ref U1) (pin 30))
(node (ref JP11) (pin 2))
(node (ref U2) (pin 2)))
(net (code 8) (name VCC)
(node (ref R11) (pin 1))
(node (ref R9) (pin 1))
(node (ref J5) (pin 4))
(node (ref U1) (pin 4))
(node (ref U3) (pin 16))
(node (ref R13) (pin 1))
(node (ref R12) (pin 1))
(node (ref C9) (pin 1))
(node (ref U1) (pin 18))
(node (ref C7) (pin 1))
(node (ref U2) (pin 16))
(node (ref R10) (pin 1))
(node (ref J7) (pin B4A9))
(node (ref C5) (pin 1))
(node (ref R2) (pin 2))
(node (ref C2) (pin 1))
(node (ref C4) (pin 1))
(node (ref U4) (pin 16))
(node (ref J7) (pin A4B9))
(node (ref J6) (pin 2))
(node (ref R6) (pin 2))
(node (ref Q1) (pin 2)))
(net (code 9) (name "Net-(U1-Pad20)")
(node (ref U1) (pin 20)))
(net (code 10) (name TX)
(node (ref J3) (pin 2))
(node (ref U2) (pin 12))
(node (ref JP13) (pin 2))
(node (ref U1) (pin 31)))
(net (code 11) (name XTAL2)
(node (ref U1) (pin 8))
(node (ref Y1) (pin 2))
(node (ref C3) (pin 1)))
(net (code 12) (name XTAL1)
(node (ref Y1) (pin 1))
(node (ref U1) (pin 7))
(node (ref C1) (pin 1)))
(net (code 13) (name SCK)
(node (ref J6) (pin 3))
(node (ref U1) (pin 17)))
(net (code 14) (name "Net-(U1-Pad12)")
(node (ref U1) (pin 12)))
(net (code 15) (name GND)
(node (ref D2) (pin 1))
(node (ref SW2) (pin 2))
(node (ref J7) (pin A1B12))
(node (ref U2) (pin 7))
(node (ref J2) (pin 3))
(node (ref J5) (pin 1))
(node (ref J3) (pin 1))
(node (ref U1) (pin 5))
(node (ref U1) (pin 21))
(node (ref J6) (pin 6))
(node (ref C1) (pin 2))
(node (ref R7) (pin 1))
(node (ref C3) (pin 2))
(node (ref C5) (pin 2))
(node (ref C6) (pin 1))
(node (ref J1) (pin 3))
(node (ref J8) (pin B1A12))
(node (ref J8) (pin S1))
(node (ref J8) (pin S2))
(node (ref J8) (pin S3))
(node (ref J8) (pin S4))
(node (ref C2) (pin 2))
(node (ref C4) (pin 2))
(node (ref U4) (pin 1))
(node (ref J7) (pin S4))
(node (ref J7) (pin S3))
(node (ref J7) (pin S1))
(node (ref J7) (pin B1A12))
(node (ref J7) (pin S2))
(node (ref R5) (pin 1))
(node (ref R8) (pin 1))
(node (ref D1) (pin 1))
(node (ref C9) (pin 2))
(node (ref U3) (pin 8))
(node (ref U3) (pin 7))
(node (ref J8) (pin A1B12))
(node (ref U2) (pin 8))
(node (ref J4) (pin 1))
(node (ref C7) (pin 2)))
(net (code 16) (name MUX1S2)
(node (ref U2) (pin 9))
(node (ref U1) (pin 2)))
(net (code 17) (name MUX1S0)
(node (ref U2) (pin 11))
(node (ref U1) (pin 32)))
(net (code 18) (name MUX1S1)
(node (ref U1) (pin 1))
(node (ref U2) (pin 10)))
(net (code 19) (name SIG2A)
(node (ref J2) (pin 1))
(node (ref U1) (pin 9)))
(net (code 20) (name SIG2B)
(node (ref U1) (pin 10))
(node (ref J2) (pin 2)))
(net (code 21) (name "Net-(U1-Pad22)")
(node (ref U1) (pin 22)))
(net (code 22) (name "Net-(U1-Pad25)")
(node (ref U1) (pin 25)))
(net (code 23) (name "Net-(U1-Pad26)")
(node (ref U1) (pin 26)))
(net (code 24) (name SIG1B)
(node (ref J1) (pin 2))
(node (ref U1) (pin 14)))
(net (code 25) (name SIG1A)
(node (ref J1) (pin 1))
(node (ref U1) (pin 13)))
(net (code 26) (name EXTRX)
(node (ref JP2) (pin 1))
(node (ref J4) (pin 3))
(node (ref U2) (pin 1))
(node (ref JP9) (pin 2))
(node (ref U3) (pin 2)))
(net (code 27) (name EXTTX)
(node (ref U3) (pin 12))
(node (ref J4) (pin 2))
(node (ref JP4) (pin 1))
(node (ref U2) (pin 13))
(node (ref JP7) (pin 2)))
(net (code 28) (name EXTRST)
(node (ref JP5) (pin 1))
(node (ref U2) (pin 3))
(node (ref J4) (pin 4))
(node (ref JP6) (pin 2)))
(net (code 29) (name "Net-(Q1-Pad1)")
(node (ref R3) (pin 1))
(node (ref Q1) (pin 1)))
(net (code 30) (name "Net-(Q1-Pad3)")
(node (ref SW1) (pin 1))
(node (ref R4) (pin 2))
(node (ref Q1) (pin 3)))
(net (code 31) (name "Net-(R7-Pad2)")
(node (ref R7) (pin 2))
(node (ref U2) (pin 6)))
(net (code 32) (name "Net-(U1-Pad24)")
(node (ref U1) (pin 24)))
(net (code 33) (name MUX2S1)
(node (ref U3) (pin 10))
(node (ref U1) (pin 6)))
(net (code 34) (name "Net-(J8-PadA4B9)")
(node (ref J8) (pin A4B9))
(node (ref R9) (pin 2)))
(net (code 35) (name "Net-(U3-Pad3)")
(node (ref U3) (pin 3)))
(net (code 36) (name "Net-(U3-Pad4)")
(node (ref U3) (pin 4)))
(net (code 37) (name "Net-(U3-Pad5)")
(node (ref U3) (pin 5)))
(net (code 38) (name MUX2S0)
(node (ref U3) (pin 11))
(node (ref U1) (pin 3)))
(net (code 39) (name MUX2S2)
(node (ref U1) (pin 19))
(node (ref U3) (pin 9)))
(net (code 40) (name "Net-(U3-Pad1)")
(node (ref U3) (pin 1)))
(net (code 41) (name "Net-(U3-Pad13)")
(node (ref U3) (pin 13)))
(net (code 42) (name "Net-(R5-Pad2)")
(node (ref SW1) (pin 2))
(node (ref R5) (pin 2)))
(net (code 43) (name "Net-(C8-Pad1)")
(node (ref C8) (pin 1))
(node (ref JP16) (pin 2))
(node (ref JP15) (pin 1)))
(net (code 44) (name MUXRX)
(node (ref U2) (pin 15))
(node (ref JP12) (pin 1)))
(net (code 45) (name MUXTX)
(node (ref JP14) (pin 1))
(node (ref U2) (pin 14)))
(net (code 46) (name "Net-(JP13-Pad1)")
(node (ref JP14) (pin 2))
(node (ref JP13) (pin 1))
(node (ref U4) (pin 3)))
(net (code 47) (name MUXRST)
(node (ref U2) (pin 4))
(node (ref JP16) (pin 1)))
(net (code 48) (name "Net-(R8-Pad2)")
(node (ref R8) (pin 2))
(node (ref U3) (pin 6)))
(net (code 49) (name LED)
(node (ref U1) (pin 11))
(node (ref R1) (pin 2)))
(net (code 50) (name "Net-(U4-Pad14)")
(node (ref U4) (pin 14)))
(net (code 51) (name "Net-(D1-Pad2)")
(node (ref D1) (pin 2))
(node (ref R1) (pin 1)))
(net (code 52) (name "Net-(J8-PadB8)")
(node (ref JP6) (pin 1))
(node (ref J8) (pin B8)))
(net (code 53) (name "Net-(J8-PadB5)")
(node (ref J8) (pin B5)))
(net (code 54) (name "Net-(D2-Pad2)")
(node (ref D2) (pin 2))
(node (ref R6) (pin 1)))
(net (code 55) (name "Net-(J8-PadB4A9)")
(node (ref R10) (pin 2))
(node (ref J8) (pin B4A9)))
(net (code 56) (name "Net-(J8-PadA7)")
(node (ref JP3) (pin 2))
(node (ref J8) (pin A7))
(node (ref JP4) (pin 2)))
(net (code 57) (name "Net-(J8-PadA5)")
(node (ref J8) (pin A5)))
(net (code 58) (name "Net-(J8-PadA6)")
(node (ref JP1) (pin 2))
(node (ref J8) (pin A6))
(node (ref JP2) (pin 2)))
(net (code 59) (name "Net-(J8-PadB6)")
(node (ref J8) (pin B6))
(node (ref JP9) (pin 1))
(node (ref JP10) (pin 2)))
(net (code 60) (name "Net-(J8-PadB7)")
(node (ref J8) (pin B7))
(node (ref JP7) (pin 1))
(node (ref JP8) (pin 2)))
(net (code 61) (name "Net-(J8-PadA8)")
(node (ref JP5) (pin 2))
(node (ref J8) (pin A8)))
(net (code 62) (name "Net-(U4-Pad15)")
(node (ref U4) (pin 15)))
(net (code 63) (name "Net-(U4-Pad12)")
(node (ref U4) (pin 12)))
(net (code 64) (name "Net-(C6-Pad2)")
(node (ref U4) (pin 4))
(node (ref C6) (pin 2)))
(net (code 65) (name "Net-(U4-Pad9)")
(node (ref U4) (pin 9)))
(net (code 66) (name "Net-(U4-Pad10)")
(node (ref U4) (pin 10)))
(net (code 67) (name "Net-(U4-Pad11)")
(node (ref U4) (pin 11)))
(net (code 68) (name "Net-(J7-PadB8)")
(node (ref J7) (pin B8)))
(net (code 69) (name "Net-(J7-PadB5)")
(node (ref J7) (pin B5)))
(net (code 70) (name "Net-(J7-PadA5)")
(node (ref J7) (pin A5)))
(net (code 71) (name "Net-(J7-PadA8)")
(node (ref J7) (pin A8)))
(net (code 72) (name "Net-(C8-Pad2)")
(node (ref U4) (pin 13))
(node (ref C8) (pin 2)))
(net (code 73) (name "Net-(JP11-Pad1)")
(node (ref JP12) (pin 2))
(node (ref JP11) (pin 1))
(node (ref U4) (pin 2)))
(net (code 74) (name D+)
(node (ref J7) (pin B6))
(node (ref J7) (pin A6))
(node (ref U4) (pin 5)))
(net (code 75) (name D-)
(node (ref U4) (pin 6))
(node (ref J7) (pin A7))
(node (ref J7) (pin B7)))
(net (code 76) (name "Net-(U4-Pad7)")
(node (ref U4) (pin 7)))
(net (code 77) (name "Net-(U4-Pad8)")
(node (ref U4) (pin 8)))))

File diff suppressed because it is too large Load diff

View file

@ -1,8 +0,0 @@
(fp_lib_table
(lib (name CUI_TB006-508-03BE)(type KiCad)(uri ${KIPRJMOD}/Libraries/CUI_TB006-508-03BE.pretty)(options "")(descr ""))
(lib (name HRO_TYPE-C-31-M-12)(type KiCad)(uri ${KIPRJMOD}/Libraries/HRO_TYPE-C-31-M-12.pretty)(options "")(descr ""))
(lib (name AVR-ISP)(type KiCad)(uri ${KIPRJMOD}/Libraries/AVR-ISP.pretty)(options "")(descr ""))
(lib (name CD74HC4053PWR)(type KiCad)(uri ${KIPRJMOD}/Libraries/CD74HC4053PWR.pretty)(options "")(descr ""))
(lib (name SKRKAEE020)(type KiCad)(uri ${KIPRJMOD}/Libraries/SKRKAEE020.pretty)(options "")(descr ""))
(lib (name CUI_TB006-508-04BE)(type KiCad)(uri "C:/Users/Philipp/Coding/Visual Studio Code/smart-lamp-control/Devices/Module/Hardware/Circuit/Libraries/CUI_TB006-508-04BE.pretty")(options "")(descr ""))
)

View file

@ -1,4 +0,0 @@
(sym_lib_table
(lib (name TYPE-C-31-M-12)(type Legacy)(uri ${KIPRJMOD}/Libraries/TYPE-C-31-M-12.lib)(options "")(descr ""))
(lib (name CD74HC4053PWR)(type Legacy)(uri ${KIPRJMOD}/Libraries/CD74HC4053PWR.lib)(options "")(descr ""))
)

View file

@ -1,5 +0,0 @@
*-bak
*-cache*
*-bak*
_autosave*
Gerber/*

View file

@ -1,907 +0,0 @@
(kicad_pcb (version 20171130) (host pcbnew "(5.1.10)-1")
(general
(thickness 1.6)
(drawings 16)
(tracks 50)
(zones 0)
(modules 11)
(nets 11)
)
(page A4)
(title_block
(title "LED Module")
(date 2021-08-19)
(rev v01)
(comment 4 "Author: GHOSCHT")
)
(layers
(0 F.Cu signal)
(31 B.Cu signal)
(32 B.Adhes user)
(33 F.Adhes user)
(34 B.Paste user)
(35 F.Paste user)
(36 B.SilkS user hide)
(37 F.SilkS user)
(38 B.Mask user)
(39 F.Mask user)
(40 Dwgs.User user)
(41 Cmts.User user)
(42 Eco1.User user)
(43 Eco2.User user)
(44 Edge.Cuts user)
(45 Margin user)
(46 B.CrtYd user)
(47 F.CrtYd user)
(48 B.Fab user)
(49 F.Fab user)
)
(setup
(last_trace_width 0.25)
(user_trace_width 0.3)
(trace_clearance 0.2)
(zone_clearance 0.508)
(zone_45_only no)
(trace_min 0.2)
(via_size 0.8)
(via_drill 0.4)
(via_min_size 0.4)
(via_min_drill 0.3)
(uvia_size 0.3)
(uvia_drill 0.1)
(uvias_allowed no)
(uvia_min_size 0.2)
(uvia_min_drill 0.1)
(edge_width 0.05)
(segment_width 0.2)
(pcb_text_width 0.3)
(pcb_text_size 1.5 1.5)
(mod_edge_width 0.12)
(mod_text_size 1 1)
(mod_text_width 0.15)
(pad_size 1.524 1.524)
(pad_drill 0.762)
(pad_to_mask_clearance 0)
(aux_axis_origin 0 0)
(visible_elements 7FFFFFFF)
(pcbplotparams
(layerselection 0x010fc_ffffffff)
(usegerberextensions true)
(usegerberattributes true)
(usegerberadvancedattributes true)
(creategerberjobfile true)
(excludeedgelayer true)
(linewidth 0.100000)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue false)
(plotinvisibletext false)
(padsonsilk false)
(subtractmaskfromsilk true)
(outputformat 1)
(mirror false)
(drillshape 0)
(scaleselection 1)
(outputdirectory "Gerber/"))
)
(net 0 "")
(net 1 "Net-(Q1-Pad1)")
(net 2 "Net-(Q2-Pad1)")
(net 3 SIG1)
(net 4 SIG2)
(net 5 GND)
(net 6 VCC)
(net 7 LED1N)
(net 8 LED2N)
(net 9 "Net-(JP1-Pad2)")
(net 10 "Net-(JP2-Pad2)")
(net_class Default "This is the default net class."
(clearance 0.2)
(trace_width 0.25)
(via_dia 0.8)
(via_drill 0.4)
(uvia_dia 0.3)
(uvia_drill 0.1)
(add_net GND)
(add_net LED1N)
(add_net LED2N)
(add_net "Net-(JP1-Pad2)")
(add_net "Net-(JP2-Pad2)")
(add_net "Net-(Q1-Pad1)")
(add_net "Net-(Q2-Pad1)")
(add_net SIG1)
(add_net SIG2)
(add_net VCC)
)
(module CUI_TB006-508-03BE:CUI_TB006-508-03BE (layer F.Cu) (tedit 6113F46A) (tstamp 611C5DC1)
(at 142.494 94.742)
(path /611C0292)
(fp_text reference J1 (at -4.318 0) (layer F.SilkS)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(fp_text value Screw_Terminal_01x03 (at 4.826 5.842) (layer F.Fab)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(fp_circle (center 0 -5.1) (end 0.1 -5.1) (layer F.Fab) (width 0.2))
(fp_circle (center 0 -5.1) (end 0.1 -5.1) (layer F.SilkS) (width 0.2))
(fp_line (start 12.95 -4.35) (end 12.95 4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.79 4.35) (end -2.79 -4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start 12.95 4.35) (end -2.79 4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.79 -4.35) (end 12.95 -4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start 12.7 4.1) (end -2.54 4.1) (layer F.SilkS) (width 0.127))
(fp_line (start -2.54 -4.1) (end 12.7 -4.1) (layer F.SilkS) (width 0.127))
(fp_line (start 12.7 -4.1) (end 12.7 4.1) (layer F.SilkS) (width 0.127))
(fp_line (start -2.54 4.1) (end -2.54 -4.1) (layer F.SilkS) (width 0.127))
(fp_line (start 12.7 4.1) (end -2.54 4.1) (layer F.Fab) (width 0.127))
(fp_line (start 12.7 -4.1) (end 12.7 4.1) (layer F.Fab) (width 0.127))
(fp_line (start -2.54 -4.1) (end 12.7 -4.1) (layer F.Fab) (width 0.127))
(fp_line (start -2.54 4.1) (end -2.54 -4.1) (layer F.Fab) (width 0.127))
(pad 1 thru_hole rect (at 0 0) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 3 SIG1))
(pad 2 thru_hole circle (at 5.08 0) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 4 SIG2))
(pad 3 thru_hole circle (at 10.16 0) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 5 GND))
(model ${KIPRJMOD}/Libraries/CUI_TB006-508-03BE.models/TB006-508-03BE.step
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz -90 0 0))
)
)
(module CUI_TB006-508-04BE:CUI_TB006-508-04BE (layer F.Cu) (tedit 611C0388) (tstamp 611C611E)
(at 155.194 57.404 180)
(path /611C148E)
(fp_text reference J2 (at 7.62 -5.461) (layer F.SilkS)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(fp_text value Screw_Terminal_01x04 (at 7.62 -5.08) (layer F.Fab)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(fp_line (start -2.54 4.1) (end -2.54 -4.1) (layer F.Fab) (width 0.127))
(fp_line (start -2.54 -4.1) (end 17.78 -4.1) (layer F.Fab) (width 0.127))
(fp_line (start 17.78 -4.1) (end 17.78 4.1) (layer F.Fab) (width 0.127))
(fp_line (start 17.78 4.1) (end -2.54 4.1) (layer F.Fab) (width 0.127))
(fp_line (start -2.54 4.1) (end -2.54 -4.1) (layer F.SilkS) (width 0.127))
(fp_line (start 17.78 -4.1) (end 17.78 4.1) (layer F.SilkS) (width 0.127))
(fp_line (start -2.54 -4.1) (end 17.78 -4.1) (layer F.SilkS) (width 0.127))
(fp_line (start 17.78 4.1) (end -2.54 4.1) (layer F.SilkS) (width 0.127))
(fp_line (start -2.79 -4.35) (end 18.03 -4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.03 4.35) (end -2.79 4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.79 4.35) (end -2.79 -4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.03 -4.35) (end 18.03 4.35) (layer F.CrtYd) (width 0.05))
(fp_circle (center 0 -5.1) (end 0.1 -5.1) (layer F.SilkS) (width 0.2))
(fp_circle (center 0 -5.1) (end 0.1 -5.1) (layer F.Fab) (width 0.2))
(pad 1 thru_hole rect (at 0 0 180) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 6 VCC))
(pad 2 thru_hole circle (at 5.08 0 180) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 7 LED1N))
(pad 3 thru_hole circle (at 10.16 0 180) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 6 VCC))
(pad 4 thru_hole circle (at 15.24 0 180) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 8 LED2N))
(model ${KIPRJMOD}/Libraries/CUI_TB006-508-04BE.models/CUI_DEVICES_TB006-508-04BE.step
(offset (xyz 20.4 4 0))
(scale (xyz 1 1 1))
(rotate (xyz -90 0 90))
)
)
(module Package_TO_SOT_SMD:SOT-23_Handsoldering (layer F.Cu) (tedit 5A0AB76C) (tstamp 611C6428)
(at 151.13 67.818 270)
(descr "SOT-23, Handsoldering")
(tags SOT-23)
(path /611C28DF)
(attr smd)
(fp_text reference Q1 (at 0 -2.5 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Q_NPN_BCE (at 0 2.5 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 0.76 1.58) (end 0.76 0.65) (layer F.SilkS) (width 0.12))
(fp_line (start 0.76 -1.58) (end 0.76 -0.65) (layer F.SilkS) (width 0.12))
(fp_line (start -2.7 -1.75) (end 2.7 -1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 2.7 -1.75) (end 2.7 1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 2.7 1.75) (end -2.7 1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.7 1.75) (end -2.7 -1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 0.76 -1.58) (end -2.4 -1.58) (layer F.SilkS) (width 0.12))
(fp_line (start -0.7 -0.95) (end -0.7 1.5) (layer F.Fab) (width 0.1))
(fp_line (start -0.15 -1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1))
(fp_line (start -0.7 -0.95) (end -0.15 -1.52) (layer F.Fab) (width 0.1))
(fp_line (start 0.7 -1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1))
(fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1))
(fp_line (start 0.76 1.58) (end -0.7 1.58) (layer F.SilkS) (width 0.12))
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 0.5 0.5) (thickness 0.075)))
)
(pad 1 smd rect (at -1.5 -0.95 270) (size 1.9 0.8) (layers F.Cu F.Paste F.Mask)
(net 1 "Net-(Q1-Pad1)"))
(pad 2 smd rect (at -1.5 0.95 270) (size 1.9 0.8) (layers F.Cu F.Paste F.Mask)
(net 7 LED1N))
(pad 3 smd rect (at 1.5 0 270) (size 1.9 0.8) (layers F.Cu F.Paste F.Mask)
(net 5 GND))
(model ${KISYS3DMOD}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Package_TO_SOT_SMD:SOT-23_Handsoldering (layer F.Cu) (tedit 5A0AB76C) (tstamp 611C643D)
(at 140.97 67.818 270)
(descr "SOT-23, Handsoldering")
(tags SOT-23)
(path /611C3B1E)
(attr smd)
(fp_text reference Q2 (at 0 -2.5 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Q_NPN_BCE (at 0 2.5 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 0.76 1.58) (end -0.7 1.58) (layer F.SilkS) (width 0.12))
(fp_line (start -0.7 1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1))
(fp_line (start 0.7 -1.52) (end 0.7 1.52) (layer F.Fab) (width 0.1))
(fp_line (start -0.7 -0.95) (end -0.15 -1.52) (layer F.Fab) (width 0.1))
(fp_line (start -0.15 -1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1))
(fp_line (start -0.7 -0.95) (end -0.7 1.5) (layer F.Fab) (width 0.1))
(fp_line (start 0.76 -1.58) (end -2.4 -1.58) (layer F.SilkS) (width 0.12))
(fp_line (start -2.7 1.75) (end -2.7 -1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 2.7 1.75) (end -2.7 1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 2.7 -1.75) (end 2.7 1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.7 -1.75) (end 2.7 -1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 0.76 -1.58) (end 0.76 -0.65) (layer F.SilkS) (width 0.12))
(fp_line (start 0.76 1.58) (end 0.76 0.65) (layer F.SilkS) (width 0.12))
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 0.5 0.5) (thickness 0.075)))
)
(pad 3 smd rect (at 1.5 0 270) (size 1.9 0.8) (layers F.Cu F.Paste F.Mask)
(net 5 GND))
(pad 2 smd rect (at -1.5 0.95 270) (size 1.9 0.8) (layers F.Cu F.Paste F.Mask)
(net 8 LED2N))
(pad 1 smd rect (at -1.5 -0.95 270) (size 1.9 0.8) (layers F.Cu F.Paste F.Mask)
(net 2 "Net-(Q2-Pad1)"))
(model ${KISYS3DMOD}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module CUI_TB006-508-02BE:CUI_TB006-508-02BE (layer F.Cu) (tedit 611C079C) (tstamp 611C65CD)
(at 150.114 84.074 180)
(path /611DE627)
(fp_text reference J3 (at 9.398 0) (layer F.SilkS)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(fp_text value Screw_Terminal_01x02 (at 2.54 5.334) (layer F.Fab)
(effects (font (size 1.4 1.4) (thickness 0.15)))
)
(fp_circle (center 0 -5.1) (end 0.1 -5.1) (layer F.Fab) (width 0.2))
(fp_circle (center 0 -5.1) (end 0.1 -5.1) (layer F.SilkS) (width 0.2))
(fp_line (start 7.87 -4.35) (end 7.87 4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.79 4.35) (end -2.79 -4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start 7.87 4.35) (end -2.79 4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.79 -4.35) (end 7.87 -4.35) (layer F.CrtYd) (width 0.05))
(fp_line (start 7.62 4.1) (end -2.54 4.1) (layer F.SilkS) (width 0.127))
(fp_line (start -2.54 -4.1) (end 7.62 -4.1) (layer F.SilkS) (width 0.127))
(fp_line (start 7.62 -4.1) (end 7.62 4.1) (layer F.SilkS) (width 0.127))
(fp_line (start -2.54 4.1) (end -2.54 -4.1) (layer F.SilkS) (width 0.127))
(fp_line (start 7.62 4.1) (end -2.54 4.1) (layer F.Fab) (width 0.127))
(fp_line (start 7.62 -4.1) (end 7.62 4.1) (layer F.Fab) (width 0.127))
(fp_line (start -2.54 -4.1) (end 7.62 -4.1) (layer F.Fab) (width 0.127))
(fp_line (start -2.54 4.1) (end -2.54 -4.1) (layer F.Fab) (width 0.127))
(pad 1 thru_hole rect (at 0 0 180) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 5 GND))
(pad 2 thru_hole circle (at 5.08 0 180) (size 1.95 1.95) (drill 1.3) (layers *.Cu *.Mask)
(net 6 VCC))
(model ${KIPRJMOD}/Libraries/CUI_TB006-508-02BE.models/CUI_DEVICES_TB006-508-02BE.step
(offset (xyz 10.15 4.1 0))
(scale (xyz 1 1 1))
(rotate (xyz -90 0 90))
)
)
(module Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder (layer F.Cu) (tedit 5F68FEEE) (tstamp 611F11E0)
(at 151.13 74.406 270)
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator")
(tags "resistor handsolder")
(path /611DFF5B)
(attr smd)
(fp_text reference R1 (at 0 -1.65 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 470 (at 0 1.65 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 1.85 0.95) (end -1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.85 -0.95) (end 1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.85 -0.95) (end 1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.85 0.95) (end -1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -0.227064 0.735) (end 0.227064 0.735) (layer F.SilkS) (width 0.12))
(fp_line (start -0.227064 -0.735) (end 0.227064 -0.735) (layer F.SilkS) (width 0.12))
(fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1))
(fp_text user %R (at 0 0 90) (layer F.Fab)
(effects (font (size 0.5 0.5) (thickness 0.08)))
)
(pad 1 smd roundrect (at -1 0 270) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 1 "Net-(Q1-Pad1)"))
(pad 2 smd roundrect (at 1 0 270) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 3 SIG1))
(model ${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder (layer F.Cu) (tedit 5F68FEEE) (tstamp 611C65EF)
(at 140.97 74.422 270)
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator")
(tags "resistor handsolder")
(path /611E2082)
(attr smd)
(fp_text reference R2 (at 0 -1.65 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 470 (at 0 1.65 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start -0.227064 -0.735) (end 0.227064 -0.735) (layer F.SilkS) (width 0.12))
(fp_line (start -0.227064 0.735) (end 0.227064 0.735) (layer F.SilkS) (width 0.12))
(fp_line (start -1.85 0.95) (end -1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.85 -0.95) (end 1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.85 -0.95) (end 1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.85 0.95) (end -1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_text user %R (at 0 0 90) (layer F.Fab)
(effects (font (size 0.5 0.5) (thickness 0.08)))
)
(pad 2 smd roundrect (at 1 0 270) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 4 SIG2))
(pad 1 smd roundrect (at -1 0 270) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 2 "Net-(Q2-Pad1)"))
(model ${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm (layer F.Cu) (tedit 5A3EABFC) (tstamp 611F45AD)
(at 138.811 49.5935)
(descr "SMD Solder Jumper, 1x1.5mm Pads, 0.3mm gap, open")
(tags "solder jumper open")
(path /611EF295)
(attr virtual)
(fp_text reference JP1 (at 0 -1.8) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Jumper (at 0 1.9) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.4 1) (end -1.4 -1) (layer F.SilkS) (width 0.12))
(fp_line (start 1.4 1) (end -1.4 1) (layer F.SilkS) (width 0.12))
(fp_line (start 1.4 -1) (end 1.4 1) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -1) (end 1.4 -1) (layer F.SilkS) (width 0.12))
(fp_line (start -1.65 -1.25) (end 1.65 -1.25) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.65 -1.25) (end -1.65 1.25) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.65 1.25) (end 1.65 -1.25) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.65 1.25) (end -1.65 1.25) (layer F.CrtYd) (width 0.05))
(pad 2 smd rect (at 0.65 0) (size 1 1.5) (layers F.Cu F.Mask)
(net 9 "Net-(JP1-Pad2)"))
(pad 1 smd rect (at -0.65 0) (size 1 1.5) (layers F.Cu F.Mask)
(net 7 LED1N))
)
(module Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm (layer F.Cu) (tedit 5A3EABFC) (tstamp 61239CDF)
(at 156.337 49.5935 180)
(descr "SMD Solder Jumper, 1x1.5mm Pads, 0.3mm gap, open")
(tags "solder jumper open")
(path /611F131A)
(attr virtual)
(fp_text reference JP2 (at 0 1.905) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Jumper (at 0 -1.905) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 1.65 1.25) (end -1.65 1.25) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.65 1.25) (end 1.65 -1.25) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.65 -1.25) (end -1.65 1.25) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.65 -1.25) (end 1.65 -1.25) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.4 -1) (end 1.4 -1) (layer F.SilkS) (width 0.12))
(fp_line (start 1.4 -1) (end 1.4 1) (layer F.SilkS) (width 0.12))
(fp_line (start 1.4 1) (end -1.4 1) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 1) (end -1.4 -1) (layer F.SilkS) (width 0.12))
(pad 1 smd rect (at -0.65 0 180) (size 1 1.5) (layers F.Cu F.Mask)
(net 8 LED2N))
(pad 2 smd rect (at 0.65 0 180) (size 1 1.5) (layers F.Cu F.Mask)
(net 10 "Net-(JP2-Pad2)"))
)
(module Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder (layer F.Cu) (tedit 5F68FEEE) (tstamp 611F45CC)
(at 143.3195 49.3395)
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator")
(tags "resistor handsolder")
(path /611F381A)
(attr smd)
(fp_text reference R3 (at 0 -1.65) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 10k (at 0 1.65) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start -0.227064 -0.735) (end 0.227064 -0.735) (layer F.SilkS) (width 0.12))
(fp_line (start -0.227064 0.735) (end 0.227064 0.735) (layer F.SilkS) (width 0.12))
(fp_line (start -1.85 0.95) (end -1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.85 -0.95) (end 1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.85 -0.95) (end 1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.85 0.95) (end -1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 0.5 0.5) (thickness 0.08)))
)
(pad 1 smd roundrect (at -1 0) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 9 "Net-(JP1-Pad2)"))
(pad 2 smd roundrect (at 1 0) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 5 GND))
(model ${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder (layer F.Cu) (tedit 5F68FEEE) (tstamp 611F45DD)
(at 151.8285 49.3395)
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator")
(tags "resistor handsolder")
(path /611F53B7)
(attr smd)
(fp_text reference R4 (at 0 -1.65) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 10k (at 0 1.65) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 1.85 0.95) (end -1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.85 -0.95) (end 1.85 0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.85 -0.95) (end 1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.85 0.95) (end -1.85 -0.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -0.227064 0.735) (end 0.227064 0.735) (layer F.SilkS) (width 0.12))
(fp_line (start -0.227064 -0.735) (end 0.227064 -0.735) (layer F.SilkS) (width 0.12))
(fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1))
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 0.5 0.5) (thickness 0.08)))
)
(pad 2 smd roundrect (at 1 0) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 10 "Net-(JP2-Pad2)"))
(pad 1 smd roundrect (at -1 0) (size 1.2 1.4) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083325)
(net 5 GND))
(model ${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(gr_text 1+ (at 155.321 52.324 180) (layer F.SilkS) (tstamp 612B687D)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text 2- (at 144.78 52.324 180) (layer F.SilkS) (tstamp 612B687D)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text 1- (at 149.86 52.324 180) (layer F.SilkS) (tstamp 612B687D)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text 2- (at 139.7 52.324 180) (layer F.SilkS) (tstamp 612B6803)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text - (at 149.86 78.74 180) (layer F.SilkS) (tstamp 612B6803)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text + (at 144.78 78.74 180) (layer F.SilkS) (tstamp 612B6803)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text GND (at 152.908 100.076) (layer F.SilkS) (tstamp 612B6803)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text SIG2 (at 147.828 100.076) (layer F.SilkS) (tstamp 612B6803)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text SIG1 (at 142.748 100.076) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(gr_text 20.08.2021 (at 153.416 98.552) (layer B.SilkS) (tstamp 612B67CC)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(gr_text "Designed by: GHOSCHT" (at 149.352 100.076) (layer B.SilkS) (tstamp 612B6793)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(gr_text v01 (at 156.464 97.028) (layer B.SilkS)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(gr_line (start 136.652 101.736) (end 158.652 101.736) (layer Edge.Cuts) (width 0.05) (tstamp 611F0E3F))
(gr_line (start 158.652 46.736) (end 158.652 101.736) (layer Edge.Cuts) (width 0.05) (tstamp 611F0E39))
(gr_line (start 136.652 46.736) (end 136.652 101.736) (layer Edge.Cuts) (width 0.05))
(gr_line (start 136.652 46.736) (end 158.652 46.736) (layer Edge.Cuts) (width 0.05))
(segment (start 152.08 72.456) (end 151.13 73.406) (width 0.3) (layer F.Cu) (net 1))
(segment (start 152.08 66.318) (end 152.08 72.456) (width 0.3) (layer F.Cu) (net 1))
(segment (start 141.92 72.472) (end 140.97 73.422) (width 0.3) (layer F.Cu) (net 2))
(segment (start 141.92 66.318) (end 141.92 72.472) (width 0.3) (layer F.Cu) (net 2))
(segment (start 151.439001 75.715001) (end 151.13 75.406) (width 0.3) (layer F.Cu) (net 3))
(segment (start 151.439001 92.838001) (end 151.439001 75.715001) (width 0.3) (layer F.Cu) (net 3))
(segment (start 143.819001 96.067001) (end 148.210001 96.067001) (width 0.3) (layer F.Cu) (net 3))
(segment (start 148.210001 96.067001) (end 151.439001 92.838001) (width 0.3) (layer F.Cu) (net 3))
(segment (start 142.494 94.742) (end 143.819001 96.067001) (width 0.3) (layer F.Cu) (net 3))
(segment (start 147.574 88.575002) (end 147.574 94.742) (width 0.3) (layer F.Cu) (net 4))
(segment (start 140.97 81.971002) (end 147.574 88.575002) (width 0.3) (layer F.Cu) (net 4))
(segment (start 140.97 75.422) (end 140.97 81.971002) (width 0.3) (layer F.Cu) (net 4))
(segment (start 144.3195 49.3395) (end 150.8285 49.3395) (width 0.3) (layer F.Cu) (net 5))
(segment (start 150.368 49.403) (end 147.32 52.451) (width 0.3) (layer F.Cu) (net 5))
(segment (start 150.8285 49.3395) (end 149.0345 49.3395) (width 0.25) (layer F.Cu) (net 5))
(via (at 146.2405 69.5325) (size 0.8) (drill 0.4) (layers F.Cu B.Cu) (net 5))
(segment (start 146.386499 69.386501) (end 146.2405 69.5325) (width 0.25) (layer B.Cu) (net 5))
(segment (start 146.2405 80.2005) (end 150.114 84.074) (width 0.3) (layer F.Cu) (net 5))
(segment (start 146.2405 69.5325) (end 146.2405 80.2005) (width 0.3) (layer F.Cu) (net 5))
(segment (start 146.386499 54.356) (end 146.386499 69.386501) (width 0.3) (layer B.Cu) (net 5))
(segment (start 147.32 52.451) (end 147.32 52.451) (width 0.3) (layer F.Cu) (net 5) (tstamp 612B68E0))
(via (at 147.32 52.451) (size 0.8) (drill 0.4) (layers F.Cu B.Cu) (net 5))
(segment (start 147.32 53.422499) (end 146.386499 54.356) (width 0.25) (layer B.Cu) (net 5))
(segment (start 147.32 52.451) (end 147.32 53.422499) (width 0.25) (layer B.Cu) (net 5))
(segment (start 145.034 84.074) (end 145.034 57.404) (width 0.3) (layer F.Cu) (net 6))
(segment (start 146.359001 56.078999) (end 145.034 57.404) (width 0.3) (layer F.Cu) (net 6))
(segment (start 153.868999 56.078999) (end 146.359001 56.078999) (width 0.3) (layer F.Cu) (net 6))
(segment (start 155.194 57.404) (end 153.868999 56.078999) (width 0.3) (layer F.Cu) (net 6))
(segment (start 150.114 66.252) (end 150.18 66.318) (width 0.3) (layer F.Cu) (net 7))
(segment (start 150.114 57.404) (end 150.114 66.252) (width 0.3) (layer F.Cu) (net 7))
(via (at 149.098 54.991) (size 0.8) (drill 0.4) (layers F.Cu B.Cu) (net 7))
(segment (start 150.114 56.007) (end 150.114 57.404) (width 0.25) (layer B.Cu) (net 7))
(segment (start 149.098 54.991) (end 150.114 56.007) (width 0.25) (layer B.Cu) (net 7))
(segment (start 142.5085 54.991) (end 138.161 50.6435) (width 0.3) (layer F.Cu) (net 7))
(segment (start 138.161 50.6435) (end 138.161 49.5935) (width 0.3) (layer F.Cu) (net 7))
(segment (start 149.098 54.991) (end 142.5085 54.991) (width 0.3) (layer F.Cu) (net 7))
(segment (start 139.954 66.252) (end 140.02 66.318) (width 0.3) (layer F.Cu) (net 8))
(segment (start 139.954 57.404) (end 139.954 66.252) (width 0.3) (layer F.Cu) (net 8))
(via (at 143.0655 53.594) (size 0.8) (drill 0.4) (layers F.Cu B.Cu) (net 8))
(segment (start 143.129 53.6575) (end 143.0655 53.594) (width 0.25) (layer F.Cu) (net 8))
(segment (start 139.954 56.7055) (end 139.954 57.404) (width 0.25) (layer B.Cu) (net 8))
(segment (start 143.0655 53.594) (end 139.954 56.7055) (width 0.25) (layer B.Cu) (net 8))
(segment (start 156.987 50.6435) (end 156.987 49.5935) (width 0.3) (layer F.Cu) (net 8))
(segment (start 154.0365 53.594) (end 156.987 50.6435) (width 0.3) (layer F.Cu) (net 8))
(segment (start 143.0655 53.594) (end 154.0365 53.594) (width 0.3) (layer F.Cu) (net 8))
(segment (start 142.0655 49.5935) (end 142.3195 49.3395) (width 0.3) (layer F.Cu) (net 9))
(segment (start 139.461 49.5935) (end 142.0655 49.5935) (width 0.3) (layer F.Cu) (net 9))
(segment (start 153.0825 49.5935) (end 152.8285 49.3395) (width 0.25) (layer F.Cu) (net 10))
(segment (start 155.433 49.3395) (end 155.687 49.5935) (width 0.3) (layer F.Cu) (net 10))
(segment (start 152.8285 49.3395) (end 155.433 49.3395) (width 0.3) (layer F.Cu) (net 10))
(zone (net 5) (net_name GND) (layer F.Cu) (tstamp 612645D6) (hatch edge 0.508)
(connect_pads (clearance 0.508))
(min_thickness 0.254)
(fill yes (arc_segments 32) (thermal_gap 0.508) (thermal_bridge_width 0.508))
(polygon
(pts
(xy 160.274 103.632) (xy 134.112 103.632) (xy 134.112 45.72) (xy 160.274 45.72)
)
)
(filled_polygon
(pts
(xy 157.992001 101.076) (xy 137.312 101.076) (xy 137.312 70.268) (xy 139.931928 70.268) (xy 139.944188 70.392482)
(xy 139.980498 70.51218) (xy 140.039463 70.622494) (xy 140.118815 70.719185) (xy 140.215506 70.798537) (xy 140.32582 70.857502)
(xy 140.445518 70.893812) (xy 140.57 70.906072) (xy 140.68425 70.903) (xy 140.843 70.74425) (xy 140.843 69.445)
(xy 140.09375 69.445) (xy 139.935 69.60375) (xy 139.931928 70.268) (xy 137.312 70.268) (xy 137.312 50.876974)
(xy 137.41682 50.933002) (xy 137.429681 50.936903) (xy 137.432246 50.945359) (xy 137.505138 51.081732) (xy 137.603236 51.201264)
(xy 137.63319 51.225847) (xy 141.926158 55.518816) (xy 141.950736 55.548764) (xy 141.980684 55.573342) (xy 141.980687 55.573345)
(xy 142.010059 55.59745) (xy 142.070267 55.646862) (xy 142.20664 55.719754) (xy 142.320172 55.754194) (xy 142.354612 55.764641)
(xy 142.36899 55.766057) (xy 142.469939 55.776) (xy 142.469946 55.776) (xy 142.508499 55.779797) (xy 142.547052 55.776)
(xy 145.551842 55.776) (xy 145.477222 55.85062) (xy 145.192571 55.794) (xy 144.875429 55.794) (xy 144.56438 55.855871)
(xy 144.271379 55.977237) (xy 144.007685 56.153431) (xy 143.783431 56.377685) (xy 143.607237 56.641379) (xy 143.485871 56.93438)
(xy 143.424 57.245429) (xy 143.424 57.562571) (xy 143.485871 57.87362) (xy 143.607237 58.166621) (xy 143.783431 58.430315)
(xy 144.007685 58.654569) (xy 144.249001 58.815811) (xy 144.249 82.66219) (xy 144.007685 82.823431) (xy 143.783431 83.047685)
(xy 143.607237 83.311379) (xy 143.552553 83.443397) (xy 141.755 81.645845) (xy 141.755 76.593944) (xy 141.759851 76.592472)
(xy 141.913387 76.510405) (xy 142.047962 76.399962) (xy 142.158405 76.265387) (xy 142.240472 76.111851) (xy 142.291008 75.945255)
(xy 142.308072 75.772001) (xy 142.308072 75.071999) (xy 142.291008 74.898745) (xy 142.240472 74.732149) (xy 142.158405 74.578613)
(xy 142.047962 74.444038) (xy 142.021109 74.422) (xy 142.047962 74.399962) (xy 142.158405 74.265387) (xy 142.240472 74.111851)
(xy 142.291008 73.945255) (xy 142.308072 73.772001) (xy 142.308072 73.194085) (xy 142.44781 73.054347) (xy 142.477764 73.029764)
(xy 142.575862 72.910233) (xy 142.648754 72.77386) (xy 142.661407 72.732149) (xy 142.693642 72.625887) (xy 142.70102 72.550974)
(xy 142.705 72.510561) (xy 142.705 72.510556) (xy 142.708797 72.472) (xy 142.705 72.433444) (xy 142.705 67.773501)
(xy 142.771185 67.719185) (xy 142.850537 67.622494) (xy 142.909502 67.51218) (xy 142.945812 67.392482) (xy 142.958072 67.268)
(xy 142.958072 65.368) (xy 142.945812 65.243518) (xy 142.909502 65.12382) (xy 142.850537 65.013506) (xy 142.771185 64.916815)
(xy 142.674494 64.837463) (xy 142.56418 64.778498) (xy 142.444482 64.742188) (xy 142.32 64.729928) (xy 141.52 64.729928)
(xy 141.395518 64.742188) (xy 141.27582 64.778498) (xy 141.165506 64.837463) (xy 141.068815 64.916815) (xy 140.989463 65.013506)
(xy 140.97 65.049918) (xy 140.950537 65.013506) (xy 140.871185 64.916815) (xy 140.774494 64.837463) (xy 140.739 64.818491)
(xy 140.739 58.81581) (xy 140.980315 58.654569) (xy 141.204569 58.430315) (xy 141.380763 58.166621) (xy 141.502129 57.87362)
(xy 141.564 57.562571) (xy 141.564 57.245429) (xy 141.502129 56.93438) (xy 141.380763 56.641379) (xy 141.204569 56.377685)
(xy 140.980315 56.153431) (xy 140.716621 55.977237) (xy 140.42362 55.855871) (xy 140.112571 55.794) (xy 139.795429 55.794)
(xy 139.48438 55.855871) (xy 139.191379 55.977237) (xy 138.927685 56.153431) (xy 138.703431 56.377685) (xy 138.527237 56.641379)
(xy 138.405871 56.93438) (xy 138.344 57.245429) (xy 138.344 57.562571) (xy 138.405871 57.87362) (xy 138.527237 58.166621)
(xy 138.703431 58.430315) (xy 138.927685 58.654569) (xy 139.169 58.81581) (xy 139.169001 64.916662) (xy 139.168815 64.916815)
(xy 139.089463 65.013506) (xy 139.030498 65.12382) (xy 138.994188 65.243518) (xy 138.981928 65.368) (xy 138.981928 67.268)
(xy 138.994188 67.392482) (xy 139.030498 67.51218) (xy 139.089463 67.622494) (xy 139.168815 67.719185) (xy 139.265506 67.798537)
(xy 139.37582 67.857502) (xy 139.495518 67.893812) (xy 139.62 67.906072) (xy 140.131905 67.906072) (xy 140.118815 67.916815)
(xy 140.039463 68.013506) (xy 139.980498 68.12382) (xy 139.944188 68.243518) (xy 139.931928 68.368) (xy 139.935 69.03225)
(xy 140.09375 69.191) (xy 140.843 69.191) (xy 140.843 67.89175) (xy 140.758393 67.807143) (xy 140.774494 67.798537)
(xy 140.871185 67.719185) (xy 140.950537 67.622494) (xy 140.97 67.586082) (xy 140.989463 67.622494) (xy 141.068815 67.719185)
(xy 141.135 67.773502) (xy 141.135 67.85375) (xy 141.097 67.89175) (xy 141.097 69.191) (xy 141.117 69.191)
(xy 141.117 69.445) (xy 141.097 69.445) (xy 141.097 70.74425) (xy 141.135001 70.782251) (xy 141.135001 72.146842)
(xy 141.097915 72.183928) (xy 140.519999 72.183928) (xy 140.346745 72.200992) (xy 140.180149 72.251528) (xy 140.026613 72.333595)
(xy 139.892038 72.444038) (xy 139.781595 72.578613) (xy 139.699528 72.732149) (xy 139.648992 72.898745) (xy 139.631928 73.071999)
(xy 139.631928 73.772001) (xy 139.648992 73.945255) (xy 139.699528 74.111851) (xy 139.781595 74.265387) (xy 139.892038 74.399962)
(xy 139.918891 74.422) (xy 139.892038 74.444038) (xy 139.781595 74.578613) (xy 139.699528 74.732149) (xy 139.648992 74.898745)
(xy 139.631928 75.071999) (xy 139.631928 75.772001) (xy 139.648992 75.945255) (xy 139.699528 76.111851) (xy 139.781595 76.265387)
(xy 139.892038 76.399962) (xy 140.026613 76.510405) (xy 140.180149 76.592472) (xy 140.185 76.593944) (xy 140.185001 81.932439)
(xy 140.181203 81.971002) (xy 140.196359 82.124888) (xy 140.241246 82.272861) (xy 140.241247 82.272862) (xy 140.314139 82.409235)
(xy 140.35469 82.458646) (xy 140.387655 82.498814) (xy 140.387659 82.498818) (xy 140.412237 82.528766) (xy 140.442185 82.553344)
(xy 146.789 88.90016) (xy 146.789001 93.33019) (xy 146.547685 93.491431) (xy 146.323431 93.715685) (xy 146.147237 93.979379)
(xy 146.025871 94.27238) (xy 145.964 94.583429) (xy 145.964 94.900571) (xy 146.025871 95.21162) (xy 146.055024 95.282001)
(xy 144.144159 95.282001) (xy 144.107072 95.244914) (xy 144.107072 93.767) (xy 144.094812 93.642518) (xy 144.058502 93.52282)
(xy 143.999537 93.412506) (xy 143.920185 93.315815) (xy 143.823494 93.236463) (xy 143.71318 93.177498) (xy 143.593482 93.141188)
(xy 143.469 93.128928) (xy 141.519 93.128928) (xy 141.394518 93.141188) (xy 141.27482 93.177498) (xy 141.164506 93.236463)
(xy 141.067815 93.315815) (xy 140.988463 93.412506) (xy 140.929498 93.52282) (xy 140.893188 93.642518) (xy 140.880928 93.767)
(xy 140.880928 95.717) (xy 140.893188 95.841482) (xy 140.929498 95.96118) (xy 140.988463 96.071494) (xy 141.067815 96.168185)
(xy 141.164506 96.247537) (xy 141.27482 96.306502) (xy 141.394518 96.342812) (xy 141.519 96.355072) (xy 142.996914 96.355072)
(xy 143.236659 96.594817) (xy 143.261237 96.624765) (xy 143.291185 96.649343) (xy 143.291188 96.649346) (xy 143.32056 96.673451)
(xy 143.380768 96.722863) (xy 143.517141 96.795755) (xy 143.630673 96.830195) (xy 143.665113 96.840642) (xy 143.679491 96.842058)
(xy 143.78044 96.852001) (xy 143.780447 96.852001) (xy 143.819 96.855798) (xy 143.857553 96.852001) (xy 148.171448 96.852001)
(xy 148.210001 96.855798) (xy 148.248554 96.852001) (xy 148.248562 96.852001) (xy 148.363888 96.840642) (xy 148.511861 96.795755)
(xy 148.648234 96.722863) (xy 148.767765 96.624765) (xy 148.792348 96.594811) (xy 149.527575 95.859584) (xy 151.716021 95.859584)
(xy 151.808766 96.121429) (xy 152.09412 96.25982) (xy 152.40099 96.339883) (xy 152.717584 96.35854) (xy 153.031733 96.315074)
(xy 153.331367 96.211156) (xy 153.499234 96.121429) (xy 153.591979 95.859584) (xy 152.654 94.921605) (xy 151.716021 95.859584)
(xy 149.527575 95.859584) (xy 151.111873 94.275286) (xy 151.056117 94.48899) (xy 151.03746 94.805584) (xy 151.080926 95.119733)
(xy 151.184844 95.419367) (xy 151.274571 95.587234) (xy 151.536416 95.679979) (xy 152.474395 94.742) (xy 152.833605 94.742)
(xy 153.771584 95.679979) (xy 154.033429 95.587234) (xy 154.17182 95.30188) (xy 154.251883 94.99501) (xy 154.27054 94.678416)
(xy 154.227074 94.364267) (xy 154.123156 94.064633) (xy 154.033429 93.896766) (xy 153.771584 93.804021) (xy 152.833605 94.742)
(xy 152.474395 94.742) (xy 152.460253 94.727858) (xy 152.639858 94.548253) (xy 152.654 94.562395) (xy 153.591979 93.624416)
(xy 153.499234 93.362571) (xy 153.21388 93.22418) (xy 152.90701 93.144117) (xy 152.590416 93.12546) (xy 152.276267 93.168926)
(xy 152.123992 93.221738) (xy 152.167755 93.139861) (xy 152.17014 93.132) (xy 152.212643 92.991888) (xy 152.220021 92.916975)
(xy 152.224001 92.876562) (xy 152.224001 92.876557) (xy 152.227798 92.838001) (xy 152.224001 92.799445) (xy 152.224001 76.364418)
(xy 152.318405 76.249387) (xy 152.400472 76.095851) (xy 152.451008 75.929255) (xy 152.468072 75.756001) (xy 152.468072 75.055999)
(xy 152.451008 74.882745) (xy 152.400472 74.716149) (xy 152.318405 74.562613) (xy 152.207962 74.428038) (xy 152.181109 74.406)
(xy 152.207962 74.383962) (xy 152.318405 74.249387) (xy 152.400472 74.095851) (xy 152.451008 73.929255) (xy 152.468072 73.756001)
(xy 152.468072 73.178085) (xy 152.60781 73.038347) (xy 152.637764 73.013764) (xy 152.735862 72.894233) (xy 152.808754 72.75786)
(xy 152.821407 72.716149) (xy 152.853642 72.609887) (xy 152.863424 72.510561) (xy 152.865 72.494561) (xy 152.865 72.494556)
(xy 152.868797 72.456) (xy 152.865 72.417444) (xy 152.865 67.773501) (xy 152.931185 67.719185) (xy 153.010537 67.622494)
(xy 153.069502 67.51218) (xy 153.105812 67.392482) (xy 153.118072 67.268) (xy 153.118072 65.368) (xy 153.105812 65.243518)
(xy 153.069502 65.12382) (xy 153.010537 65.013506) (xy 152.931185 64.916815) (xy 152.834494 64.837463) (xy 152.72418 64.778498)
(xy 152.604482 64.742188) (xy 152.48 64.729928) (xy 151.68 64.729928) (xy 151.555518 64.742188) (xy 151.43582 64.778498)
(xy 151.325506 64.837463) (xy 151.228815 64.916815) (xy 151.149463 65.013506) (xy 151.13 65.049918) (xy 151.110537 65.013506)
(xy 151.031185 64.916815) (xy 150.934494 64.837463) (xy 150.899 64.818491) (xy 150.899 58.81581) (xy 151.140315 58.654569)
(xy 151.364569 58.430315) (xy 151.540763 58.166621) (xy 151.662129 57.87362) (xy 151.724 57.562571) (xy 151.724 57.245429)
(xy 151.662129 56.93438) (xy 151.632976 56.863999) (xy 153.543842 56.863999) (xy 153.580928 56.901085) (xy 153.580928 58.379)
(xy 153.593188 58.503482) (xy 153.629498 58.62318) (xy 153.688463 58.733494) (xy 153.767815 58.830185) (xy 153.864506 58.909537)
(xy 153.97482 58.968502) (xy 154.094518 59.004812) (xy 154.219 59.017072) (xy 156.169 59.017072) (xy 156.293482 59.004812)
(xy 156.41318 58.968502) (xy 156.523494 58.909537) (xy 156.620185 58.830185) (xy 156.699537 58.733494) (xy 156.758502 58.62318)
(xy 156.794812 58.503482) (xy 156.807072 58.379) (xy 156.807072 56.429) (xy 156.794812 56.304518) (xy 156.758502 56.18482)
(xy 156.699537 56.074506) (xy 156.620185 55.977815) (xy 156.523494 55.898463) (xy 156.41318 55.839498) (xy 156.293482 55.803188)
(xy 156.169 55.790928) (xy 154.691085 55.790928) (xy 154.451346 55.551189) (xy 154.426763 55.521235) (xy 154.307232 55.423137)
(xy 154.170859 55.350245) (xy 154.022886 55.305358) (xy 153.90756 55.293999) (xy 153.907552 55.293999) (xy 153.868999 55.290202)
(xy 153.830446 55.293999) (xy 150.09277 55.293999) (xy 150.093226 55.292898) (xy 150.133 55.092939) (xy 150.133 54.889061)
(xy 150.093226 54.689102) (xy 150.015205 54.500744) (xy 149.933858 54.379) (xy 153.997947 54.379) (xy 154.0365 54.382797)
(xy 154.075053 54.379) (xy 154.075061 54.379) (xy 154.190387 54.367641) (xy 154.33836 54.322754) (xy 154.474733 54.249862)
(xy 154.594264 54.151764) (xy 154.618847 54.12181) (xy 157.514817 51.225841) (xy 157.544764 51.201264) (xy 157.569346 51.171312)
(xy 157.59345 51.141941) (xy 157.642862 51.081733) (xy 157.715754 50.94536) (xy 157.718319 50.936903) (xy 157.73118 50.933002)
(xy 157.841494 50.874037) (xy 157.938185 50.794685) (xy 157.992 50.729111)
)
)
(filled_polygon
(pts
(xy 148.565871 56.93438) (xy 148.504 57.245429) (xy 148.504 57.562571) (xy 148.565871 57.87362) (xy 148.687237 58.166621)
(xy 148.863431 58.430315) (xy 149.087685 58.654569) (xy 149.329 58.81581) (xy 149.329001 64.916662) (xy 149.328815 64.916815)
(xy 149.249463 65.013506) (xy 149.190498 65.12382) (xy 149.154188 65.243518) (xy 149.141928 65.368) (xy 149.141928 67.268)
(xy 149.154188 67.392482) (xy 149.190498 67.51218) (xy 149.249463 67.622494) (xy 149.328815 67.719185) (xy 149.425506 67.798537)
(xy 149.53582 67.857502) (xy 149.655518 67.893812) (xy 149.78 67.906072) (xy 150.291905 67.906072) (xy 150.278815 67.916815)
(xy 150.199463 68.013506) (xy 150.140498 68.12382) (xy 150.104188 68.243518) (xy 150.091928 68.368) (xy 150.095 69.03225)
(xy 150.25375 69.191) (xy 151.003 69.191) (xy 151.003 67.89175) (xy 150.918393 67.807143) (xy 150.934494 67.798537)
(xy 151.031185 67.719185) (xy 151.110537 67.622494) (xy 151.13 67.586082) (xy 151.149463 67.622494) (xy 151.228815 67.719185)
(xy 151.295 67.773502) (xy 151.295 67.85375) (xy 151.257 67.89175) (xy 151.257 69.191) (xy 151.277 69.191)
(xy 151.277 69.445) (xy 151.257 69.445) (xy 151.257 70.74425) (xy 151.295001 70.782251) (xy 151.295001 72.130842)
(xy 151.257915 72.167928) (xy 150.679999 72.167928) (xy 150.506745 72.184992) (xy 150.340149 72.235528) (xy 150.186613 72.317595)
(xy 150.052038 72.428038) (xy 149.941595 72.562613) (xy 149.859528 72.716149) (xy 149.808992 72.882745) (xy 149.791928 73.055999)
(xy 149.791928 73.756001) (xy 149.808992 73.929255) (xy 149.859528 74.095851) (xy 149.941595 74.249387) (xy 150.052038 74.383962)
(xy 150.078891 74.406) (xy 150.052038 74.428038) (xy 149.941595 74.562613) (xy 149.859528 74.716149) (xy 149.808992 74.882745)
(xy 149.791928 75.055999) (xy 149.791928 75.756001) (xy 149.808992 75.929255) (xy 149.859528 76.095851) (xy 149.941595 76.249387)
(xy 150.052038 76.383962) (xy 150.186613 76.494405) (xy 150.340149 76.576472) (xy 150.506745 76.627008) (xy 150.654002 76.641512)
(xy 150.654002 82.462867) (xy 150.39975 82.464) (xy 150.241 82.62275) (xy 150.241 83.947) (xy 150.261 83.947)
(xy 150.261 84.201) (xy 150.241 84.201) (xy 150.241 85.52525) (xy 150.39975 85.684) (xy 150.654001 85.685133)
(xy 150.654001 92.512844) (xy 149.055447 94.111398) (xy 149.000763 93.979379) (xy 148.824569 93.715685) (xy 148.600315 93.491431)
(xy 148.359 93.33019) (xy 148.359 88.613554) (xy 148.362797 88.575001) (xy 148.359 88.536448) (xy 148.359 88.536441)
(xy 148.347641 88.421115) (xy 148.302754 88.273142) (xy 148.229862 88.136769) (xy 148.131764 88.017238) (xy 148.101817 87.992661)
(xy 145.664603 85.555447) (xy 145.796621 85.500763) (xy 146.060315 85.324569) (xy 146.284569 85.100315) (xy 146.318856 85.049)
(xy 148.500928 85.049) (xy 148.513188 85.173482) (xy 148.549498 85.29318) (xy 148.608463 85.403494) (xy 148.687815 85.500185)
(xy 148.784506 85.579537) (xy 148.89482 85.638502) (xy 149.014518 85.674812) (xy 149.139 85.687072) (xy 149.82825 85.684)
(xy 149.987 85.52525) (xy 149.987 84.201) (xy 148.66275 84.201) (xy 148.504 84.35975) (xy 148.500928 85.049)
(xy 146.318856 85.049) (xy 146.460763 84.836621) (xy 146.582129 84.54362) (xy 146.644 84.232571) (xy 146.644 83.915429)
(xy 146.582129 83.60438) (xy 146.460763 83.311379) (xy 146.318857 83.099) (xy 148.500928 83.099) (xy 148.504 83.78825)
(xy 148.66275 83.947) (xy 149.987 83.947) (xy 149.987 82.62275) (xy 149.82825 82.464) (xy 149.139 82.460928)
(xy 149.014518 82.473188) (xy 148.89482 82.509498) (xy 148.784506 82.568463) (xy 148.687815 82.647815) (xy 148.608463 82.744506)
(xy 148.549498 82.85482) (xy 148.513188 82.974518) (xy 148.500928 83.099) (xy 146.318857 83.099) (xy 146.284569 83.047685)
(xy 146.060315 82.823431) (xy 145.819 82.66219) (xy 145.819 70.268) (xy 150.091928 70.268) (xy 150.104188 70.392482)
(xy 150.140498 70.51218) (xy 150.199463 70.622494) (xy 150.278815 70.719185) (xy 150.375506 70.798537) (xy 150.48582 70.857502)
(xy 150.605518 70.893812) (xy 150.73 70.906072) (xy 150.84425 70.903) (xy 151.003 70.74425) (xy 151.003 69.445)
(xy 150.25375 69.445) (xy 150.095 69.60375) (xy 150.091928 70.268) (xy 145.819 70.268) (xy 145.819 58.81581)
(xy 146.060315 58.654569) (xy 146.284569 58.430315) (xy 146.460763 58.166621) (xy 146.582129 57.87362) (xy 146.644 57.562571)
(xy 146.644 57.245429) (xy 146.58738 56.960778) (xy 146.684159 56.863999) (xy 148.595024 56.863999)
)
)
(filled_polygon
(pts
(xy 157.992 48.457889) (xy 157.938185 48.392315) (xy 157.841494 48.312963) (xy 157.73118 48.253998) (xy 157.611482 48.217688)
(xy 157.487 48.205428) (xy 156.487 48.205428) (xy 156.362518 48.217688) (xy 156.337 48.225429) (xy 156.311482 48.217688)
(xy 156.187 48.205428) (xy 155.187 48.205428) (xy 155.062518 48.217688) (xy 154.94282 48.253998) (xy 154.832506 48.312963)
(xy 154.735815 48.392315) (xy 154.656463 48.489006) (xy 154.621455 48.5545) (xy 154.000444 48.5545) (xy 153.998972 48.549649)
(xy 153.916905 48.396113) (xy 153.806462 48.261538) (xy 153.671887 48.151095) (xy 153.518351 48.069028) (xy 153.351755 48.018492)
(xy 153.178501 48.001428) (xy 152.478499 48.001428) (xy 152.305245 48.018492) (xy 152.138649 48.069028) (xy 151.985113 48.151095)
(xy 151.903863 48.217776) (xy 151.879685 48.188315) (xy 151.782994 48.108963) (xy 151.67268 48.049998) (xy 151.552982 48.013688)
(xy 151.4285 48.001428) (xy 151.11425 48.0045) (xy 150.9555 48.16325) (xy 150.9555 49.2125) (xy 150.9755 49.2125)
(xy 150.9755 49.4665) (xy 150.9555 49.4665) (xy 150.9555 50.51575) (xy 151.11425 50.6745) (xy 151.4285 50.677572)
(xy 151.552982 50.665312) (xy 151.67268 50.629002) (xy 151.782994 50.570037) (xy 151.879685 50.490685) (xy 151.903863 50.461224)
(xy 151.985113 50.527905) (xy 152.138649 50.609972) (xy 152.305245 50.660508) (xy 152.478499 50.677572) (xy 153.178501 50.677572)
(xy 153.351755 50.660508) (xy 153.518351 50.609972) (xy 153.671887 50.527905) (xy 153.806462 50.417462) (xy 153.916905 50.282887)
(xy 153.998972 50.129351) (xy 154.000444 50.1245) (xy 154.548928 50.1245) (xy 154.548928 50.3435) (xy 154.561188 50.467982)
(xy 154.597498 50.58768) (xy 154.656463 50.697994) (xy 154.735815 50.794685) (xy 154.832506 50.874037) (xy 154.94282 50.933002)
(xy 155.062518 50.969312) (xy 155.187 50.981572) (xy 155.53877 50.981572) (xy 153.711343 52.809) (xy 143.744211 52.809)
(xy 143.725274 52.790063) (xy 143.555756 52.676795) (xy 143.367398 52.598774) (xy 143.167439 52.559) (xy 142.963561 52.559)
(xy 142.763602 52.598774) (xy 142.575244 52.676795) (xy 142.405726 52.790063) (xy 142.261563 52.934226) (xy 142.148295 53.103744)
(xy 142.070274 53.292102) (xy 142.045302 53.417644) (xy 139.609229 50.981572) (xy 139.961 50.981572) (xy 140.085482 50.969312)
(xy 140.20518 50.933002) (xy 140.315494 50.874037) (xy 140.412185 50.794685) (xy 140.491537 50.697994) (xy 140.550502 50.58768)
(xy 140.586812 50.467982) (xy 140.595625 50.3785) (xy 141.309563 50.3785) (xy 141.341538 50.417462) (xy 141.476113 50.527905)
(xy 141.629649 50.609972) (xy 141.796245 50.660508) (xy 141.969499 50.677572) (xy 142.669501 50.677572) (xy 142.842755 50.660508)
(xy 143.009351 50.609972) (xy 143.162887 50.527905) (xy 143.244137 50.461224) (xy 143.268315 50.490685) (xy 143.365006 50.570037)
(xy 143.47532 50.629002) (xy 143.595018 50.665312) (xy 143.7195 50.677572) (xy 144.03375 50.6745) (xy 144.1925 50.51575)
(xy 144.1925 49.4665) (xy 144.4465 49.4665) (xy 144.4465 50.51575) (xy 144.60525 50.6745) (xy 144.9195 50.677572)
(xy 145.043982 50.665312) (xy 145.16368 50.629002) (xy 145.273994 50.570037) (xy 145.370685 50.490685) (xy 145.450037 50.393994)
(xy 145.509002 50.28368) (xy 145.545312 50.163982) (xy 145.557572 50.0395) (xy 149.590428 50.0395) (xy 149.602688 50.163982)
(xy 149.638998 50.28368) (xy 149.697963 50.393994) (xy 149.777315 50.490685) (xy 149.874006 50.570037) (xy 149.98432 50.629002)
(xy 150.104018 50.665312) (xy 150.2285 50.677572) (xy 150.54275 50.6745) (xy 150.7015 50.51575) (xy 150.7015 49.4665)
(xy 149.75225 49.4665) (xy 149.5935 49.62525) (xy 149.590428 50.0395) (xy 145.557572 50.0395) (xy 145.5545 49.62525)
(xy 145.39575 49.4665) (xy 144.4465 49.4665) (xy 144.1925 49.4665) (xy 144.1725 49.4665) (xy 144.1725 49.2125)
(xy 144.1925 49.2125) (xy 144.1925 48.16325) (xy 144.4465 48.16325) (xy 144.4465 49.2125) (xy 145.39575 49.2125)
(xy 145.5545 49.05375) (xy 145.557572 48.6395) (xy 149.590428 48.6395) (xy 149.5935 49.05375) (xy 149.75225 49.2125)
(xy 150.7015 49.2125) (xy 150.7015 48.16325) (xy 150.54275 48.0045) (xy 150.2285 48.001428) (xy 150.104018 48.013688)
(xy 149.98432 48.049998) (xy 149.874006 48.108963) (xy 149.777315 48.188315) (xy 149.697963 48.285006) (xy 149.638998 48.39532)
(xy 149.602688 48.515018) (xy 149.590428 48.6395) (xy 145.557572 48.6395) (xy 145.545312 48.515018) (xy 145.509002 48.39532)
(xy 145.450037 48.285006) (xy 145.370685 48.188315) (xy 145.273994 48.108963) (xy 145.16368 48.049998) (xy 145.043982 48.013688)
(xy 144.9195 48.001428) (xy 144.60525 48.0045) (xy 144.4465 48.16325) (xy 144.1925 48.16325) (xy 144.03375 48.0045)
(xy 143.7195 48.001428) (xy 143.595018 48.013688) (xy 143.47532 48.049998) (xy 143.365006 48.108963) (xy 143.268315 48.188315)
(xy 143.244137 48.217776) (xy 143.162887 48.151095) (xy 143.009351 48.069028) (xy 142.842755 48.018492) (xy 142.669501 48.001428)
(xy 141.969499 48.001428) (xy 141.796245 48.018492) (xy 141.629649 48.069028) (xy 141.476113 48.151095) (xy 141.341538 48.261538)
(xy 141.231095 48.396113) (xy 141.149028 48.549649) (xy 141.098492 48.716245) (xy 141.089406 48.8085) (xy 140.595625 48.8085)
(xy 140.586812 48.719018) (xy 140.550502 48.59932) (xy 140.491537 48.489006) (xy 140.412185 48.392315) (xy 140.315494 48.312963)
(xy 140.20518 48.253998) (xy 140.085482 48.217688) (xy 139.961 48.205428) (xy 138.961 48.205428) (xy 138.836518 48.217688)
(xy 138.811 48.225429) (xy 138.785482 48.217688) (xy 138.661 48.205428) (xy 137.661 48.205428) (xy 137.536518 48.217688)
(xy 137.41682 48.253998) (xy 137.312 48.310026) (xy 137.312 47.396) (xy 157.992 47.396)
)
)
)
(zone (net 5) (net_name GND) (layer B.Cu) (tstamp 612645D3) (hatch edge 0.508)
(connect_pads (clearance 0.508))
(min_thickness 0.254)
(fill yes (arc_segments 32) (thermal_gap 0.508) (thermal_bridge_width 0.508))
(polygon
(pts
(xy 160.274 103.124) (xy 135.128 103.124) (xy 135.128 45.466) (xy 160.274 45.466)
)
)
(filled_polygon
(pts
(xy 157.992001 101.076) (xy 137.312 101.076) (xy 137.312 93.767) (xy 140.880928 93.767) (xy 140.880928 95.717)
(xy 140.893188 95.841482) (xy 140.929498 95.96118) (xy 140.988463 96.071494) (xy 141.067815 96.168185) (xy 141.164506 96.247537)
(xy 141.27482 96.306502) (xy 141.394518 96.342812) (xy 141.519 96.355072) (xy 143.469 96.355072) (xy 143.593482 96.342812)
(xy 143.71318 96.306502) (xy 143.823494 96.247537) (xy 143.920185 96.168185) (xy 143.999537 96.071494) (xy 144.058502 95.96118)
(xy 144.094812 95.841482) (xy 144.107072 95.717) (xy 144.107072 94.583429) (xy 145.964 94.583429) (xy 145.964 94.900571)
(xy 146.025871 95.21162) (xy 146.147237 95.504621) (xy 146.323431 95.768315) (xy 146.547685 95.992569) (xy 146.811379 96.168763)
(xy 147.10438 96.290129) (xy 147.415429 96.352) (xy 147.732571 96.352) (xy 148.04362 96.290129) (xy 148.336621 96.168763)
(xy 148.600315 95.992569) (xy 148.7333 95.859584) (xy 151.716021 95.859584) (xy 151.808766 96.121429) (xy 152.09412 96.25982)
(xy 152.40099 96.339883) (xy 152.717584 96.35854) (xy 153.031733 96.315074) (xy 153.331367 96.211156) (xy 153.499234 96.121429)
(xy 153.591979 95.859584) (xy 152.654 94.921605) (xy 151.716021 95.859584) (xy 148.7333 95.859584) (xy 148.824569 95.768315)
(xy 149.000763 95.504621) (xy 149.122129 95.21162) (xy 149.184 94.900571) (xy 149.184 94.805584) (xy 151.03746 94.805584)
(xy 151.080926 95.119733) (xy 151.184844 95.419367) (xy 151.274571 95.587234) (xy 151.536416 95.679979) (xy 152.474395 94.742)
(xy 152.833605 94.742) (xy 153.771584 95.679979) (xy 154.033429 95.587234) (xy 154.17182 95.30188) (xy 154.251883 94.99501)
(xy 154.27054 94.678416) (xy 154.227074 94.364267) (xy 154.123156 94.064633) (xy 154.033429 93.896766) (xy 153.771584 93.804021)
(xy 152.833605 94.742) (xy 152.474395 94.742) (xy 151.536416 93.804021) (xy 151.274571 93.896766) (xy 151.13618 94.18212)
(xy 151.056117 94.48899) (xy 151.03746 94.805584) (xy 149.184 94.805584) (xy 149.184 94.583429) (xy 149.122129 94.27238)
(xy 149.000763 93.979379) (xy 148.824569 93.715685) (xy 148.7333 93.624416) (xy 151.716021 93.624416) (xy 152.654 94.562395)
(xy 153.591979 93.624416) (xy 153.499234 93.362571) (xy 153.21388 93.22418) (xy 152.90701 93.144117) (xy 152.590416 93.12546)
(xy 152.276267 93.168926) (xy 151.976633 93.272844) (xy 151.808766 93.362571) (xy 151.716021 93.624416) (xy 148.7333 93.624416)
(xy 148.600315 93.491431) (xy 148.336621 93.315237) (xy 148.04362 93.193871) (xy 147.732571 93.132) (xy 147.415429 93.132)
(xy 147.10438 93.193871) (xy 146.811379 93.315237) (xy 146.547685 93.491431) (xy 146.323431 93.715685) (xy 146.147237 93.979379)
(xy 146.025871 94.27238) (xy 145.964 94.583429) (xy 144.107072 94.583429) (xy 144.107072 93.767) (xy 144.094812 93.642518)
(xy 144.058502 93.52282) (xy 143.999537 93.412506) (xy 143.920185 93.315815) (xy 143.823494 93.236463) (xy 143.71318 93.177498)
(xy 143.593482 93.141188) (xy 143.469 93.128928) (xy 141.519 93.128928) (xy 141.394518 93.141188) (xy 141.27482 93.177498)
(xy 141.164506 93.236463) (xy 141.067815 93.315815) (xy 140.988463 93.412506) (xy 140.929498 93.52282) (xy 140.893188 93.642518)
(xy 140.880928 93.767) (xy 137.312 93.767) (xy 137.312 83.915429) (xy 143.424 83.915429) (xy 143.424 84.232571)
(xy 143.485871 84.54362) (xy 143.607237 84.836621) (xy 143.783431 85.100315) (xy 144.007685 85.324569) (xy 144.271379 85.500763)
(xy 144.56438 85.622129) (xy 144.875429 85.684) (xy 145.192571 85.684) (xy 145.50362 85.622129) (xy 145.796621 85.500763)
(xy 146.060315 85.324569) (xy 146.284569 85.100315) (xy 146.318856 85.049) (xy 148.500928 85.049) (xy 148.513188 85.173482)
(xy 148.549498 85.29318) (xy 148.608463 85.403494) (xy 148.687815 85.500185) (xy 148.784506 85.579537) (xy 148.89482 85.638502)
(xy 149.014518 85.674812) (xy 149.139 85.687072) (xy 149.82825 85.684) (xy 149.987 85.52525) (xy 149.987 84.201)
(xy 150.241 84.201) (xy 150.241 85.52525) (xy 150.39975 85.684) (xy 151.089 85.687072) (xy 151.213482 85.674812)
(xy 151.33318 85.638502) (xy 151.443494 85.579537) (xy 151.540185 85.500185) (xy 151.619537 85.403494) (xy 151.678502 85.29318)
(xy 151.714812 85.173482) (xy 151.727072 85.049) (xy 151.724 84.35975) (xy 151.56525 84.201) (xy 150.241 84.201)
(xy 149.987 84.201) (xy 148.66275 84.201) (xy 148.504 84.35975) (xy 148.500928 85.049) (xy 146.318856 85.049)
(xy 146.460763 84.836621) (xy 146.582129 84.54362) (xy 146.644 84.232571) (xy 146.644 83.915429) (xy 146.582129 83.60438)
(xy 146.460763 83.311379) (xy 146.318857 83.099) (xy 148.500928 83.099) (xy 148.504 83.78825) (xy 148.66275 83.947)
(xy 149.987 83.947) (xy 149.987 82.62275) (xy 150.241 82.62275) (xy 150.241 83.947) (xy 151.56525 83.947)
(xy 151.724 83.78825) (xy 151.727072 83.099) (xy 151.714812 82.974518) (xy 151.678502 82.85482) (xy 151.619537 82.744506)
(xy 151.540185 82.647815) (xy 151.443494 82.568463) (xy 151.33318 82.509498) (xy 151.213482 82.473188) (xy 151.089 82.460928)
(xy 150.39975 82.464) (xy 150.241 82.62275) (xy 149.987 82.62275) (xy 149.82825 82.464) (xy 149.139 82.460928)
(xy 149.014518 82.473188) (xy 148.89482 82.509498) (xy 148.784506 82.568463) (xy 148.687815 82.647815) (xy 148.608463 82.744506)
(xy 148.549498 82.85482) (xy 148.513188 82.974518) (xy 148.500928 83.099) (xy 146.318857 83.099) (xy 146.284569 83.047685)
(xy 146.060315 82.823431) (xy 145.796621 82.647237) (xy 145.50362 82.525871) (xy 145.192571 82.464) (xy 144.875429 82.464)
(xy 144.56438 82.525871) (xy 144.271379 82.647237) (xy 144.007685 82.823431) (xy 143.783431 83.047685) (xy 143.607237 83.311379)
(xy 143.485871 83.60438) (xy 143.424 83.915429) (xy 137.312 83.915429) (xy 137.312 57.245429) (xy 138.344 57.245429)
(xy 138.344 57.562571) (xy 138.405871 57.87362) (xy 138.527237 58.166621) (xy 138.703431 58.430315) (xy 138.927685 58.654569)
(xy 139.191379 58.830763) (xy 139.48438 58.952129) (xy 139.795429 59.014) (xy 140.112571 59.014) (xy 140.42362 58.952129)
(xy 140.716621 58.830763) (xy 140.980315 58.654569) (xy 141.204569 58.430315) (xy 141.380763 58.166621) (xy 141.502129 57.87362)
(xy 141.564 57.562571) (xy 141.564 57.245429) (xy 143.424 57.245429) (xy 143.424 57.562571) (xy 143.485871 57.87362)
(xy 143.607237 58.166621) (xy 143.783431 58.430315) (xy 144.007685 58.654569) (xy 144.271379 58.830763) (xy 144.56438 58.952129)
(xy 144.875429 59.014) (xy 145.192571 59.014) (xy 145.50362 58.952129) (xy 145.796621 58.830763) (xy 146.060315 58.654569)
(xy 146.284569 58.430315) (xy 146.460763 58.166621) (xy 146.582129 57.87362) (xy 146.644 57.562571) (xy 146.644 57.245429)
(xy 146.582129 56.93438) (xy 146.460763 56.641379) (xy 146.284569 56.377685) (xy 146.060315 56.153431) (xy 145.796621 55.977237)
(xy 145.50362 55.855871) (xy 145.192571 55.794) (xy 144.875429 55.794) (xy 144.56438 55.855871) (xy 144.271379 55.977237)
(xy 144.007685 56.153431) (xy 143.783431 56.377685) (xy 143.607237 56.641379) (xy 143.485871 56.93438) (xy 143.424 57.245429)
(xy 141.564 57.245429) (xy 141.502129 56.93438) (xy 141.380763 56.641379) (xy 141.265471 56.468831) (xy 142.845241 54.889061)
(xy 148.063 54.889061) (xy 148.063 55.092939) (xy 148.102774 55.292898) (xy 148.180795 55.481256) (xy 148.294063 55.650774)
(xy 148.438226 55.794937) (xy 148.607744 55.908205) (xy 148.796102 55.986226) (xy 148.996061 56.026) (xy 149.058199 56.026)
(xy 149.146398 56.1142) (xy 149.087685 56.153431) (xy 148.863431 56.377685) (xy 148.687237 56.641379) (xy 148.565871 56.93438)
(xy 148.504 57.245429) (xy 148.504 57.562571) (xy 148.565871 57.87362) (xy 148.687237 58.166621) (xy 148.863431 58.430315)
(xy 149.087685 58.654569) (xy 149.351379 58.830763) (xy 149.64438 58.952129) (xy 149.955429 59.014) (xy 150.272571 59.014)
(xy 150.58362 58.952129) (xy 150.876621 58.830763) (xy 151.140315 58.654569) (xy 151.364569 58.430315) (xy 151.540763 58.166621)
(xy 151.662129 57.87362) (xy 151.724 57.562571) (xy 151.724 57.245429) (xy 151.662129 56.93438) (xy 151.540763 56.641379)
(xy 151.398857 56.429) (xy 153.580928 56.429) (xy 153.580928 58.379) (xy 153.593188 58.503482) (xy 153.629498 58.62318)
(xy 153.688463 58.733494) (xy 153.767815 58.830185) (xy 153.864506 58.909537) (xy 153.97482 58.968502) (xy 154.094518 59.004812)
(xy 154.219 59.017072) (xy 156.169 59.017072) (xy 156.293482 59.004812) (xy 156.41318 58.968502) (xy 156.523494 58.909537)
(xy 156.620185 58.830185) (xy 156.699537 58.733494) (xy 156.758502 58.62318) (xy 156.794812 58.503482) (xy 156.807072 58.379)
(xy 156.807072 56.429) (xy 156.794812 56.304518) (xy 156.758502 56.18482) (xy 156.699537 56.074506) (xy 156.620185 55.977815)
(xy 156.523494 55.898463) (xy 156.41318 55.839498) (xy 156.293482 55.803188) (xy 156.169 55.790928) (xy 154.219 55.790928)
(xy 154.094518 55.803188) (xy 153.97482 55.839498) (xy 153.864506 55.898463) (xy 153.767815 55.977815) (xy 153.688463 56.074506)
(xy 153.629498 56.18482) (xy 153.593188 56.304518) (xy 153.580928 56.429) (xy 151.398857 56.429) (xy 151.364569 56.377685)
(xy 151.140315 56.153431) (xy 150.876621 55.977237) (xy 150.874665 55.976427) (xy 150.874 55.969677) (xy 150.874 55.969667)
(xy 150.863003 55.858014) (xy 150.819546 55.714753) (xy 150.748975 55.582725) (xy 150.748974 55.582723) (xy 150.677799 55.495997)
(xy 150.654001 55.466999) (xy 150.625004 55.443202) (xy 150.133 54.951199) (xy 150.133 54.889061) (xy 150.093226 54.689102)
(xy 150.015205 54.500744) (xy 149.901937 54.331226) (xy 149.757774 54.187063) (xy 149.588256 54.073795) (xy 149.399898 53.995774)
(xy 149.199939 53.956) (xy 148.996061 53.956) (xy 148.796102 53.995774) (xy 148.607744 54.073795) (xy 148.438226 54.187063)
(xy 148.294063 54.331226) (xy 148.180795 54.500744) (xy 148.102774 54.689102) (xy 148.063 54.889061) (xy 142.845241 54.889061)
(xy 143.105303 54.629) (xy 143.167439 54.629) (xy 143.367398 54.589226) (xy 143.555756 54.511205) (xy 143.725274 54.397937)
(xy 143.869437 54.253774) (xy 143.982705 54.084256) (xy 144.060726 53.895898) (xy 144.1005 53.695939) (xy 144.1005 53.492061)
(xy 144.060726 53.292102) (xy 143.982705 53.103744) (xy 143.869437 52.934226) (xy 143.725274 52.790063) (xy 143.555756 52.676795)
(xy 143.367398 52.598774) (xy 143.167439 52.559) (xy 142.963561 52.559) (xy 142.763602 52.598774) (xy 142.575244 52.676795)
(xy 142.405726 52.790063) (xy 142.261563 52.934226) (xy 142.148295 53.103744) (xy 142.070274 53.292102) (xy 142.0305 53.492061)
(xy 142.0305 53.554197) (xy 139.789524 55.795175) (xy 139.48438 55.855871) (xy 139.191379 55.977237) (xy 138.927685 56.153431)
(xy 138.703431 56.377685) (xy 138.527237 56.641379) (xy 138.405871 56.93438) (xy 138.344 57.245429) (xy 137.312 57.245429)
(xy 137.312 47.396) (xy 157.992 47.396)
)
)
)
)

View file

@ -1,208 +0,0 @@
(export (version D)
(design
(source "C:\\Users\\Philipp\\Coding\\Visual Studio Code\\smart-lamp-control\\Devices\\Module\\Hardware\\Circuit\\Module.sch")
(date "20.08.2021 01:29:23")
(tool "Eeschema (5.1.10)-1")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title "LED Module")
(company)
(rev v01)
(date 2021-08-19)
(source Module.sch)
(comment (number 1) (value ""))
(comment (number 2) (value ""))
(comment (number 3) (value ""))
(comment (number 4) (value "Author: GHOSCHT")))))
(components
(comp (ref J1)
(value Screw_Terminal_01x03)
(footprint CUI_TB006-508-03BE:CUI_TB006-508-03BE)
(datasheet ~)
(libsource (lib Connector) (part Screw_Terminal_01x03) (description "Generic screw terminal, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 611C0292))
(comp (ref J2)
(value Screw_Terminal_01x04)
(footprint CUI_TB006-508-04BE:CUI_TB006-508-04BE)
(datasheet ~)
(libsource (lib Connector) (part Screw_Terminal_01x04) (description "Generic screw terminal, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 611C148E))
(comp (ref Q1)
(value Q_NPN_BCE)
(footprint Package_TO_SOT_SMD:SOT-23_Handsoldering)
(datasheet ~)
(libsource (lib Device) (part Q_NPN_BCE) (description "NPN transistor, base/collector/emitter"))
(sheetpath (names /) (tstamps /))
(tstamp 611C28DF))
(comp (ref Q2)
(value Q_NPN_BCE)
(footprint Package_TO_SOT_SMD:SOT-23_Handsoldering)
(datasheet ~)
(libsource (lib Device) (part Q_NPN_BCE) (description "NPN transistor, base/collector/emitter"))
(sheetpath (names /) (tstamps /))
(tstamp 611C3B1E))
(comp (ref R1)
(value 470)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611DFF5B))
(comp (ref R2)
(value 470)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611E2082))
(comp (ref J3)
(value Screw_Terminal_01x02)
(footprint CUI_TB006-508-02BE:CUI_TB006-508-02BE)
(datasheet ~)
(libsource (lib Connector) (part Screw_Terminal_01x02) (description "Generic screw terminal, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 611DE627))
(comp (ref JP1)
(value Jumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 611EF295))
(comp (ref JP2)
(value Jumper)
(footprint Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm)
(datasheet ~)
(libsource (lib Jumper) (part SolderJumper_2_Open) (description "Solder Jumper, 2-pole, open"))
(sheetpath (names /) (tstamps /))
(tstamp 611F131A))
(comp (ref R3)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611F381A))
(comp (ref R4)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 611F53B7)))
(libparts
(libpart (lib Connector) (part Screw_Terminal_01x02)
(description "Generic screw terminal, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp TerminalBlock*:*))
(fields
(field (name Reference) J)
(field (name Value) Screw_Terminal_01x02))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))))
(libpart (lib Connector) (part Screw_Terminal_01x03)
(description "Generic screw terminal, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp TerminalBlock*:*))
(fields
(field (name Reference) J)
(field (name Value) Screw_Terminal_01x03))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))))
(libpart (lib Connector) (part Screw_Terminal_01x04)
(description "Generic screw terminal, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp TerminalBlock*:*))
(fields
(field (name Reference) J)
(field (name Value) Screw_Terminal_01x04))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))
(pin (num 4) (name Pin_4) (type passive))))
(libpart (lib Device) (part Q_NPN_BCE)
(description "NPN transistor, base/collector/emitter")
(docs ~)
(fields
(field (name Reference) Q)
(field (name Value) Q_NPN_BCE))
(pins
(pin (num 1) (name B) (type input))
(pin (num 2) (name C) (type passive))
(pin (num 3) (name E) (type passive))))
(libpart (lib Device) (part R)
(description Resistor)
(docs ~)
(footprints
(fp R_*))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib Jumper) (part SolderJumper_2_Open)
(description "Solder Jumper, 2-pole, open")
(docs ~)
(footprints
(fp SolderJumper*Open*))
(fields
(field (name Reference) JP)
(field (name Value) SolderJumper_2_Open))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name B) (type passive)))))
(libraries
(library (logical Connector)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Connector.lib"))
(library (logical Device)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Device.lib"))
(library (logical Jumper)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Jumper.lib")))
(nets
(net (code 1) (name SIG1)
(node (ref R1) (pin 2))
(node (ref J1) (pin 1)))
(net (code 2) (name "Net-(JP1-Pad2)")
(node (ref R3) (pin 1))
(node (ref JP1) (pin 2)))
(net (code 3) (name LED2N)
(node (ref Q2) (pin 2))
(node (ref JP2) (pin 1))
(node (ref J2) (pin 4)))
(net (code 4) (name SIG2)
(node (ref R2) (pin 2))
(node (ref J1) (pin 2)))
(net (code 5) (name LED1N)
(node (ref JP1) (pin 1))
(node (ref Q1) (pin 2))
(node (ref J2) (pin 2)))
(net (code 6) (name GND)
(node (ref Q2) (pin 3))
(node (ref Q1) (pin 3))
(node (ref J1) (pin 3))
(node (ref J3) (pin 1))
(node (ref R3) (pin 2))
(node (ref R4) (pin 1)))
(net (code 7) (name "Net-(JP2-Pad2)")
(node (ref JP2) (pin 2))
(node (ref R4) (pin 2)))
(net (code 8) (name "Net-(Q2-Pad1)")
(node (ref Q2) (pin 1))
(node (ref R2) (pin 1)))
(net (code 9) (name "Net-(Q1-Pad1)")
(node (ref Q1) (pin 1))
(node (ref R1) (pin 1)))
(net (code 10) (name VCC)
(node (ref J3) (pin 2))
(node (ref J2) (pin 3))
(node (ref J2) (pin 1)))))

View file

@ -1,5 +0,0 @@
(fp_lib_table
(lib (name CUI_TB006-508-03BE)(type KiCad)(uri ${KIPRJMOD}/Libraries/CUI_TB006-508-03BE.pretty)(options "")(descr ""))
(lib (name CUI_TB006-508-04BE)(type KiCad)(uri ${KIPRJMOD}/Libraries/CUI_TB006-508-04BE.pretty)(options "")(descr ""))
(lib (name CUI_TB006-508-02BE)(type KiCad)(uri ${KIPRJMOD}/Libraries/CUI_TB006-508-02BE.pretty)(options "")(descr ""))
)

View file

@ -1,20 +1,41 @@
# light-control
# Heliox
[![Electron Build](https://github.com/GHOSCHT/light-control/actions/workflows/Electron.yml/badge.svg)](https://github.com/GHOSCHT/light-control/actions/workflows/Electron.yml)
[![PlatformIO Build](https://github.com/GHOSCHT/light-control/actions/workflows/PlatformIO.yml/badge.svg)](https://github.com/GHOSCHT/light-control/actions/workflows/PlatformIO.yml)
[![CodeQL](https://github.com/GHOSCHT/light-control/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/GHOSCHT/light-control/actions/workflows/codeql-analysis.yml)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/bdb8a994396345efab8271307f1ea155)](https://www.codacy.com/gh/GHOSCHT/light-control/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=GHOSCHT/light-control&amp;utm_campaign=Badge_Grade)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/bdb8a994396345efab8271307f1ea155)](https://www.codacy.com/gh/GHOSCHT/heliox/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=GHOSCHT/heliox&amp;utm_campaign=Badge_Grade)
<a href="https://www.figma.com/file/fK5tEIw4Zx8AivuVbu79Lw/Light-Control">
<img src="https://img.shields.io/badge/Figma-F24E1E?style=flat&logo=figma&logoColor=white" />
</a>
Uses: https://github.com/GHOSCHT/simple-electron-react-boilerplate
<div align="center">
<img src="assets/logo.png" alt="Logo" width="80" height="80">
<p>It just takes two standing lights which are too far away to reach, to make turning on and off desk lights a chore.</p>
<p>Heliox aims to make desk lighting as easy as possible.</p>
</div>
Dashboard: node-gyp fails on sqlite3 build -> set default pyhton version to python 2
```
node-gyp --python /path/to/python2.7/python.exe
```
or
```
npm config set python /path/to/executable/python2.7
```
## About Heliox
Heliox consists of a combination of multiple modules that attacht to or fully replace parts of your lighing setup. The modularity allows you to mix and match in order to suit each person's special needs. CAD files and custom PCB files are included with the intent to make the footprint as slim as possible.
## Modules
### [Switching Module](/modules/switching-module/Hardware)
The switching module is the heart of this project. It sits right in the body of each lamp and contains the necessary transistors to control and even dim the light bulbs.
### [Controller](/modules/control)
The controller is the centerpiece of communication. It sits between the switching module, console and dashboard. USB C ports allow for easy connection.
### [Console](/modules/console) (Optional)
The console is a slim device with rotary encoders and a status led that connects to the control board via USB C.
### [Dashboard](/modules/dashboard) (Optional)
The dashboard is the software counterpart of the console which allows users to control the lights right from the PC.
## License
Distributed under the MIT License. See `LICENSE` for more information.

BIN
assets/dashboard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

42
docs/communication.md Normal file
View file

@ -0,0 +1,42 @@
# Heliox communication protocol
The following structure can be used to communicate with the Heliox control over several carrier protocols (UART, BL LE,...)
## Basic data structure
The following table describes the bit pattern for a successful communication with and between Heliox devices.
| 0x0 | 0x1 | 0x2 | 0x3 | 0x4 | ... |
| --- | --- | -------- | ------ | --------- | --------------- |
| H | X | _length_ | _mode_ | _submode_ | _optional data_ |
## Modes
### Mode selection
The columns represent modes and the rows represent submodes:
| | 0x0 | 0x1 | 0x2 | 0x3 |
| :---: | :---------: | :---------------: | :---------------: | :-------------------------: |
| | **Message** | **Settings** | **Light control** | **Basic commands** |
| 0x0 | light data | set baud rate | on | request light data |
| 0x1 | info | set WIFI password | off | enter console flashing mode |
| 0x2 | warning | set WIFI SSID | toggle | exit console flashing mode |
| 0x3 | error | | increase | pair Bluetooth |
| 0x4 | success | | decrease | help |
| 0x5 | | | | version |
### Optional data
Every submode can take any number of Bytes except the below-mentioned ones:
| **0 Bytes** | **1 Byte** |
| :------------: | :--------: |
| on | increase |
| off | decrease |
| flash console | toggle |
| pair Bluetooth | |
### Additional information
The maximum length of a message ist 255 Bytes excluding the magic number "BM" and the length slot itself.

15
modules/android/.gitignore vendored Normal file
View file

@ -0,0 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties

3
modules/android/.idea/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View file

@ -0,0 +1 @@
Heliox

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
</component>
</project>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$PROJECT_DIR$/../../../../../../Program Files/Java/gradle-4.9" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
<map>
<entry key="..\:/Users/Philipp/VSC/light-control/modules/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.314" />
<entry key="..\:/Users/Philipp/VSC/light-control/modules/android/app/src/main/res/layout/activity_main.xml" value="0.55" />
<entry key="..\:/Users/Philipp/VSC/light-control/modules/android/app/src/main/res/layout/fragment_light_control.xml" value="0.55" />
<entry key="..\:/Users/Philipp/VSC/light-control/modules/android/app/src/main/res/layout/light_control_fragment.xml" value="0.55" />
<entry key="..\:/Users/Philipp/VSC/light-control/modules/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" value="0.314" />
<entry key="..\:/Users/Philipp/VSC/light-control/modules/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" value="0.314" />
</map>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

1
modules/android/app/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/build

View file

@ -0,0 +1,52 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'androidx.navigation.safeargs.kotlin'
}
android {
compileSdk 31
defaultConfig {
applicationId "com.ghoscht.heliox"
minSdk 24
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
dataBinding = true
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.1'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation "androidx.navigation:navigation-fragment-ktx:2.4.2"
implementation "androidx.navigation:navigation-ui-ktx:2.4.2"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0")
}

21
modules/android/app/proguard-rules.pro vendored Normal file
View file

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View file

@ -0,0 +1,24 @@
package com.ghoscht.heliox
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.ghoscht.heliox", appContext.packageName)
}
}

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ghoscht.heliox">
<uses-feature android:name="android.hardware.bluetooth" android:required="true" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Heliox">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,41 @@
package com.ghoscht.heliox
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.fragment.app.viewModels
import com.ghoscht.heliox.databinding.FragmentLightControlBinding
import kotlinx.coroutines.*
/**
* A simple [Fragment] subclass.
* Use the [LightControlFragment.newInstance] factory method to
* create an instance of this fragment.
*/
class LightControlFragment : Fragment() {
private val viewModel: LightControlViewModel by viewModels()
private lateinit var binding: FragmentLightControlBinding
override fun onCreate(savedInstanceState: Bundle?) {
viewModel.connect()
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_light_control, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
binding.viewModel = viewModel
binding.lifecycleOwner = viewLifecycleOwner
super.onViewCreated(view, savedInstanceState)
}
}

View file

@ -0,0 +1,65 @@
package com.ghoscht.heliox
import android.bluetooth.BluetoothAdapter
import android.bluetooth.BluetoothDevice
import android.bluetooth.BluetoothSocket
import android.content.Intent
import android.util.Log
import androidx.core.app.ActivityCompat.startActivityForResult
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import java.io.BufferedWriter
import java.io.IOException
import java.util.*
class LightControlViewModel : ViewModel() {
private val _status = MutableLiveData<String>("Disconnected")
public val status: LiveData<String>
get() = _status
private lateinit var connectedDevice: BluetoothDevice
private lateinit var btSocket: BluetoothSocket
val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()
var pairedDevices: Set<BluetoothDevice>? = null
public fun connect() {
GlobalScope.launch {
pairedDevices = bluetoothAdapter?.bondedDevices
val pairedDevices: Set<BluetoothDevice>? = bluetoothAdapter?.bondedDevices
pairedDevices?.forEach { device ->
if (device.name == "Heliox") {
connectedDevice = device
btSocket =
device.createInsecureRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"))
btSocket.connect()
while (true) {
_status.postValue(btSocket.inputStream.bufferedReader().readLine())
}
}
}
}
}
public fun turnOn() {
btSocket.outputStream.write("on".toByteArray())
}
public fun turnOff() {
btSocket.outputStream.write("off".toByteArray())
}
public fun toggle() {
btSocket.outputStream.write("0t".toByteArray())
}
public fun inc() {
btSocket.outputStream.write("0i".toByteArray())
}
public fun dec(){
btSocket.outputStream.write("0d".toByteArray())
}
}

View file

@ -0,0 +1,11 @@
package com.ghoscht.heliox
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

View file

@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="androidx.navigation.fragment.NavHostFragment"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph" />
</FrameLayout>

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="viewModel"
type="com.ghoscht.heliox.LightControlViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".LightControlFragment">
<TextView
android:id="@+id/status_display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:layout_marginStart="8dp"
android:layout_marginTop="56dp"
android:text="@{viewModel.status}"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="255,255,255,255" />
<Button
android:id="@+id/on_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:layout_marginEnd="8dp"
android:text="@string/on"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/status_display"
android:onClick="@{()->viewModel.turnOn()}"/>
<Button
android:id="@+id/off_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="48dp"
android:text="@string/off"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/status_display"
android:onClick="@{()->viewModel.turnOff()}" />
<Button
android:id="@+id/toggle_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:onClick="@{()->viewModel.toggle()}"
android:text="@string/toggle"
app:layout_constraintEnd_toStartOf="@+id/on_button"
app:layout_constraintStart_toEndOf="@+id/off_btn"
app:layout_constraintTop_toBottomOf="@+id/status_display" />
<Button
android:id="@+id/inc_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginEnd="8dp"
android:onClick="@{()->viewModel.inc()}"
android:text="@string/inc"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/on_button" />
<Button
android:id="@+id/dec_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="20dp"
android:onClick="@{()->viewModel.dec()}"
android:text="@string/dec"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/off_btn" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph.xml"
app:startDestination="@id/lightControlFragment">
<fragment
android:id="@+id/lightControlFragment"
android:name="com.ghoscht.heliox.LightControlFragment"
android:label="fragment_light_control"
tools:layout="@layout/fragment_light_control" />
</navigation>

View file

@ -0,0 +1,16 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Heliox" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/black</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
</resources>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#FFFFFF</color>
</resources>

View file

@ -0,0 +1,9 @@
<resources>
<string name="app_name">Heliox</string>
<string name="on">ON</string>
<string name="off">OFF</string>
<string name="toggle">TOGGLE</string>
<string name="inc">INC</string>
<string name="dec">DEC</string>
<string name="status">%d, %d, %d, %d</string>
</resources>

View file

@ -0,0 +1,16 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Heliox" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>

View file

@ -0,0 +1,17 @@
package com.ghoscht.heliox
import org.junit.Test
import org.junit.Assert.*
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}

Some files were not shown because too many files have changed in this diff Show more