Procházet zdrojové kódy

Add dap_link from https://github.com/xMasterX/all-the-plugins

git-subtree-dir: dap_link
git-subtree-mainline: 5444090a68f42fe5d8a70ecdb69d7f289e89cba7
git-subtree-split: dcd256bc647a954c9a41119d6d17116ceb87c524
Willy-JL před 2 roky
rodič
revize
cba196ae84
100 změnil soubory, kde provedl 53162 přidání a 0 odebrání
  1. 1 0
      dap_link/.gitsubtree
  2. 108 0
      dap_link/README.md
  3. 25 0
      dap_link/application.fam
  4. 234 0
      dap_link/dap_config.h
  5. 555 0
      dap_link/dap_link.c
  6. 55 0
      dap_link/dap_link.h
  7. binární
      dap_link/dap_link.png
  8. 92 0
      dap_link/gui/dap_gui.c
  9. 4 0
      dap_link/gui/dap_gui.h
  10. 7 0
      dap_link/gui/dap_gui_custom_event.h
  11. 34 0
      dap_link/gui/dap_gui_i.h
  12. 30 0
      dap_link/gui/scenes/config/dap_scene.c
  13. 29 0
      dap_link/gui/scenes/config/dap_scene.h
  14. 4 0
      dap_link/gui/scenes/config/dap_scene_config.h
  15. 68 0
      dap_link/gui/scenes/dap_scene_about.c
  16. 107 0
      dap_link/gui/scenes/dap_scene_config.c
  17. 102 0
      dap_link/gui/scenes/dap_scene_help.c
  18. 154 0
      dap_link/gui/scenes/dap_scene_main.c
  19. 189 0
      dap_link/gui/views/dap_main_view.c
  20. 45 0
      dap_link/gui/views/dap_main_view.h
  21. binární
      dap_link/icons/ActiveConnection_50x64.png
  22. binární
      dap_link/icons/ArrowUpEmpty_12x18.png
  23. binární
      dap_link/icons/ArrowUpFilled_12x18.png
  24. 27 0
      dap_link/lib/free-dap/LICENSE
  25. 100 0
      dap_link/lib/free-dap/README.md
  26. binární
      dap_link/lib/free-dap/bin/free_dap_rp2040.uf2
  27. 1509 0
      dap_link/lib/free-dap/dap.c
  28. 50 0
      dap_link/lib/free-dap/dap.h
  29. 3 0
      dap_link/lib/free-dap/hardware/d11-nano-dbg/.gitignore
  30. binární
      dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg-gerbers.zip
  31. 4933 0
      dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_pcb
  32. 75 0
      dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_prl
  33. 435 0
      dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_pro
  34. 1673 0
      dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_sch
  35. binární
      dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.pdf
  36. 5 0
      dap_link/lib/free-dap/hardware/d11-nano-dbg/pcb.kicad_wks
  37. 15 0
      dap_link/lib/free-dap/hardware/d11-nano-dbg/sch.kicad_wks
  38. 700 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp.brd
  39. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp.pdf
  40. 1314 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp.sch
  41. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp_gerber.zip
  42. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2-gerbers.zip
  43. 798 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2.brd
  44. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2.pdf
  45. 1620 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2.sch
  46. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3-gerbers.zip
  47. 715 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3.brd
  48. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3.pdf
  49. 1443 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3.sch
  50. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4-gerbers.zip
  51. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4-layers.zip
  52. 769 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4.brd
  53. binární
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4.pdf
  54. 1553 0
      dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4.sch
  55. 626 0
      dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std.brd
  56. binární
      dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std.pdf
  57. 1172 0
      dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std.sch
  58. binární
      dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std_gerber.zip
  59. binární
      dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2-gerbers.zip
  60. binární
      dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2-layers.zip
  61. 640 0
      dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2.brd
  62. binární
      dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2.pdf
  63. 1372 0
      dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2.sch
  64. binární
      dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo-gerbers.zip
  65. 599 0
      dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo.brd
  66. binární
      dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo.pdf
  67. 1064 0
      dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo.sch
  68. 764 0
      dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini.brd
  69. binární
      dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini.pdf
  70. 1341 0
      dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini.sch
  71. binární
      dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini_gerber.zip
  72. 807 0
      dap_link/lib/free-dap/hardware/d11_usb_std/d11_usb_std.brd
  73. 1430 0
      dap_link/lib/free-dap/hardware/d11_usb_std/d11_usb_std.sch
  74. binární
      dap_link/lib/free-dap/hardware/d11_usb_std/d11_usb_std_gerber.zip
  75. 5 0
      dap_link/lib/free-dap/hardware/m484-dap/.gitignore
  76. 8106 0
      dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_pcb
  77. 75 0
      dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_prl
  78. 433 0
      dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_pro
  79. 2956 0
      dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_sch
  80. binární
      dap_link/lib/free-dap/hardware/m484-dap/output/m484-dap-Assembly.pdf
  81. binární
      dap_link/lib/free-dap/hardware/m484-dap/output/m484-dap-gerbers.zip
  82. binární
      dap_link/lib/free-dap/hardware/m484-dap/output/m484-dap.pdf
  83. 5 0
      dap_link/lib/free-dap/hardware/m484-dap/pcb.kicad_wks
  84. 15 0
      dap_link/lib/free-dap/hardware/m484-dap/sch.kicad_wks
  85. 239 0
      dap_link/lib/free-dap/platform/m484/dap_config.h
  86. 59 0
      dap_link/lib/free-dap/platform/m484/hal_config.h
  87. 161 0
      dap_link/lib/free-dap/platform/m484/hal_gpio.h
  88. 716 0
      dap_link/lib/free-dap/platform/m484/include/M480.h
  89. 16 0
      dap_link/lib/free-dap/platform/m484/include/NuMicro.h
  90. 240 0
      dap_link/lib/free-dap/platform/m484/include/acmp_reg.h
  91. 1835 0
      dap_link/lib/free-dap/platform/m484/include/bpwm_reg.h
  92. 759 0
      dap_link/lib/free-dap/platform/m484/include/can_reg.h
  93. 496 0
      dap_link/lib/free-dap/platform/m484/include/ccap_reg.h
  94. 1698 0
      dap_link/lib/free-dap/platform/m484/include/clk_reg.h
  95. 1692 0
      dap_link/lib/free-dap/platform/m484/include/core_cm4.h
  96. 652 0
      dap_link/lib/free-dap/platform/m484/include/core_cm4_simd.h
  97. 619 0
      dap_link/lib/free-dap/platform/m484/include/core_cmFunc.h
  98. 621 0
      dap_link/lib/free-dap/platform/m484/include/core_cmInstr.h
  99. 150 0
      dap_link/lib/free-dap/platform/m484/include/crc_reg.h
  100. 2219 0
      dap_link/lib/free-dap/platform/m484/include/crypto_reg.h

+ 1 - 0
dap_link/.gitsubtree

@@ -0,0 +1 @@
+https://github.com/xMasterX/all-the-plugins dev base_pack/dap_link

+ 108 - 0
dap_link/README.md

@@ -0,0 +1,108 @@
+# Flipper Zero as CMSIS DAP/DAP Link
+
+Flipper Zero as a [Free-DAP](https://github.com/ataradov/free-dap) based SWD\JTAG debugger. Free-DAP is a free and open source firmware implementation of the [CMSIS-DAP](https://www.keil.com/pack/doc/CMSIS_Dev/DAP/html/index.html) debugger.
+
+## Protocols
+
+SWD, JTAG , CMSIS-DAP v1 (18 KiB/s), CMSIS-DAP v2 (46 KiB/s), VCP (USB-UART).
+
+WinUSB for driverless installation for Windows 8 and above.
+
+## Usage
+
+### VSCode + Cortex-Debug
+
+  Set `"device": "cmsis-dap"`
+  
+<details>
+  <summary>BluePill configuration example</summary>
+  
+  ```json
+{
+    "name": "Attach (DAP)",
+    "cwd": "${workspaceFolder}",
+    "executable": "./build/firmware.elf",
+    "request": "attach",
+    "type": "cortex-debug",
+    "servertype": "openocd",
+    "device": "cmsis-dap",
+    "configFiles": [
+        "interface/cmsis-dap.cfg",
+        "target/stm32f1x.cfg",
+    ],
+},
+  ```
+</details>
+
+<details>
+  <summary>Flipper Zero configuration example</summary>
+  
+  ```json
+{
+    "name": "Attach (DAP)",
+    "cwd": "${workspaceFolder}",
+    "executable": "./build/latest/firmware.elf",
+    "request": "attach",
+    "type": "cortex-debug",
+    "servertype": "openocd",
+    "device": "cmsis-dap",
+    "svdFile": "./debug/STM32WB55_CM4.svd",
+    "rtos": "FreeRTOS",
+    "configFiles": [
+        "interface/cmsis-dap.cfg",
+        "./debug/stm32wbx.cfg",
+    ],
+    "postAttachCommands": [
+        "source debug/flipperapps.py",
+    ],
+},
+  ```
+</details>
+
+### OpenOCD
+Use `interface/cmsis-dap.cfg`. You will need OpenOCD v0.11.0.
+
+Additional commands: 
+* `cmsis_dap_backend hid` for CMSIS-DAP v1 protocol.
+* `cmsis_dap_backend usb_bulk` for CMSIS-DAP v2 protocol.
+* `cmsis_dap_serial DAP_Oyevoxo` use DAP-Link running on Flipper named `Oyevoxo`.
+* `cmsis-dap cmd 81` - reboot connected DAP-Link.
+
+<details>
+  <summary>Flash BluePill</summary>
+  
+  ```
+openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg -c init -c "program build/firmware.bin reset exit 0x8000000"
+  ```
+</details>
+
+<details>
+  <summary>Flash Flipper Zero using DAP v2 protocol</summary>
+  
+  ```
+openocd -f interface/cmsis-dap.cfg -c "cmsis_dap_backend usb_bulk" -f debug/stm32wbx.cfg -c init -c "program build/latest/firmware.bin reset exit 0x8000000"
+  ```
+</details>
+
+<details>
+  <summary>Reboot connected DAP-Link on Flipper named Oyevoxo</summary>
+  
+  ```
+openocd -f interface/cmsis-dap.cfg -c "cmsis_dap_serial DAP_Oyevoxo" -c "transport select swd" -c "adapter speed 4000000" -c init -c "cmsis-dap cmd 81" -c "exit"
+  ```
+</details>
+
+### PlatformIO
+Use `debug_tool = cmsis-dap` and `upload_protocol = cmsis-dap`. [Documentation](https://docs.platformio.org/en/latest/plus/debug-tools/cmsis-dap.html#debugging-tool-cmsis-dap). Remember that Windows 8 and above do not require drivers.
+
+<details>
+  <summary>BluePill platformio.ini example</summary>
+  
+  ```
+[env:bluepill_f103c8]
+platform = ststm32
+board = bluepill_f103c8
+debug_tool = cmsis-dap
+upload_protocol = cmsis-dap
+  ```
+</details>

+ 25 - 0
dap_link/application.fam

@@ -0,0 +1,25 @@
+App(
+    appid="dap_link",
+    name="DAP Link",
+    apptype=FlipperAppType.EXTERNAL,
+    entry_point="dap_link_app",
+    requires=[
+        "gui",
+        "dialogs",
+    ],
+    stack_size=4 * 1024,
+    fap_description="Enables use of Flipper as a debug probe for ARM devices, implements the CMSIS-DAP protocol",
+    fap_version="1.1",
+    fap_icon="dap_link.png",
+    fap_category="GPIO",
+    fap_private_libs=[
+        Lib(
+            name="free-dap",
+            cincludes=["."],
+            sources=[
+                "dap.c",
+            ],
+        ),
+    ],
+    fap_icon_assets="icons",
+)

+ 234 - 0
dap_link/dap_config.h

@@ -0,0 +1,234 @@
+// SPDX-License-Identifier: BSD-3-Clause
+// Copyright (c) 2022, Alex Taradov <alex@taradov.com>. All rights reserved.
+
+#ifndef _DAP_CONFIG_H_
+#define _DAP_CONFIG_H_
+
+/*- Includes ----------------------------------------------------------------*/
+#include <furi_hal_gpio.h>
+
+/*- Definitions -------------------------------------------------------------*/
+#define DAP_CONFIG_ENABLE_JTAG
+
+#define DAP_CONFIG_DEFAULT_PORT DAP_PORT_SWD
+#define DAP_CONFIG_DEFAULT_CLOCK 4200000 // Hz
+
+#define DAP_CONFIG_PACKET_SIZE 64
+#define DAP_CONFIG_PACKET_COUNT 1
+
+#define DAP_CONFIG_JTAG_DEV_COUNT 8
+
+// DAP_CONFIG_PRODUCT_STR must contain "CMSIS-DAP" to be compatible with the standard
+#define DAP_CONFIG_VENDOR_STR "Flipper Zero"
+#define DAP_CONFIG_PRODUCT_STR "Generic CMSIS-DAP Adapter"
+#define DAP_CONFIG_SER_NUM_STR usb_serial_number
+#define DAP_CONFIG_CMSIS_DAP_VER_STR "2.0.0"
+
+#define DAP_CONFIG_RESET_TARGET_FN dap_app_target_reset
+#define DAP_CONFIG_VENDOR_FN dap_app_vendor_cmd
+
+// Attribute to use for performance-critical functions
+#define DAP_CONFIG_PERFORMANCE_ATTR
+
+// A value at which dap_clock_test() produces 1 kHz output on the SWCLK pin
+// #define DAP_CONFIG_DELAY_CONSTANT 19000
+#define DAP_CONFIG_DELAY_CONSTANT 6290
+
+// A threshold for switching to fast clock (no added delays)
+// This is the frequency produced by dap_clock_test(1) on the SWCLK pin
+#define DAP_CONFIG_FAST_CLOCK 2400000 // Hz
+
+/*- Prototypes --------------------------------------------------------------*/
+extern char usb_serial_number[16];
+
+/*- Implementations ---------------------------------------------------------*/
+extern GpioPin flipper_dap_swclk_pin;
+extern GpioPin flipper_dap_swdio_pin;
+extern GpioPin flipper_dap_reset_pin;
+extern GpioPin flipper_dap_tdo_pin;
+extern GpioPin flipper_dap_tdi_pin;
+
+extern void dap_app_vendor_cmd(uint8_t cmd);
+extern void dap_app_target_reset();
+extern void dap_app_disconnect();
+extern void dap_app_connect_swd();
+extern void dap_app_connect_jtag();
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWCLK_TCK_write(int value) {
+    furi_hal_gpio_write(&flipper_dap_swclk_pin, value);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWDIO_TMS_write(int value) {
+    furi_hal_gpio_write(&flipper_dap_swdio_pin, value);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_TDI_write(int value) {
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    furi_hal_gpio_write(&flipper_dap_tdi_pin, value);
+#else
+    (void)value;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_TDO_write(int value) {
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    furi_hal_gpio_write(&flipper_dap_tdo_pin, value);
+#else
+    (void)value;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_nTRST_write(int value) {
+    (void)value;
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_nRESET_write(int value) {
+    furi_hal_gpio_write(&flipper_dap_reset_pin, value);
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_SWCLK_TCK_read(void) {
+    return furi_hal_gpio_read(&flipper_dap_swclk_pin);
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_SWDIO_TMS_read(void) {
+    return furi_hal_gpio_read(&flipper_dap_swdio_pin);
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_TDO_read(void) {
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    return furi_hal_gpio_read(&flipper_dap_tdo_pin);
+#else
+    return 0;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_TDI_read(void) {
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    return furi_hal_gpio_read(&flipper_dap_tdi_pin);
+#else
+    return 0;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_nTRST_read(void) {
+    return 0;
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_nRESET_read(void) {
+    return furi_hal_gpio_read(&flipper_dap_reset_pin);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWCLK_TCK_set(void) {
+    LL_GPIO_SetOutputPin(flipper_dap_swclk_pin.port, flipper_dap_swclk_pin.pin);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWCLK_TCK_clr(void) {
+    LL_GPIO_ResetOutputPin(flipper_dap_swclk_pin.port, flipper_dap_swclk_pin.pin);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWDIO_TMS_in(void) {
+    LL_GPIO_SetPinMode(flipper_dap_swdio_pin.port, flipper_dap_swdio_pin.pin, LL_GPIO_MODE_INPUT);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWDIO_TMS_out(void) {
+    LL_GPIO_SetPinMode(flipper_dap_swdio_pin.port, flipper_dap_swdio_pin.pin, LL_GPIO_MODE_OUTPUT);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SETUP(void) {
+    furi_hal_gpio_init(&flipper_dap_swdio_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_init(&flipper_dap_swclk_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_init(&flipper_dap_reset_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    furi_hal_gpio_init(&flipper_dap_tdo_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_init(&flipper_dap_tdi_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_DISCONNECT(void) {
+    furi_hal_gpio_init(&flipper_dap_swdio_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_init(&flipper_dap_swclk_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_init(&flipper_dap_reset_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    furi_hal_gpio_init(&flipper_dap_tdo_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_init(&flipper_dap_tdi_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+#endif
+    dap_app_disconnect();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_CONNECT_SWD(void) {
+    furi_hal_gpio_init(
+        &flipper_dap_swdio_pin, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_write(&flipper_dap_swdio_pin, true);
+
+    furi_hal_gpio_init(
+        &flipper_dap_swclk_pin, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_write(&flipper_dap_swclk_pin, true);
+
+    furi_hal_gpio_init(
+        &flipper_dap_reset_pin, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_write(&flipper_dap_reset_pin, true);
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    furi_hal_gpio_init(&flipper_dap_tdo_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_init(&flipper_dap_tdi_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+#endif
+    dap_app_connect_swd();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_CONNECT_JTAG(void) {
+    furi_hal_gpio_init(
+        &flipper_dap_swdio_pin, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_write(&flipper_dap_swdio_pin, true);
+
+    furi_hal_gpio_init(
+        &flipper_dap_swclk_pin, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_write(&flipper_dap_swclk_pin, true);
+
+    furi_hal_gpio_init(
+        &flipper_dap_reset_pin, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_write(&flipper_dap_reset_pin, true);
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    furi_hal_gpio_init(&flipper_dap_tdo_pin, GpioModeInput, GpioPullNo, GpioSpeedVeryHigh);
+
+    furi_hal_gpio_init(
+        &flipper_dap_tdi_pin, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+    furi_hal_gpio_write(&flipper_dap_tdi_pin, true);
+#endif
+    dap_app_connect_jtag();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_LED(int index, int state) {
+    (void)index;
+    (void)state;
+}
+
+//-----------------------------------------------------------------------------
+__attribute__((always_inline)) static inline void DAP_CONFIG_DELAY(uint32_t cycles) {
+    asm volatile("1: subs %[cycles], %[cycles], #1 \n"
+                 "   bne 1b \n"
+                 : [cycles] "+l"(cycles));
+}
+
+#endif // _DAP_CONFIG_H_

+ 555 - 0
dap_link/dap_link.c

@@ -0,0 +1,555 @@
+#include <dap.h>
+#include <furi.h>
+#include <furi_hal_version.h>
+#include <furi_hal_gpio.h>
+#include <furi_hal_uart.h>
+#include <furi_hal_console.h>
+#include <furi_hal_resources.h>
+#include <furi_hal_power.h>
+#include <stm32wbxx_ll_usart.h>
+#include <stm32wbxx_ll_lpuart.h>
+
+#include "dap_link.h"
+#include "dap_config.h"
+#include "gui/dap_gui.h"
+#include "usb/dap_v2_usb.h"
+#include <dialogs/dialogs.h>
+#include "dap_link_icons.h"
+
+/***************************************************************************/
+/****************************** DAP COMMON *********************************/
+/***************************************************************************/
+
+struct DapApp {
+    FuriThread* dap_thread;
+    FuriThread* cdc_thread;
+    FuriThread* gui_thread;
+
+    DapState state;
+    DapConfig config;
+};
+
+void dap_app_get_state(DapApp* app, DapState* state) {
+    *state = app->state;
+}
+
+#define DAP_PROCESS_THREAD_TICK 500
+
+typedef enum {
+    DapEventStop = (1 << 0),
+} DapEvent;
+
+void dap_thread_send_stop(FuriThread* thread) {
+    furi_thread_flags_set(furi_thread_get_id(thread), DapEventStop);
+}
+
+GpioPin flipper_dap_swclk_pin;
+GpioPin flipper_dap_swdio_pin;
+GpioPin flipper_dap_reset_pin;
+GpioPin flipper_dap_tdo_pin;
+GpioPin flipper_dap_tdi_pin;
+
+/***************************************************************************/
+/****************************** DAP PROCESS ********************************/
+/***************************************************************************/
+
+typedef struct {
+    uint8_t data[DAP_CONFIG_PACKET_SIZE];
+    uint8_t size;
+} DapPacket;
+
+typedef enum {
+    DapThreadEventStop = DapEventStop,
+    DapThreadEventRxV1 = (1 << 1),
+    DapThreadEventRxV2 = (1 << 2),
+    DapThreadEventUsbConnect = (1 << 3),
+    DapThreadEventUsbDisconnect = (1 << 4),
+    DapThreadEventApplyConfig = (1 << 5),
+    DapThreadEventAll = DapThreadEventStop | DapThreadEventRxV1 | DapThreadEventRxV2 |
+                        DapThreadEventUsbConnect | DapThreadEventUsbDisconnect |
+                        DapThreadEventApplyConfig,
+} DapThreadEvent;
+
+#define USB_SERIAL_NUMBER_LEN 16
+char usb_serial_number[USB_SERIAL_NUMBER_LEN] = {0};
+
+const char* dap_app_get_serial(DapApp* app) {
+    UNUSED(app);
+    return usb_serial_number;
+}
+
+static void dap_app_rx1_callback(void* context) {
+    furi_assert(context);
+    FuriThreadId thread_id = (FuriThreadId)context;
+    furi_thread_flags_set(thread_id, DapThreadEventRxV1);
+}
+
+static void dap_app_rx2_callback(void* context) {
+    furi_assert(context);
+    FuriThreadId thread_id = (FuriThreadId)context;
+    furi_thread_flags_set(thread_id, DapThreadEventRxV2);
+}
+
+static void dap_app_usb_state_callback(bool state, void* context) {
+    furi_assert(context);
+    FuriThreadId thread_id = (FuriThreadId)context;
+    if(state) {
+        furi_thread_flags_set(thread_id, DapThreadEventUsbConnect);
+    } else {
+        furi_thread_flags_set(thread_id, DapThreadEventUsbDisconnect);
+    }
+}
+
+static void dap_app_process_v1() {
+    DapPacket tx_packet;
+    DapPacket rx_packet;
+    memset(&tx_packet, 0, sizeof(DapPacket));
+    rx_packet.size = dap_v1_usb_rx(rx_packet.data, DAP_CONFIG_PACKET_SIZE);
+    dap_process_request(rx_packet.data, rx_packet.size, tx_packet.data, DAP_CONFIG_PACKET_SIZE);
+    dap_v1_usb_tx(tx_packet.data, DAP_CONFIG_PACKET_SIZE);
+}
+
+static void dap_app_process_v2() {
+    DapPacket tx_packet;
+    DapPacket rx_packet;
+    memset(&tx_packet, 0, sizeof(DapPacket));
+    rx_packet.size = dap_v2_usb_rx(rx_packet.data, DAP_CONFIG_PACKET_SIZE);
+    size_t len = dap_process_request(
+        rx_packet.data, rx_packet.size, tx_packet.data, DAP_CONFIG_PACKET_SIZE);
+    dap_v2_usb_tx(tx_packet.data, len);
+}
+
+void dap_app_vendor_cmd(uint8_t cmd) {
+    // openocd -c "cmsis-dap cmd 81"
+    if(cmd == 0x01) {
+        furi_hal_power_reset();
+    }
+}
+
+void dap_app_target_reset() {
+    FURI_LOG_I("DAP", "Target reset");
+}
+
+static void dap_init_gpio(DapSwdPins swd_pins) {
+    switch(swd_pins) {
+    case DapSwdPinsPA7PA6:
+        flipper_dap_swclk_pin = gpio_ext_pa7;
+        flipper_dap_swdio_pin = gpio_ext_pa6;
+        break;
+    case DapSwdPinsPA14PA13:
+        flipper_dap_swclk_pin = (GpioPin){.port = GPIOA, .pin = LL_GPIO_PIN_14};
+        flipper_dap_swdio_pin = (GpioPin){.port = GPIOA, .pin = LL_GPIO_PIN_13};
+        break;
+    }
+
+    flipper_dap_reset_pin = gpio_ext_pa4;
+    flipper_dap_tdo_pin = gpio_ext_pb3;
+    flipper_dap_tdi_pin = gpio_ext_pb2;
+}
+
+static void dap_deinit_gpio(DapSwdPins swd_pins) {
+    // setup gpio pins to default state
+    furi_hal_gpio_init(&flipper_dap_reset_pin, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
+    furi_hal_gpio_init(&flipper_dap_tdo_pin, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
+    furi_hal_gpio_init(&flipper_dap_tdi_pin, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
+
+    if(DapSwdPinsPA14PA13 == swd_pins) {
+        // PA14 and PA13 are used by SWD
+        furi_hal_gpio_init_ex(
+            &flipper_dap_swclk_pin,
+            GpioModeAltFunctionPushPull,
+            GpioPullDown,
+            GpioSpeedLow,
+            GpioAltFn0JTCK_SWCLK);
+        furi_hal_gpio_init_ex(
+            &flipper_dap_swdio_pin,
+            GpioModeAltFunctionPushPull,
+            GpioPullUp,
+            GpioSpeedVeryHigh,
+            GpioAltFn0JTMS_SWDIO);
+    } else {
+        furi_hal_gpio_init(&flipper_dap_swclk_pin, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
+        furi_hal_gpio_init(&flipper_dap_swdio_pin, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
+    }
+}
+
+static int32_t dap_process(void* p) {
+    DapApp* app = p;
+    DapState* dap_state = &(app->state);
+
+    // allocate resources
+    FuriHalUsbInterface* usb_config_prev;
+    app->config.swd_pins = DapSwdPinsPA7PA6;
+    DapSwdPins swd_pins_prev = app->config.swd_pins;
+
+    // init pins
+    dap_init_gpio(swd_pins_prev);
+
+    // init dap
+    dap_init();
+
+    // get name
+    const char* name = furi_hal_version_get_name_ptr();
+    if(!name) {
+        name = "Flipper";
+    }
+    snprintf(usb_serial_number, USB_SERIAL_NUMBER_LEN, "DAP_%s", name);
+
+    // init usb
+    usb_config_prev = furi_hal_usb_get_config();
+    dap_common_usb_alloc_name(usb_serial_number);
+    dap_common_usb_set_context(furi_thread_get_id(furi_thread_get_current()));
+    dap_v1_usb_set_rx_callback(dap_app_rx1_callback);
+    dap_v2_usb_set_rx_callback(dap_app_rx2_callback);
+    dap_common_usb_set_state_callback(dap_app_usb_state_callback);
+    furi_hal_usb_set_config(&dap_v2_usb_hid, NULL);
+
+    // work
+    uint32_t events;
+    while(1) {
+        events = furi_thread_flags_wait(DapThreadEventAll, FuriFlagWaitAny, FuriWaitForever);
+
+        if(!(events & FuriFlagError)) {
+            if(events & DapThreadEventRxV1) {
+                dap_app_process_v1();
+                dap_state->dap_counter++;
+                dap_state->dap_version = DapVersionV1;
+            }
+
+            if(events & DapThreadEventRxV2) {
+                dap_app_process_v2();
+                dap_state->dap_counter++;
+                dap_state->dap_version = DapVersionV2;
+            }
+
+            if(events & DapThreadEventUsbConnect) {
+                dap_state->usb_connected = true;
+            }
+
+            if(events & DapThreadEventUsbDisconnect) {
+                dap_state->usb_connected = false;
+                dap_state->dap_version = DapVersionUnknown;
+            }
+
+            if(events & DapThreadEventApplyConfig) {
+                if(swd_pins_prev != app->config.swd_pins) {
+                    dap_deinit_gpio(swd_pins_prev);
+                    swd_pins_prev = app->config.swd_pins;
+                    dap_init_gpio(swd_pins_prev);
+                }
+            }
+
+            if(events & DapThreadEventStop) {
+                break;
+            }
+        }
+    }
+
+    // deinit usb
+    furi_hal_usb_set_config(usb_config_prev, NULL);
+    dap_common_usb_free_name();
+    dap_deinit_gpio(swd_pins_prev);
+    return 0;
+}
+
+/***************************************************************************/
+/****************************** CDC PROCESS ********************************/
+/***************************************************************************/
+
+typedef enum {
+    CdcThreadEventStop = DapEventStop,
+    CdcThreadEventUartRx = (1 << 1),
+    CdcThreadEventCdcRx = (1 << 2),
+    CdcThreadEventCdcConfig = (1 << 3),
+    CdcThreadEventApplyConfig = (1 << 4),
+    CdcThreadEventCdcDtrHigh = (1 << 5),
+    CdcThreadEventCdcDtrLow = (1 << 6),
+    CdcThreadEventCdcTxComplete = (1 << 7),
+
+    CdcThreadEventAll = CdcThreadEventStop | CdcThreadEventUartRx | CdcThreadEventCdcRx |
+                        CdcThreadEventCdcConfig | CdcThreadEventApplyConfig |
+                        CdcThreadEventCdcDtrHigh | CdcThreadEventCdcDtrLow |
+                        CdcThreadEventCdcTxComplete,
+} CdcThreadEvent;
+
+typedef struct {
+    FuriStreamBuffer* rx_stream;
+    FuriThreadId thread_id;
+    FuriHalUartId uart_id;
+    struct usb_cdc_line_coding line_coding;
+} CDCProcess;
+
+static void cdc_uart_irq_cb(UartIrqEvent ev, uint8_t data, void* ctx) {
+    CDCProcess* app = ctx;
+
+    if(ev == UartIrqEventRXNE) {
+        furi_stream_buffer_send(app->rx_stream, &data, 1, 0);
+        furi_thread_flags_set(app->thread_id, CdcThreadEventUartRx);
+    }
+}
+
+static void cdc_usb_rx_callback(void* context) {
+    CDCProcess* app = context;
+    furi_thread_flags_set(app->thread_id, CdcThreadEventCdcRx);
+}
+
+static void cdc_usb_tx_complete_callback(void* context) {
+    CDCProcess* app = context;
+    furi_thread_flags_set(app->thread_id, CdcThreadEventCdcTxComplete);
+}
+
+static void cdc_usb_control_line_callback(uint8_t state, void* context) {
+    CDCProcess* app = context;
+    // bit 0: DTR state, bit 1: RTS state
+    bool dtr = state & (1 << 0);
+
+    if(dtr == true) {
+        furi_thread_flags_set(app->thread_id, CdcThreadEventCdcDtrHigh);
+    } else {
+        furi_thread_flags_set(app->thread_id, CdcThreadEventCdcDtrLow);
+    }
+}
+
+static void cdc_usb_config_callback(struct usb_cdc_line_coding* config, void* context) {
+    CDCProcess* app = context;
+    app->line_coding = *config;
+    furi_thread_flags_set(app->thread_id, CdcThreadEventCdcConfig);
+}
+
+static FuriHalUartId cdc_init_uart(
+    DapUartType type,
+    DapUartTXRX swap,
+    uint32_t baudrate,
+    void (*cb)(UartIrqEvent ev, uint8_t data, void* ctx),
+    void* ctx) {
+    FuriHalUartId uart_id = FuriHalUartIdUSART1;
+    if(baudrate == 0) baudrate = 115200;
+
+    switch(type) {
+    case DapUartTypeUSART1:
+        uart_id = FuriHalUartIdUSART1;
+        furi_hal_console_disable();
+        furi_hal_uart_deinit(uart_id);
+        if(swap == DapUartTXRXSwap) {
+            LL_USART_SetTXRXSwap(USART1, LL_USART_TXRX_SWAPPED);
+        } else {
+            LL_USART_SetTXRXSwap(USART1, LL_USART_TXRX_STANDARD);
+        }
+        furi_hal_uart_init(uart_id, baudrate);
+        furi_hal_uart_set_irq_cb(uart_id, cb, ctx);
+        break;
+    case DapUartTypeLPUART1:
+        uart_id = FuriHalUartIdLPUART1;
+        furi_hal_uart_deinit(uart_id);
+        if(swap == DapUartTXRXSwap) {
+            LL_LPUART_SetTXRXSwap(LPUART1, LL_LPUART_TXRX_SWAPPED);
+        } else {
+            LL_LPUART_SetTXRXSwap(LPUART1, LL_LPUART_TXRX_STANDARD);
+        }
+        furi_hal_uart_init(uart_id, baudrate);
+        furi_hal_uart_set_irq_cb(uart_id, cb, ctx);
+        break;
+    }
+
+    return uart_id;
+}
+
+static void cdc_deinit_uart(DapUartType type) {
+    switch(type) {
+    case DapUartTypeUSART1:
+        furi_hal_uart_deinit(FuriHalUartIdUSART1);
+        LL_USART_SetTXRXSwap(USART1, LL_USART_TXRX_STANDARD);
+        furi_hal_console_init();
+        break;
+    case DapUartTypeLPUART1:
+        furi_hal_uart_deinit(FuriHalUartIdLPUART1);
+        LL_LPUART_SetTXRXSwap(LPUART1, LL_LPUART_TXRX_STANDARD);
+        break;
+    }
+}
+
+static int32_t dap_cdc_process(void* p) {
+    DapApp* dap_app = p;
+    DapState* dap_state = &(dap_app->state);
+
+    dap_app->config.uart_pins = DapUartTypeLPUART1;
+    dap_app->config.uart_swap = DapUartTXRXNormal;
+
+    DapUartType uart_pins_prev = dap_app->config.uart_pins;
+    DapUartTXRX uart_swap_prev = dap_app->config.uart_swap;
+
+    CDCProcess* app = malloc(sizeof(CDCProcess));
+    app->thread_id = furi_thread_get_id(furi_thread_get_current());
+    app->rx_stream = furi_stream_buffer_alloc(512, 1);
+
+    const uint8_t rx_buffer_size = 64;
+    uint8_t* rx_buffer = malloc(rx_buffer_size);
+
+    app->uart_id = cdc_init_uart(
+        uart_pins_prev, uart_swap_prev, dap_state->cdc_baudrate, cdc_uart_irq_cb, app);
+
+    dap_cdc_usb_set_context(app);
+    dap_cdc_usb_set_rx_callback(cdc_usb_rx_callback);
+    dap_cdc_usb_set_tx_complete_callback(cdc_usb_tx_complete_callback);
+    dap_cdc_usb_set_control_line_callback(cdc_usb_control_line_callback);
+    dap_cdc_usb_set_config_callback(cdc_usb_config_callback);
+
+    bool cdc_connect = false;
+
+    uint32_t events;
+    while(1) {
+        events = furi_thread_flags_wait(CdcThreadEventAll, FuriFlagWaitAny, FuriWaitForever);
+
+        if(!(events & FuriFlagError)) {
+            if(events & CdcThreadEventCdcConfig) {
+                if(dap_state->cdc_baudrate != app->line_coding.dwDTERate) {
+                    dap_state->cdc_baudrate = app->line_coding.dwDTERate;
+                    if(dap_state->cdc_baudrate > 0) {
+                        furi_hal_uart_set_br(app->uart_id, dap_state->cdc_baudrate);
+                    }
+                }
+            }
+
+            if(events & (CdcThreadEventUartRx | CdcThreadEventCdcTxComplete)) {
+                size_t len =
+                    furi_stream_buffer_receive(app->rx_stream, rx_buffer, rx_buffer_size, 0);
+                if(cdc_connect) {
+                    if(len > 0) {
+                        dap_cdc_usb_tx(rx_buffer, len);
+                    }
+                    dap_state->cdc_rx_counter += len;
+                }
+            }
+
+            if(events & CdcThreadEventCdcRx) {
+                size_t len = dap_cdc_usb_rx(rx_buffer, rx_buffer_size);
+                if(len > 0) {
+                    furi_hal_uart_tx(app->uart_id, rx_buffer, len);
+                }
+                dap_state->cdc_tx_counter += len;
+            }
+
+            if(events & CdcThreadEventApplyConfig) {
+                if(uart_pins_prev != dap_app->config.uart_pins ||
+                   uart_swap_prev != dap_app->config.uart_swap) {
+                    cdc_deinit_uart(uart_pins_prev);
+                    uart_pins_prev = dap_app->config.uart_pins;
+                    uart_swap_prev = dap_app->config.uart_swap;
+                    app->uart_id = cdc_init_uart(
+                        uart_pins_prev,
+                        uart_swap_prev,
+                        dap_state->cdc_baudrate,
+                        cdc_uart_irq_cb,
+                        app);
+                }
+            }
+
+            if(events & CdcThreadEventStop) {
+                break;
+            }
+            if(events & CdcThreadEventCdcDtrHigh) {
+                cdc_connect = true;
+            }
+            if(events & CdcThreadEventCdcDtrLow) {
+                cdc_connect = false;
+            }
+        }
+    }
+
+    cdc_deinit_uart(uart_pins_prev);
+    free(rx_buffer);
+    furi_stream_buffer_free(app->rx_stream);
+    free(app);
+
+    return 0;
+}
+
+/***************************************************************************/
+/******************************* MAIN APP **********************************/
+/***************************************************************************/
+
+static DapApp* dap_app_alloc() {
+    DapApp* dap_app = malloc(sizeof(DapApp));
+    dap_app->dap_thread = furi_thread_alloc_ex("DapProcess", 1024, dap_process, dap_app);
+    dap_app->cdc_thread = furi_thread_alloc_ex("DapCdcProcess", 1024, dap_cdc_process, dap_app);
+    dap_app->gui_thread = furi_thread_alloc_ex("DapGui", 1024, dap_gui_thread, dap_app);
+    return dap_app;
+}
+
+static void dap_app_free(DapApp* dap_app) {
+    furi_assert(dap_app);
+    furi_thread_free(dap_app->dap_thread);
+    furi_thread_free(dap_app->cdc_thread);
+    furi_thread_free(dap_app->gui_thread);
+    free(dap_app);
+}
+
+static DapApp* app_handle = NULL;
+
+void dap_app_disconnect() {
+    app_handle->state.dap_mode = DapModeDisconnected;
+}
+
+void dap_app_connect_swd() {
+    app_handle->state.dap_mode = DapModeSWD;
+}
+
+void dap_app_connect_jtag() {
+    app_handle->state.dap_mode = DapModeJTAG;
+}
+
+void dap_app_set_config(DapApp* app, DapConfig* config) {
+    app->config = *config;
+    furi_thread_flags_set(furi_thread_get_id(app->dap_thread), DapThreadEventApplyConfig);
+    furi_thread_flags_set(furi_thread_get_id(app->cdc_thread), CdcThreadEventApplyConfig);
+}
+
+DapConfig* dap_app_get_config(DapApp* app) {
+    return &app->config;
+}
+
+int32_t dap_link_app(void* p) {
+    UNUSED(p);
+
+    if(furi_hal_usb_is_locked()) {
+        DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS);
+        DialogMessage* message = dialog_message_alloc();
+        dialog_message_set_header(message, "Connection\nis active!", 3, 2, AlignLeft, AlignTop);
+        dialog_message_set_text(
+            message,
+            "Disconnect from\nPC or phone to\nuse this function.",
+            3,
+            30,
+            AlignLeft,
+            AlignTop);
+        dialog_message_set_icon(message, &I_ActiveConnection_50x64, 78, 0);
+        dialog_message_show(dialogs, message);
+        dialog_message_free(message);
+        furi_record_close(RECORD_DIALOGS);
+        return -1;
+    }
+
+    // alloc app
+    DapApp* app = dap_app_alloc();
+    app_handle = app;
+
+    furi_thread_start(app->dap_thread);
+    furi_thread_start(app->cdc_thread);
+    furi_thread_start(app->gui_thread);
+
+    // wait until gui thread is finished
+    furi_thread_join(app->gui_thread);
+
+    // send stop event to threads
+    dap_thread_send_stop(app->dap_thread);
+    dap_thread_send_stop(app->cdc_thread);
+
+    // wait for threads to stop
+    furi_thread_join(app->dap_thread);
+    furi_thread_join(app->cdc_thread);
+
+    // free app
+    dap_app_free(app);
+
+    return 0;
+}

+ 55 - 0
dap_link/dap_link.h

@@ -0,0 +1,55 @@
+#pragma once
+#include <stdint.h>
+
+typedef enum {
+    DapModeDisconnected,
+    DapModeSWD,
+    DapModeJTAG,
+} DapMode;
+
+typedef enum {
+    DapVersionUnknown,
+    DapVersionV1,
+    DapVersionV2,
+} DapVersion;
+
+typedef struct {
+    bool usb_connected;
+    DapMode dap_mode;
+    DapVersion dap_version;
+    uint32_t dap_counter;
+    uint32_t cdc_baudrate;
+    uint32_t cdc_tx_counter;
+    uint32_t cdc_rx_counter;
+} DapState;
+
+typedef enum {
+    DapSwdPinsPA7PA6, // Pins 2, 3
+    DapSwdPinsPA14PA13, // Pins 10, 12
+} DapSwdPins;
+
+typedef enum {
+    DapUartTypeUSART1, // Pins 13, 14
+    DapUartTypeLPUART1, // Pins 15, 16
+} DapUartType;
+
+typedef enum {
+    DapUartTXRXNormal,
+    DapUartTXRXSwap,
+} DapUartTXRX;
+
+typedef struct {
+    DapSwdPins swd_pins;
+    DapUartType uart_pins;
+    DapUartTXRX uart_swap;
+} DapConfig;
+
+typedef struct DapApp DapApp;
+
+void dap_app_get_state(DapApp* app, DapState* state);
+
+const char* dap_app_get_serial(DapApp* app);
+
+void dap_app_set_config(DapApp* app, DapConfig* config);
+
+DapConfig* dap_app_get_config(DapApp* app);

binární
dap_link/dap_link.png


+ 92 - 0
dap_link/gui/dap_gui.c

@@ -0,0 +1,92 @@
+#include "dap_gui.h"
+#include "dap_gui_i.h"
+
+#define DAP_GUI_TICK 250
+
+static bool dap_gui_custom_event_callback(void* context, uint32_t event) {
+    furi_assert(context);
+    DapGuiApp* app = context;
+    return scene_manager_handle_custom_event(app->scene_manager, event);
+}
+
+static bool dap_gui_back_event_callback(void* context) {
+    furi_assert(context);
+    DapGuiApp* app = context;
+    return scene_manager_handle_back_event(app->scene_manager);
+}
+
+static void dap_gui_tick_event_callback(void* context) {
+    furi_assert(context);
+    DapGuiApp* app = context;
+    scene_manager_handle_tick_event(app->scene_manager);
+}
+
+DapGuiApp* dap_gui_alloc() {
+    DapGuiApp* app = malloc(sizeof(DapGuiApp));
+    app->gui = furi_record_open(RECORD_GUI);
+    app->view_dispatcher = view_dispatcher_alloc();
+    app->scene_manager = scene_manager_alloc(&dap_scene_handlers, app);
+    view_dispatcher_enable_queue(app->view_dispatcher);
+    view_dispatcher_set_event_callback_context(app->view_dispatcher, app);
+
+    view_dispatcher_set_custom_event_callback(app->view_dispatcher, dap_gui_custom_event_callback);
+    view_dispatcher_set_navigation_event_callback(
+        app->view_dispatcher, dap_gui_back_event_callback);
+    view_dispatcher_set_tick_event_callback(
+        app->view_dispatcher, dap_gui_tick_event_callback, DAP_GUI_TICK);
+
+    view_dispatcher_attach_to_gui(app->view_dispatcher, app->gui, ViewDispatcherTypeFullscreen);
+
+    app->notifications = furi_record_open(RECORD_NOTIFICATION);
+
+    app->var_item_list = variable_item_list_alloc();
+    view_dispatcher_add_view(
+        app->view_dispatcher,
+        DapGuiAppViewVarItemList,
+        variable_item_list_get_view(app->var_item_list));
+
+    app->main_view = dap_main_view_alloc();
+    view_dispatcher_add_view(
+        app->view_dispatcher, DapGuiAppViewMainView, dap_main_view_get_view(app->main_view));
+
+    app->widget = widget_alloc();
+    view_dispatcher_add_view(
+        app->view_dispatcher, DapGuiAppViewWidget, widget_get_view(app->widget));
+
+    scene_manager_next_scene(app->scene_manager, DapSceneMain);
+
+    return app;
+}
+
+void dap_gui_free(DapGuiApp* app) {
+    view_dispatcher_remove_view(app->view_dispatcher, DapGuiAppViewVarItemList);
+    variable_item_list_free(app->var_item_list);
+
+    view_dispatcher_remove_view(app->view_dispatcher, DapGuiAppViewMainView);
+    dap_main_view_free(app->main_view);
+
+    view_dispatcher_remove_view(app->view_dispatcher, DapGuiAppViewWidget);
+    widget_free(app->widget);
+
+    // View dispatcher
+    view_dispatcher_free(app->view_dispatcher);
+    scene_manager_free(app->scene_manager);
+
+    // Close records
+    furi_record_close(RECORD_GUI);
+    furi_record_close(RECORD_NOTIFICATION);
+
+    free(app);
+}
+
+int32_t dap_gui_thread(void* arg) {
+    DapGuiApp* app = dap_gui_alloc();
+    app->dap_app = arg;
+
+    notification_message_block(app->notifications, &sequence_display_backlight_enforce_on);
+    view_dispatcher_run(app->view_dispatcher);
+    notification_message_block(app->notifications, &sequence_display_backlight_enforce_auto);
+
+    dap_gui_free(app);
+    return 0;
+}

+ 4 - 0
dap_link/gui/dap_gui.h

@@ -0,0 +1,4 @@
+#pragma once
+#include <stdint.h>
+
+int32_t dap_gui_thread(void* arg);

+ 7 - 0
dap_link/gui/dap_gui_custom_event.h

@@ -0,0 +1,7 @@
+#pragma once
+
+typedef enum {
+    DapAppCustomEventConfig,
+    DapAppCustomEventHelp,
+    DapAppCustomEventAbout,
+} DapAppCustomEvent;

+ 34 - 0
dap_link/gui/dap_gui_i.h

@@ -0,0 +1,34 @@
+#pragma once
+
+#include <gui/gui.h>
+#include <gui/view_dispatcher.h>
+#include <gui/scene_manager.h>
+#include <gui/modules/submenu.h>
+#include <notification/notification_messages.h>
+#include <gui/modules/variable_item_list.h>
+#include <gui/modules/widget.h>
+
+#include "dap_gui.h"
+#include "../dap_link.h"
+#include "scenes/config/dap_scene.h"
+#include "dap_gui_custom_event.h"
+#include "views/dap_main_view.h"
+
+typedef struct {
+    DapApp* dap_app;
+
+    Gui* gui;
+    NotificationApp* notifications;
+    ViewDispatcher* view_dispatcher;
+    SceneManager* scene_manager;
+
+    VariableItemList* var_item_list;
+    DapMainView* main_view;
+    Widget* widget;
+} DapGuiApp;
+
+typedef enum {
+    DapGuiAppViewVarItemList,
+    DapGuiAppViewMainView,
+    DapGuiAppViewWidget,
+} DapGuiAppView;

+ 30 - 0
dap_link/gui/scenes/config/dap_scene.c

@@ -0,0 +1,30 @@
+#include "dap_scene.h"
+
+// Generate scene on_enter handlers array
+#define ADD_SCENE(prefix, name, id) prefix##_scene_##name##_on_enter,
+void (*const dap_scene_on_enter_handlers[])(void*) = {
+#include "dap_scene_config.h"
+};
+#undef ADD_SCENE
+
+// Generate scene on_event handlers array
+#define ADD_SCENE(prefix, name, id) prefix##_scene_##name##_on_event,
+bool (*const dap_scene_on_event_handlers[])(void* context, SceneManagerEvent event) = {
+#include "dap_scene_config.h"
+};
+#undef ADD_SCENE
+
+// Generate scene on_exit handlers array
+#define ADD_SCENE(prefix, name, id) prefix##_scene_##name##_on_exit,
+void (*const dap_scene_on_exit_handlers[])(void* context) = {
+#include "dap_scene_config.h"
+};
+#undef ADD_SCENE
+
+// Initialize scene handlers configuration structure
+const SceneManagerHandlers dap_scene_handlers = {
+    .on_enter_handlers = dap_scene_on_enter_handlers,
+    .on_event_handlers = dap_scene_on_event_handlers,
+    .on_exit_handlers = dap_scene_on_exit_handlers,
+    .scene_num = DapSceneNum,
+};

+ 29 - 0
dap_link/gui/scenes/config/dap_scene.h

@@ -0,0 +1,29 @@
+#pragma once
+
+#include <gui/scene_manager.h>
+
+// Generate scene id and total number
+#define ADD_SCENE(prefix, name, id) DapScene##id,
+typedef enum {
+#include "dap_scene_config.h"
+    DapSceneNum,
+} DapScene;
+#undef ADD_SCENE
+
+extern const SceneManagerHandlers dap_scene_handlers;
+
+// Generate scene on_enter handlers declaration
+#define ADD_SCENE(prefix, name, id) void prefix##_scene_##name##_on_enter(void*);
+#include "dap_scene_config.h"
+#undef ADD_SCENE
+
+// Generate scene on_event handlers declaration
+#define ADD_SCENE(prefix, name, id) \
+    bool prefix##_scene_##name##_on_event(void* context, SceneManagerEvent event);
+#include "dap_scene_config.h"
+#undef ADD_SCENE
+
+// Generate scene on_exit handlers declaration
+#define ADD_SCENE(prefix, name, id) void prefix##_scene_##name##_on_exit(void* context);
+#include "dap_scene_config.h"
+#undef ADD_SCENE

+ 4 - 0
dap_link/gui/scenes/config/dap_scene_config.h

@@ -0,0 +1,4 @@
+ADD_SCENE(dap, main, Main)
+ADD_SCENE(dap, config, Config)
+ADD_SCENE(dap, help, Help)
+ADD_SCENE(dap, about, About)

+ 68 - 0
dap_link/gui/scenes/dap_scene_about.c

@@ -0,0 +1,68 @@
+#include "../dap_gui_i.h"
+
+#define DAP_VERSION_APP "0.1.0"
+#define DAP_DEVELOPED "Dr_Zlo"
+#define DAP_GITHUB "https://github.com/flipperdevices/flipperzero-good-faps"
+
+void dap_scene_about_on_enter(void* context) {
+    DapGuiApp* app = context;
+
+    FuriString* temp_str;
+    temp_str = furi_string_alloc();
+    furi_string_printf(temp_str, "\e#%s\n", "Information");
+
+    furi_string_cat_printf(temp_str, "Version: %s\n", DAP_VERSION_APP);
+    furi_string_cat_printf(temp_str, "Developed by: %s\n", DAP_DEVELOPED);
+    furi_string_cat_printf(temp_str, "Github: %s\n\n", DAP_GITHUB);
+
+    furi_string_cat_printf(temp_str, "\e#%s\n", "Description");
+    furi_string_cat_printf(
+        temp_str, "CMSIS-DAP debugger\nbased on Free-DAP\nThanks to Alex Taradov\n\n");
+
+    furi_string_cat_printf(
+        temp_str,
+        "Supported protocols:\n"
+        "SWD, JTAG, UART\n"
+        "DAP v1 (cmsis_backend hid), DAP v2 (cmsis_backend usb_bulk), VCP\n");
+
+    widget_add_text_box_element(
+        app->widget,
+        0,
+        0,
+        128,
+        14,
+        AlignCenter,
+        AlignBottom,
+        "\e#\e!                                                      \e!\n",
+        false);
+    widget_add_text_box_element(
+        app->widget,
+        0,
+        2,
+        128,
+        14,
+        AlignCenter,
+        AlignBottom,
+        "\e#\e!              DAP Link              \e!\n",
+        false);
+    widget_add_text_scroll_element(app->widget, 0, 16, 128, 50, furi_string_get_cstr(temp_str));
+    furi_string_free(temp_str);
+
+    view_dispatcher_switch_to_view(app->view_dispatcher, DapGuiAppViewWidget);
+}
+
+bool dap_scene_about_on_event(void* context, SceneManagerEvent event) {
+    DapGuiApp* app = context;
+    bool consumed = false;
+    UNUSED(app);
+    UNUSED(event);
+
+    return consumed;
+}
+
+void dap_scene_about_on_exit(void* context) {
+    DapGuiApp* app = context;
+
+    // Clear views
+    widget_reset(app->widget);
+}

+ 107 - 0
dap_link/gui/scenes/dap_scene_config.c

@@ -0,0 +1,107 @@
+#include "../dap_gui_i.h"
+
+static const char* swd_pins[] = {[DapSwdPinsPA7PA6] = "2,3", [DapSwdPinsPA14PA13] = "10,12"};
+static const char* uart_pins[] = {[DapUartTypeUSART1] = "13,14", [DapUartTypeLPUART1] = "15,16"};
+static const char* uart_swap[] = {[DapUartTXRXNormal] = "No", [DapUartTXRXSwap] = "Yes"};
+
+static void swd_pins_cb(VariableItem* item) {
+    DapGuiApp* app = variable_item_get_context(item);
+    uint8_t index = variable_item_get_current_value_index(item);
+
+    variable_item_set_current_value_text(item, swd_pins[index]);
+
+    DapConfig* config = dap_app_get_config(app->dap_app);
+    config->swd_pins = index;
+    dap_app_set_config(app->dap_app, config);
+}
+
+static void uart_pins_cb(VariableItem* item) {
+    DapGuiApp* app = variable_item_get_context(item);
+    uint8_t index = variable_item_get_current_value_index(item);
+
+    variable_item_set_current_value_text(item, uart_pins[index]);
+
+    DapConfig* config = dap_app_get_config(app->dap_app);
+    config->uart_pins = index;
+    dap_app_set_config(app->dap_app, config);
+}
+
+static void uart_swap_cb(VariableItem* item) {
+    DapGuiApp* app = variable_item_get_context(item);
+    uint8_t index = variable_item_get_current_value_index(item);
+
+    variable_item_set_current_value_text(item, uart_swap[index]);
+
+    DapConfig* config = dap_app_get_config(app->dap_app);
+    config->uart_swap = index;
+    dap_app_set_config(app->dap_app, config);
+}
+
+static void ok_cb(void* context, uint32_t index) {
+    DapGuiApp* app = context;
+    switch(index) {
+    case 3:
+        view_dispatcher_send_custom_event(app->view_dispatcher, DapAppCustomEventHelp);
+        break;
+    case 4:
+        view_dispatcher_send_custom_event(app->view_dispatcher, DapAppCustomEventAbout);
+        break;
+    default:
+        break;
+    }
+}
+
+void dap_scene_config_on_enter(void* context) {
+    DapGuiApp* app = context;
+    VariableItemList* var_item_list = app->var_item_list;
+    VariableItem* item;
+    DapConfig* config = dap_app_get_config(app->dap_app);
+
+    item = variable_item_list_add(
+        var_item_list, "SWC SWD Pins", COUNT_OF(swd_pins), swd_pins_cb, app);
+    variable_item_set_current_value_index(item, config->swd_pins);
+    variable_item_set_current_value_text(item, swd_pins[config->swd_pins]);
+
+    item =
+        variable_item_list_add(var_item_list, "UART Pins", COUNT_OF(uart_pins), uart_pins_cb, app);
+    variable_item_set_current_value_index(item, config->uart_pins);
+    variable_item_set_current_value_text(item, uart_pins[config->uart_pins]);
+
+    item = variable_item_list_add(
+        var_item_list, "Swap TX RX", COUNT_OF(uart_swap), uart_swap_cb, app);
+    variable_item_set_current_value_index(item, config->uart_swap);
+    variable_item_set_current_value_text(item, uart_swap[config->uart_swap]);
+
+    variable_item_list_add(var_item_list, "Help and Pinout", 0, NULL, NULL);
+    variable_item_list_add(var_item_list, "About", 0, NULL, NULL);
+
+    variable_item_list_set_selected_item(
+        var_item_list, scene_manager_get_scene_state(app->scene_manager, DapSceneConfig));
+
+    variable_item_list_set_enter_callback(var_item_list, ok_cb, app);
+
+    view_dispatcher_switch_to_view(app->view_dispatcher, DapGuiAppViewVarItemList);
+}
+
+bool dap_scene_config_on_event(void* context, SceneManagerEvent event) {
+    DapGuiApp* app = context;
+    if(event.type == SceneManagerEventTypeCustom) {
+        if(event.event == DapAppCustomEventHelp) {
+            scene_manager_next_scene(app->scene_manager, DapSceneHelp);
+            return true;
+        } else if(event.event == DapAppCustomEventAbout) {
+            scene_manager_next_scene(app->scene_manager, DapSceneAbout);
+            return true;
+        }
+    }
+    return false;
+}
+
+void dap_scene_config_on_exit(void* context) {
+    DapGuiApp* app = context;
+    scene_manager_set_scene_state(
+        app->scene_manager,
+        DapSceneConfig,
+        variable_item_list_get_selected_item_index(app->var_item_list));
+    variable_item_list_reset(app->var_item_list);
+}

+ 102 - 0
dap_link/gui/scenes/dap_scene_help.c

@@ -0,0 +1,102 @@
+#include "../dap_gui_i.h"
+
+void dap_scene_help_on_enter(void* context) {
+    DapGuiApp* app = context;
+    DapConfig* config = dap_app_get_config(app->dap_app);
+    FuriString* string = furi_string_alloc();
+
+    furi_string_cat(string, "CMSIS DAP/DAP Link v2\r\n");
+    furi_string_cat_printf(string, "Serial: %s\r\n", dap_app_get_serial(app->dap_app));
+    furi_string_cat(
+        string,
+        "Pinout:\r\n"
+        "\e#SWD:\r\n");
+
+    switch(config->swd_pins) {
+    case DapSwdPinsPA7PA6:
+        furi_string_cat(
+            string,
+            "    SWC: 2 [A7]\r\n"
+            "    SWD: 3 [A6]\r\n");
+        break;
+    case DapSwdPinsPA14PA13:
+        furi_string_cat(
+            string,
+            "    SWC: 10 [SWC]\r\n"
+            "    SWD: 12 [SIO]\r\n");
+        break;
+    default:
+        break;
+    }
+
+    furi_string_cat(string, "\e#JTAG:\r\n");
+    switch(config->swd_pins) {
+    case DapSwdPinsPA7PA6:
+        furi_string_cat(
+            string,
+            "    TCK: 2 [A7]\r\n"
+            "    TMS: 3 [A6]\r\n"
+            "    RST: 4 [A4]\r\n"
+            "    TDO: 5 [B3]\r\n"
+            "    TDI: 6 [B2]\r\n");
+        break;
+    case DapSwdPinsPA14PA13:
+        furi_string_cat(
+            string,
+            "    RST: 4 [A4]\r\n"
+            "    TDO: 5 [B3]\r\n"
+            "    TDI: 6 [B2]\r\n"
+            "    TCK: 10 [SWC]\r\n"
+            "    TMS: 12 [SIO]\r\n");
+        break;
+    default:
+        break;
+    }
+
+    furi_string_cat(string, "\e#UART:\r\n");
+    switch(config->uart_pins) {
+    case DapUartTypeUSART1:
+        if(config->uart_swap == DapUartTXRXNormal) {
+            furi_string_cat(
+                string,
+                "    TX: 13 [TX]\r\n"
+                "    RX: 14 [RX]\r\n");
+        } else {
+            furi_string_cat(
+                string,
+                "    RX: 13 [TX]\r\n"
+                "    TX: 14 [RX]\r\n");
+        }
+        break;
+    case DapUartTypeLPUART1:
+        if(config->uart_swap == DapUartTXRXNormal) {
+            furi_string_cat(
+                string,
+                "    TX: 15 [C1]\r\n"
+                "    RX: 16 [C0]\r\n");
+        } else {
+            furi_string_cat(
+                string,
+                "    RX: 15 [C1]\r\n"
+                "    TX: 16 [C0]\r\n");
+        }
+        break;
+    default:
+        break;
+    }
+
+    widget_add_text_scroll_element(app->widget, 0, 0, 128, 64, furi_string_get_cstr(string));
+    furi_string_free(string);
+    view_dispatcher_switch_to_view(app->view_dispatcher, DapGuiAppViewWidget);
+}
+
+bool dap_scene_help_on_event(void* context, SceneManagerEvent event) {
+    UNUSED(context);
+    UNUSED(event);
+    return false;
+}
+
+void dap_scene_help_on_exit(void* context) {
+    DapGuiApp* app = context;
+    widget_reset(app->widget);
+}

+ 154 - 0
dap_link/gui/scenes/dap_scene_main.c

@@ -0,0 +1,154 @@
+#include "../dap_gui_i.h"
+#include "../../dap_link.h"
+
+typedef struct {
+    DapState dap_state;
+    bool dap_active;
+    bool tx_active;
+    bool rx_active;
+} DapSceneMainState;
+
+static bool process_dap_state(DapGuiApp* app) {
+    DapSceneMainState* state =
+        (DapSceneMainState*)scene_manager_get_scene_state(app->scene_manager, DapSceneMain);
+    if(state == NULL) return true;
+
+    DapState* prev_state = &state->dap_state;
+    DapState next_state;
+    dap_app_get_state(app->dap_app, &next_state);
+    bool need_to_update = false;
+
+    if(prev_state->dap_mode != next_state.dap_mode) {
+        switch(next_state.dap_mode) {
+        case DapModeDisconnected:
+            dap_main_view_set_mode(app->main_view, DapMainViewModeDisconnected);
+            notification_message(app->notifications, &sequence_blink_stop);
+            break;
+        case DapModeSWD:
+            dap_main_view_set_mode(app->main_view, DapMainViewModeSWD);
+            notification_message(app->notifications, &sequence_blink_start_blue);
+            break;
+        case DapModeJTAG:
+            dap_main_view_set_mode(app->main_view, DapMainViewModeJTAG);
+            notification_message(app->notifications, &sequence_blink_start_magenta);
+            break;
+        }
+        need_to_update = true;
+    }
+
+    if(prev_state->dap_version != next_state.dap_version) {
+        switch(next_state.dap_version) {
+        case DapVersionUnknown:
+            dap_main_view_set_version(app->main_view, DapMainViewVersionUnknown);
+            break;
+        case DapVersionV1:
+            dap_main_view_set_version(app->main_view, DapMainViewVersionV1);
+            break;
+        case DapVersionV2:
+            dap_main_view_set_version(app->main_view, DapMainViewVersionV2);
+            break;
+        }
+        need_to_update = true;
+    }
+
+    if(prev_state->usb_connected != next_state.usb_connected) {
+        dap_main_view_set_usb_connected(app->main_view, next_state.usb_connected);
+        need_to_update = true;
+    }
+
+    if(prev_state->dap_counter != next_state.dap_counter) {
+        if(!state->dap_active) {
+            state->dap_active = true;
+            dap_main_view_set_dap(app->main_view, state->dap_active);
+            need_to_update = true;
+        }
+    } else {
+        if(state->dap_active) {
+            state->dap_active = false;
+            dap_main_view_set_dap(app->main_view, state->dap_active);
+            need_to_update = true;
+        }
+    }
+
+    if(prev_state->cdc_baudrate != next_state.cdc_baudrate) {
+        dap_main_view_set_baudrate(app->main_view, next_state.cdc_baudrate);
+        need_to_update = true;
+    }
+
+    if(prev_state->cdc_tx_counter != next_state.cdc_tx_counter) {
+        if(!state->tx_active) {
+            state->tx_active = true;
+            dap_main_view_set_tx(app->main_view, state->tx_active);
+            need_to_update = true;
+            notification_message(app->notifications, &sequence_blink_start_red);
+        }
+    } else {
+        if(state->tx_active) {
+            state->tx_active = false;
+            dap_main_view_set_tx(app->main_view, state->tx_active);
+            need_to_update = true;
+            notification_message(app->notifications, &sequence_blink_stop);
+        }
+    }
+
+    if(prev_state->cdc_rx_counter != next_state.cdc_rx_counter) {
+        if(!state->rx_active) {
+            state->rx_active = true;
+            dap_main_view_set_rx(app->main_view, state->rx_active);
+            need_to_update = true;
+            notification_message(app->notifications, &sequence_blink_start_green);
+        }
+    } else {
+        if(state->rx_active) {
+            state->rx_active = false;
+            dap_main_view_set_rx(app->main_view, state->rx_active);
+            need_to_update = true;
+            notification_message(app->notifications, &sequence_blink_stop);
+        }
+    }
+
+    if(need_to_update) {
+        dap_main_view_update(app->main_view);
+    }
+
+    *prev_state = next_state;
+    return true;
+}
+
+static void dap_scene_main_on_left(void* context) {
+    DapGuiApp* app = (DapGuiApp*)context;
+    view_dispatcher_send_custom_event(app->view_dispatcher, DapAppCustomEventConfig);
+}
+
+void dap_scene_main_on_enter(void* context) {
+    DapGuiApp* app = context;
+    DapSceneMainState* state = malloc(sizeof(DapSceneMainState));
+    dap_main_view_set_left_callback(app->main_view, dap_scene_main_on_left, app);
+    view_dispatcher_switch_to_view(app->view_dispatcher, DapGuiAppViewMainView);
+    scene_manager_set_scene_state(app->scene_manager, DapSceneMain, (uint32_t)state);
+}
+
+bool dap_scene_main_on_event(void* context, SceneManagerEvent event) {
+    DapGuiApp* app = context;
+
+    if(event.type == SceneManagerEventTypeCustom) {
+        if(event.event == DapAppCustomEventConfig) {
+            scene_manager_next_scene(app->scene_manager, DapSceneConfig);
+            return true;
+        }
+    } else if(event.type == SceneManagerEventTypeTick) {
+        return process_dap_state(app);
+    }
+
+    return false;
+}
+
+void dap_scene_main_on_exit(void* context) {
+    DapGuiApp* app = context;
+    DapSceneMainState* state =
+        (DapSceneMainState*)scene_manager_get_scene_state(app->scene_manager, DapSceneMain);
+    scene_manager_set_scene_state(app->scene_manager, DapSceneMain, (uint32_t)NULL);
+    FURI_SW_MEMBARRIER();
+    free(state);
+    notification_message(app->notifications, &sequence_blink_stop);
+}

+ 189 - 0
dap_link/gui/views/dap_main_view.c

@@ -0,0 +1,189 @@
+#include "dap_main_view.h"
+#include "dap_link_icons.h"
+#include <gui/elements.h>
+
+// extern const Icon I_ArrowDownEmpty_12x18;
+// extern const Icon I_ArrowDownFilled_12x18;
+// extern const Icon I_ArrowUpEmpty_12x18;
+// extern const Icon I_ArrowUpFilled_12x18;
+
+struct DapMainView {
+    View* view;
+    DapMainViewButtonCallback cb_left;
+    void* cb_context;
+};
+
+typedef struct {
+    DapMainViewMode mode;
+    DapMainViewVersion version;
+    bool usb_connected;
+    uint32_t baudrate;
+    bool dap_active;
+    bool tx_active;
+    bool rx_active;
+} DapMainViewModel;
+
+static void dap_main_view_draw_callback(Canvas* canvas, void* _model) {
+    DapMainViewModel* model = _model;
+    UNUSED(model);
+    canvas_clear(canvas);
+    elements_button_left(canvas, "Config");
+
+    canvas_set_color(canvas, ColorBlack);
+    canvas_draw_box(canvas, 0, 0, 127, 11);
+    canvas_set_color(canvas, ColorWhite);
+
+    const char* header_string;
+    if(model->usb_connected) {
+        if(model->version == DapMainViewVersionV1) {
+            header_string = "DAP Link V1 Connected";
+        } else if(model->version == DapMainViewVersionV2) {
+            header_string = "DAP Link V2 Connected";
+        } else {
+            header_string = "DAP Link Connected";
+        }
+    } else {
+        header_string = "DAP Link";
+    }
+
+    canvas_draw_str_aligned(canvas, 64, 9, AlignCenter, AlignBottom, header_string);
+
+    canvas_set_color(canvas, ColorBlack);
+    if(model->dap_active) {
+        canvas_draw_icon(canvas, 14, 16, &I_ArrowUpFilled_12x18);
+        canvas_draw_icon_ex(canvas, 28, 16, &I_ArrowUpFilled_12x18, IconRotation180);
+    } else {
+        canvas_draw_icon(canvas, 14, 16, &I_ArrowUpEmpty_12x18);
+        canvas_draw_icon_ex(canvas, 28, 16, &I_ArrowUpEmpty_12x18, IconRotation180);
+    }
+
+    switch(model->mode) {
+    case DapMainViewModeDisconnected:
+        canvas_draw_str_aligned(canvas, 26, 38, AlignCenter, AlignTop, "----");
+        break;
+    case DapMainViewModeSWD:
+        canvas_draw_str_aligned(canvas, 26, 38, AlignCenter, AlignTop, "SWD");
+        break;
+    case DapMainViewModeJTAG:
+        canvas_draw_str_aligned(canvas, 26, 38, AlignCenter, AlignTop, "JTAG");
+        break;
+    }
+
+    if(model->tx_active) {
+        canvas_draw_icon(canvas, 87, 16, &I_ArrowUpFilled_12x18);
+    } else {
+        canvas_draw_icon(canvas, 87, 16, &I_ArrowUpEmpty_12x18);
+    }
+
+    if(model->rx_active) {
+        canvas_draw_icon_ex(canvas, 101, 16, &I_ArrowUpFilled_12x18, IconRotation180);
+    } else {
+        canvas_draw_icon_ex(canvas, 101, 16, &I_ArrowUpEmpty_12x18, IconRotation180);
+    }
+
+    canvas_draw_str_aligned(canvas, 100, 38, AlignCenter, AlignTop, "UART");
+
+    canvas_draw_line(canvas, 44, 52, 123, 52);
+    if(model->baudrate == 0) {
+        canvas_draw_str(canvas, 45, 62, "Baud: ????");
+    } else {
+        char baudrate_str[18];
+        snprintf(baudrate_str, 18, "Baud: %lu", model->baudrate);
+        canvas_draw_str(canvas, 45, 62, baudrate_str);
+    }
+}
+
+static bool dap_main_view_input_callback(InputEvent* event, void* context) {
+    furi_assert(context);
+    DapMainView* dap_main_view = context;
+    bool consumed = false;
+
+    if(event->type == InputTypeShort) {
+        if(event->key == InputKeyLeft) {
+            if(dap_main_view->cb_left) {
+                dap_main_view->cb_left(dap_main_view->cb_context);
+            }
+            consumed = true;
+        }
+    }
+
+    return consumed;
+}
+
+DapMainView* dap_main_view_alloc() {
+    DapMainView* dap_main_view = malloc(sizeof(DapMainView));
+
+    dap_main_view->view = view_alloc();
+    view_allocate_model(dap_main_view->view, ViewModelTypeLocking, sizeof(DapMainViewModel));
+    view_set_context(dap_main_view->view, dap_main_view);
+    view_set_draw_callback(dap_main_view->view, dap_main_view_draw_callback);
+    view_set_input_callback(dap_main_view->view, dap_main_view_input_callback);
+    return dap_main_view;
+}
+
+void dap_main_view_free(DapMainView* dap_main_view) {
+    view_free(dap_main_view->view);
+    free(dap_main_view);
+}
+
+View* dap_main_view_get_view(DapMainView* dap_main_view) {
+    return dap_main_view->view;
+}
+
+void dap_main_view_set_left_callback(
+    DapMainView* dap_main_view,
+    DapMainViewButtonCallback callback,
+    void* context) {
+    with_view_model(
+        dap_main_view->view,
+        DapMainViewModel * model,
+        {
+            UNUSED(model);
+            dap_main_view->cb_left = callback;
+            dap_main_view->cb_context = context;
+        },
+        true);
+}
+
+void dap_main_view_set_mode(DapMainView* dap_main_view, DapMainViewMode mode) {
+    with_view_model(
+        dap_main_view->view, DapMainViewModel * model, { model->mode = mode; }, false);
+}
+
+void dap_main_view_set_dap(DapMainView* dap_main_view, bool active) {
+    with_view_model(
+        dap_main_view->view, DapMainViewModel * model, { model->dap_active = active; }, false);
+}
+
+void dap_main_view_set_tx(DapMainView* dap_main_view, bool active) {
+    with_view_model(
+        dap_main_view->view, DapMainViewModel * model, { model->tx_active = active; }, false);
+}
+
+void dap_main_view_set_rx(DapMainView* dap_main_view, bool active) {
+    with_view_model(
+        dap_main_view->view, DapMainViewModel * model, { model->rx_active = active; }, false);
+}
+
+void dap_main_view_set_baudrate(DapMainView* dap_main_view, uint32_t baudrate) {
+    with_view_model(
+        dap_main_view->view, DapMainViewModel * model, { model->baudrate = baudrate; }, false);
+}
+
+void dap_main_view_update(DapMainView* dap_main_view) {
+    with_view_model(
+        dap_main_view->view, DapMainViewModel * model, { UNUSED(model); }, true);
+}
+
+void dap_main_view_set_version(DapMainView* dap_main_view, DapMainViewVersion version) {
+    with_view_model(
+        dap_main_view->view, DapMainViewModel * model, { model->version = version; }, false);
+}
+
+void dap_main_view_set_usb_connected(DapMainView* dap_main_view, bool connected) {
+    with_view_model(
+        dap_main_view->view,
+        DapMainViewModel * model,
+        { model->usb_connected = connected; },
+        false);
+}

+ 45 - 0
dap_link/gui/views/dap_main_view.h

@@ -0,0 +1,45 @@
+#pragma once
+#include <gui/view.h>
+
+typedef struct DapMainView DapMainView;
+
+typedef void (*DapMainViewButtonCallback)(void* context);
+
+typedef enum {
+    DapMainViewVersionUnknown,
+    DapMainViewVersionV1,
+    DapMainViewVersionV2,
+} DapMainViewVersion;
+
+typedef enum {
+    DapMainViewModeDisconnected,
+    DapMainViewModeSWD,
+    DapMainViewModeJTAG,
+} DapMainViewMode;
+
+DapMainView* dap_main_view_alloc();
+
+void dap_main_view_free(DapMainView* dap_main_view);
+
+View* dap_main_view_get_view(DapMainView* dap_main_view);
+
+void dap_main_view_set_left_callback(
+    DapMainView* dap_main_view,
+    DapMainViewButtonCallback callback,
+    void* context);
+
+void dap_main_view_set_mode(DapMainView* dap_main_view, DapMainViewMode mode);
+
+void dap_main_view_set_version(DapMainView* dap_main_view, DapMainViewVersion version);
+
+void dap_main_view_set_dap(DapMainView* dap_main_view, bool active);
+
+void dap_main_view_set_tx(DapMainView* dap_main_view, bool active);
+
+void dap_main_view_set_rx(DapMainView* dap_main_view, bool active);
+
+void dap_main_view_set_usb_connected(DapMainView* dap_main_view, bool connected);
+
+void dap_main_view_set_baudrate(DapMainView* dap_main_view, uint32_t baudrate);
+
+void dap_main_view_update(DapMainView* dap_main_view);

binární
dap_link/icons/ActiveConnection_50x64.png


binární
dap_link/icons/ArrowUpEmpty_12x18.png


binární
dap_link/icons/ArrowUpFilled_12x18.png


+ 27 - 0
dap_link/lib/free-dap/LICENSE

@@ -0,0 +1,27 @@
+Copyright (c) 2016, Alex Taradov <alex@taradov.com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+* Neither the name of free-dap nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 100 - 0
dap_link/lib/free-dap/README.md

@@ -0,0 +1,100 @@
+# Free-DAP
+
+This is a free and open implementation of the CMSIS-DAP debugger firmware.
+
+Both SWD and JTAG protocols are supported. However JTAG was not well tested due to lack of
+good targets. If you have any issues with it - let me know and I'll try to help.
+
+## Platform requirements
+
+To create a CMSIS-DAP compliant debugger, your platform must:
+ * Implement USB HID (and raw bulk for CMSIS-DAP v2) device able to receive and send arbitrary payloads
+ * Provide configuration file dap_config.h with definitions for hardware-dependent calls
+ * Call dap_init() at the initialization time
+ * Call dap_process_request() for every received request and send the response back
+
+## CMSIS-DAP version support
+
+Free-DAP library itself is protocol agnostic and implementation of the specific version
+of the CMSIS-DAP protocol (v1 or v2) is up to the individual platforms.
+
+Currently RP2040 and SAM D11 implementaitons were updated to support CMSIS-DAP v2.
+Other platforms would be updated if requested or needed by me.
+
+## Configuration
+
+For complete list of settings see one of the existing configuration file, they are
+pretty obvious.
+
+To configure clock frequency you need to specify two parameters:
+  * DAP_CONFIG_DELAY_CONSTANT - clock timing constant. This constant can be determined
+    by calling dap_clock_test() with varying parameter value and measuring the frequency
+    on the SWCLK pin. Delay constant value is the value of the parameter at which
+    output frequency equals to 1 kHz.
+  * DAP_CONFIG_FAST_CLOCK - threshold for switching to fast clock routines. This value
+    defines the frequency, at which more optimal pin manipulation functions are used.
+    This is the frequency produced by dap_clock_test(1) on the SWCLK pin.
+    You can also measure maximum achievable frequency on your platform by calling dap_clock_test(0).
+
+Your configuration file will need to define the following pin manipulation functions:
+
+ * DAP_CONFIG_SWCLK_TCK_write()
+ * DAP_CONFIG_SWDIO_TMS_write()
+ * DAP_CONFIG_TDO_write()
+ * DAP_CONFIG_nTRST_write()
+ * DAP_CONFIG_nRESET_write()
+ * DAP_CONFIG_SWCLK_TCK_read()
+ * DAP_CONFIG_SWDIO_TMS_read()
+ * DAP_CONFIG_TDI_read()
+ * DAP_CONFIG_TDO_read()
+ * DAP_CONFIG_nTRST_read()
+ * DAP_CONFIG_nRESET_read()
+ * DAP_CONFIG_SWCLK_TCK_set()
+ * DAP_CONFIG_SWCLK_TCK_clr()
+ * DAP_CONFIG_SWDIO_TMS_in()
+ * DAP_CONFIG_SWDIO_TMS_out()
+
+Note that all pin manipulation functions are required even if one of the interfaces (JTAG or SWD) is not enabled.
+
+Additionally configuration file must provide basic initialization and control functions:
+
+ * DAP_CONFIG_SETUP()
+ * DAP_CONFIG_DISCONNECT()
+ * DAP_CONFIG_CONNECT_SWD()
+ * DAP_CONFIG_CONNECT_JTAG()
+ * DAP_CONFIG_LED()
+ * DAP_CONFIG_DELAY()
+
+## Tools
+
+A complete RP2040 build requres bin2uf2 utility to generate UF2 file suitable for the RP2040 MSC bootloader.
+This utility can be downloded [here](https://github.com/ataradov/tools/tree/master/bin2uf2).
+
+## Binaries
+
+Generally there are no pre-built binaries due to effort required to maintain
+them and low potential benefit because of custom hardware requirement.
+
+For RP2040 and Raspberry Pi Pico board specifically there is a binary, since
+it is a standard and a widely available board that has a nonvolatile bootloader.
+
+The UF2 file is located [here](bin/free_dap_rp2040.uf2). Simply boot into
+a BootROM MSC mode and copy that file to the drive.
+
+I will try to do my best to keep this binary in sync with the code updates, but
+it is a manual process, so I may forget. Let me know if you have any issues.
+
+The pins used are as follows:
+
+| GPIO | Function |
+|:---:|:---|
+| 11 | SWCLK/TCK |
+| 12 | SWDIO/TMS |
+| 13 | TDI |
+| 14 | TDO |
+| 15 | nRESET |
+| 0 | VCP TX |
+| 1 | VCP RX |
+| 2 | VCP Status |
+| 25 (LED) | DAP Status |
+

binární
dap_link/lib/free-dap/bin/free_dap_rp2040.uf2


+ 1509 - 0
dap_link/lib/free-dap/dap.c

@@ -0,0 +1,1509 @@
+/*
+ * Copyright (c) 2016-2021, Alex Taradov <alex@taradov.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*- Includes ----------------------------------------------------------------*/
+#include <string.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include "dap_config.h"
+#include "dap.h"
+
+/*- Definitions -------------------------------------------------------------*/
+#define ARRAY_SIZE(x)  ((int)(sizeof(x) / sizeof(0[x])))
+
+enum
+{
+  ID_DAP_INFO               = 0x00,
+  ID_DAP_HOST_STATUS        = 0x01,
+  ID_DAP_CONNECT            = 0x02,
+  ID_DAP_DISCONNECT         = 0x03,
+  ID_DAP_TRANSFER_CONFIGURE = 0x04,
+  ID_DAP_TRANSFER           = 0x05,
+  ID_DAP_TRANSFER_BLOCK     = 0x06,
+  ID_DAP_TRANSFER_ABORT     = 0x07,
+  ID_DAP_WRITE_ABORT        = 0x08,
+  ID_DAP_DELAY              = 0x09,
+  ID_DAP_RESET_TARGET       = 0x0a,
+
+  ID_DAP_SWJ_PINS           = 0x10,
+  ID_DAP_SWJ_CLOCK          = 0x11,
+  ID_DAP_SWJ_SEQUENCE       = 0x12,
+
+  ID_DAP_SWD_CONFIGURE      = 0x13,
+  ID_DAP_SWD_SEQUENCE       = 0x1d,
+
+  ID_DAP_JTAG_SEQUENCE      = 0x14,
+  ID_DAP_JTAG_CONFIGURE     = 0x15,
+  ID_DAP_JTAG_IDCODE        = 0x16,
+
+  ID_DAP_SWO_TRANSPORT      = 0x17,
+  ID_DAP_SWO_MODE           = 0x18,
+  ID_DAP_SWO_BAUDRATE       = 0x19,
+  ID_DAP_SWO_CONTROL        = 0x1a,
+  ID_DAP_SWO_STATUS         = 0x1b,
+  ID_DAP_SWO_EXT_STATUS     = 0x1e,
+  ID_DAP_SWO_DATA           = 0x1c,
+
+  ID_DAP_QUEUE_COMMANDS     = 0x7e,
+  ID_DAP_EXECUTE_COMMANDS   = 0x7f,
+
+  ID_DAP_VENDOR_0           = 0x80,
+  ID_DAP_VENDOR_31          = 0x9f,
+  ID_DAP_VENDOR_EX_FIRS     = 0xa0,
+  ID_DAP_VENDOR_EX_LAST     = 0xfe,
+
+  ID_DAP_INVALID            = 0xff,
+};
+
+enum
+{
+  DAP_INFO_VENDOR           = 0x01,
+  DAP_INFO_PRODUCT          = 0x02,
+  DAP_INFO_SER_NUM          = 0x03,
+  DAP_INFO_CMSIS_DAP_VER    = 0x04,
+  DAP_INFO_DEVICE_VENDOR    = 0x05,
+  DAP_INFO_DEVICE_NAME      = 0x06,
+  DAP_INFO_BOARD_VENDOR     = 0x07,
+  DAP_INFO_BOARD_NAME       = 0x08,
+  DAP_INFO_FW_VER           = 0x09,
+  DAP_INFO_CAPABILITIES     = 0xf0,
+  DAP_INFO_TDT              = 0xf1,
+  DAP_INFO_UART_RX_SIZE     = 0xfb,
+  DAP_INFO_UART_TX_SIZE     = 0xfc,
+  DAP_INFO_SWO_BUF_SIZE     = 0xfd,
+  DAP_INFO_PACKET_COUNT     = 0xfe,
+  DAP_INFO_PACKET_SIZE      = 0xff,
+};
+
+enum
+{
+  DAP_CAP_SWD               = (1 << 0),
+  DAP_CAP_JTAG              = (1 << 1),
+  DAP_CAP_SWO_UART          = (1 << 2),
+  DAP_CAP_SWO_MANCHESTER    = (1 << 3),
+  DAP_CAP_ATOMIC_CMD        = (1 << 4),
+  DAP_CAP_TDT               = (1 << 5),
+  DAP_CAP_SWO_STREAMING     = (1 << 6),
+  DAP_CAP_UART_COM_PORT     = (1 << 7),
+};
+
+enum
+{
+  DAP_TRANSFER_APnDP        = 1 << 0,
+  DAP_TRANSFER_RnW          = 1 << 1,
+  DAP_TRANSFER_A2           = 1 << 2,
+  DAP_TRANSFER_A3           = 1 << 3,
+  DAP_TRANSFER_MATCH_VALUE  = 1 << 4,
+  DAP_TRANSFER_MATCH_MASK   = 1 << 5,
+  DAP_TRANSFER_JTAG_ABORT   = 1 << 16,
+};
+
+enum
+{
+  DAP_TRANSFER_INVALID      = 0,
+  DAP_TRANSFER_OK           = 1 << 0,
+  DAP_TRANSFER_WAIT         = 1 << 1,
+  DAP_TRANSFER_FAULT        = 1 << 2,
+  DAP_TRANSFER_ERROR        = 1 << 3,
+  DAP_TRANSFER_MISMATCH     = 1 << 4,
+};
+
+enum
+{
+  DAP_PORT_DISABLED         = 0,
+  DAP_PORT_AUTODETECT       = 0,
+  DAP_PORT_SWD              = 1,
+  DAP_PORT_JTAG             = 2,
+};
+
+enum
+{
+  DAP_SWJ_SWCLK_TCK         = 1 << 0,
+  DAP_SWJ_SWDIO_TMS         = 1 << 1,
+  DAP_SWJ_TDI               = 1 << 2,
+  DAP_SWJ_TDO               = 1 << 3,
+  DAP_SWJ_nTRST             = 1 << 5,
+  DAP_SWJ_nRESET            = 1 << 7,
+};
+
+enum
+{
+  DAP_OK                    = 0x00,
+  DAP_ERROR                 = 0xff,
+};
+
+enum
+{
+  SWD_DP_R_IDCODE           = 0x00,
+  SWD_DP_W_ABORT            = 0x00,
+  SWD_DP_R_RDBUFF           = 0x0c,
+};
+
+enum
+{
+  JTAG_ABORT                = 0x08,
+  JTAG_DPACC                = 0x0a,
+  JTAG_APACC                = 0x0b,
+  JTAG_IDCODE               = 0x0e,
+  JTAG_BYPASS               = 0x0f,
+  JTAG_INVALID              = 0xff,
+};
+
+enum
+{
+  JTAG_SEQUENCE_COUNT       = 0x3f,
+  JTAG_SEQUENCE_TMS         = 0x40,
+  JTAG_SEQUENCE_TDO         = 0x80,
+};
+
+enum
+{
+  SWD_SEQUENCE_COUNT        = 0x3f,
+  SWD_SEQUENCE_DIN          = 0x80,
+};
+
+#define ARM_JTAG_IR_LENGTH  4
+
+/*- Constants ---------------------------------------------------------------*/
+static const struct
+{
+  int    id;
+  char   * const str;
+} dap_info_strings[] =
+{
+#ifdef DAP_CONFIG_VENDOR_STR
+  { DAP_INFO_VENDOR,        DAP_CONFIG_VENDOR_STR },
+#endif
+#ifdef DAP_CONFIG_PRODUCT_STR
+  { DAP_INFO_PRODUCT,       DAP_CONFIG_PRODUCT_STR },
+#endif
+#ifdef DAP_CONFIG_SER_NUM_STR
+  { DAP_INFO_SER_NUM,       DAP_CONFIG_SER_NUM_STR },
+#endif
+#ifdef DAP_CONFIG_CMSIS_DAP_VER_STR
+  { DAP_INFO_CMSIS_DAP_VER, DAP_CONFIG_CMSIS_DAP_VER_STR },
+#endif
+#ifdef DAP_CONFIG_DEVICE_VENDOR_STR
+  { DAP_INFO_DEVICE_VENDOR, DAP_CONFIG_DEVICE_VENDOR_STR },
+#endif
+#ifdef DAP_CONFIG_DEVICE_NAME_STR
+  { DAP_INFO_DEVICE_NAME,   DAP_CONFIG_DEVICE_NAME_STR },
+#endif
+#ifdef DAP_CONFIG_BOARD_VENDOR_STR
+  { DAP_INFO_BOARD_VENDOR,  DAP_CONFIG_BOARD_VENDOR_STR },
+#endif
+#ifdef DAP_CONFIG_BOARD_NAME_STR
+  { DAP_INFO_BOARD_NAME,    DAP_CONFIG_BOARD_NAME_STR },
+#endif
+#ifdef DAP_CONFIG_FW_VER_STR
+  { DAP_INFO_FW_VER,        DAP_CONFIG_FW_VER_STR },
+#endif
+};
+
+/*- Variables ---------------------------------------------------------------*/
+static int dap_port;
+static volatile bool dap_abort;
+static uint32_t dap_match_mask;
+static int dap_idle_cycles;
+static int dap_retry_count;
+static int dap_match_retry_count;
+static int dap_clock_delay;
+
+static void (*dap_swj_run)(int);
+static void (*dap_swd_write)(uint32_t, int);
+static uint32_t (*dap_swd_read)(int);
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+static uint32_t (*dap_jtag_write)(uint32_t, int);
+static uint32_t (*dap_jtag_read)(int);
+static uint32_t (*dap_jtag_rdwr)(uint32_t, int);
+#endif
+
+static uint8_t *dap_req_buf;
+static int dap_req_size;
+static int dap_req_ptr;
+
+static uint8_t *dap_resp_buf;
+static int dap_resp_size;
+static int dap_resp_ptr;
+
+static bool dap_buf_error;
+
+static int dap_swd_turnaround;
+static bool dap_swd_data_phase;
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+static int dap_jtag_dev_count;
+static int dap_jtag_dev_index;
+static int dap_jtag_ir_length[DAP_CONFIG_JTAG_DEV_COUNT];
+static int dap_jtag_ir_before[DAP_CONFIG_JTAG_DEV_COUNT];
+static int dap_jtag_ir_after[DAP_CONFIG_JTAG_DEV_COUNT];
+static int dap_jtag_ir;
+#endif
+
+/*- Implementations ---------------------------------------------------------*/
+
+//-----------------------------------------------------------------------------
+static void dap_delay_us(int delay)
+{
+  while (delay)
+  {
+    int del = (delay > 100000) ? 100000 : delay;
+    DAP_CONFIG_DELAY((DAP_CONFIG_DELAY_CONSTANT * 2 * del) / 1000);
+    delay -= del;
+  }
+}
+
+//-----------------------------------------------------------------------------
+#define DAP_SWJ_FN(ver, delay) \
+  DAP_CONFIG_PERFORMANCE_ATTR						\
+  static void dap_swj_run_##ver(int cycles)				\
+  {									\
+    while (cycles--)							\
+    {									\
+      DAP_CONFIG_SWCLK_TCK_clr();					\
+      delay(dap_clock_delay);						\
+      DAP_CONFIG_SWCLK_TCK_set();					\
+      delay(dap_clock_delay);						\
+    }									\
+  }
+DAP_SWJ_FN(slow, DAP_CONFIG_DELAY)
+DAP_SWJ_FN(fast, (void))
+
+//-----------------------------------------------------------------------------
+#define DAP_SWD_FN(ver, delay) \
+  DAP_CONFIG_PERFORMANCE_ATTR						\
+  static void dap_swd_write_##ver(uint32_t value, int size)		\
+  {									\
+    for (int i = 0; i < size; i++)					\
+    {									\
+      DAP_CONFIG_SWDIO_TMS_write(value & 1);				\
+      DAP_CONFIG_SWCLK_TCK_clr();					\
+      delay(dap_clock_delay);						\
+      DAP_CONFIG_SWCLK_TCK_set();					\
+      delay(dap_clock_delay);						\
+      value >>= 1;							\
+    }									\
+  }									\
+									\
+  DAP_CONFIG_PERFORMANCE_ATTR						\
+  static uint32_t dap_swd_read_##ver(int size)				\
+  {									\
+    uint32_t value = 0;							\
+    uint32_t bit;							\
+    for (int i = 0; i < size; i++)					\
+    {									\
+      DAP_CONFIG_SWCLK_TCK_clr();					\
+      delay(dap_clock_delay);						\
+      bit = DAP_CONFIG_SWDIO_TMS_read();				\
+      DAP_CONFIG_SWCLK_TCK_set();					\
+      delay(dap_clock_delay);						\
+      value |= (bit << i);						\
+    }									\
+    return value;							\
+  }
+
+DAP_SWD_FN(slow, DAP_CONFIG_DELAY)
+DAP_SWD_FN(fast, (void))
+
+//-----------------------------------------------------------------------------
+static inline uint32_t dap_parity(uint32_t value)
+{
+  value ^= value >> 16;
+  value ^= value >> 8;
+  value ^= value >> 4;
+  value &= 0x0f;
+
+  return (0x6996 >> value) & 1;
+}
+
+//-----------------------------------------------------------------------------
+static int dap_swd_operation(int req, uint32_t *data)
+{
+  uint32_t value;
+  int ack = 0;
+
+  req &= (DAP_TRANSFER_APnDP | DAP_TRANSFER_RnW | DAP_TRANSFER_A2 | DAP_TRANSFER_A3);
+
+  dap_swd_write(0x81 | (dap_parity(req) << 5) | (req << 1), 8);
+
+  DAP_CONFIG_SWDIO_TMS_in();
+
+  dap_swj_run(dap_swd_turnaround);
+
+  ack = dap_swd_read(3);
+
+  if (DAP_TRANSFER_OK == ack)
+  {
+    if (req & DAP_TRANSFER_RnW)
+    {
+      value = dap_swd_read(32);
+
+      if (dap_parity(value) != dap_swd_read(1))
+        ack = DAP_TRANSFER_ERROR;
+
+      if (data)
+        *data = value;
+
+      dap_swj_run(dap_swd_turnaround);
+
+      DAP_CONFIG_SWDIO_TMS_out();
+    }
+    else
+    {
+      dap_swj_run(dap_swd_turnaround);
+
+      DAP_CONFIG_SWDIO_TMS_out();
+
+      dap_swd_write(*data, 32);
+      dap_swd_write(dap_parity(*data), 1);
+    }
+
+    DAP_CONFIG_SWDIO_TMS_write(0);
+    dap_swj_run(dap_idle_cycles);
+  }
+
+  else if (DAP_TRANSFER_WAIT == ack || DAP_TRANSFER_FAULT == ack)
+  {
+    if (dap_swd_data_phase && (req & DAP_TRANSFER_RnW))
+      dap_swj_run(32 + 1);
+
+    dap_swj_run(dap_swd_turnaround);
+
+    DAP_CONFIG_SWDIO_TMS_out();
+
+    if (dap_swd_data_phase && (0 == (req & DAP_TRANSFER_RnW)))
+    {
+      DAP_CONFIG_SWDIO_TMS_write(0);
+      dap_swj_run(32 + 1);
+    }
+  }
+
+  else
+  {
+    dap_swj_run(dap_swd_turnaround + 32 + 1);
+  }
+
+  DAP_CONFIG_SWDIO_TMS_write(1);
+
+  return ack;
+}
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+//-----------------------------------------------------------------------------
+#define DAP_JTAG_FN(ver, delay) \
+  DAP_CONFIG_PERFORMANCE_ATTR						\
+  static uint32_t dap_jtag_write_##ver(uint32_t value, int size)	\
+  {									\
+    for (int i = 0; i < size; i++)					\
+    {									\
+      DAP_CONFIG_TDI_write(value & 1);					\
+      DAP_CONFIG_SWCLK_TCK_clr();					\
+      delay(dap_clock_delay);						\
+      DAP_CONFIG_SWCLK_TCK_set();					\
+      delay(dap_clock_delay);						\
+      value >>= 1;							\
+    }									\
+    return value;							\
+  }									\
+									\
+  DAP_CONFIG_PERFORMANCE_ATTR						\
+  static uint32_t dap_jtag_read_##ver(int size)				\
+  {									\
+    uint32_t value = 0;							\
+    uint32_t bit;							\
+    for (int i = 0; i < size; i++)					\
+    {									\
+      DAP_CONFIG_SWCLK_TCK_clr();					\
+      delay(dap_clock_delay);						\
+      bit = DAP_CONFIG_TDO_read();					\
+      DAP_CONFIG_SWCLK_TCK_set();					\
+      delay(dap_clock_delay);						\
+      value |= (bit << i);						\
+    }									\
+    return value;							\
+  }									\
+									\
+  DAP_CONFIG_PERFORMANCE_ATTR						\
+  static uint32_t dap_jtag_rdwr_##ver(uint32_t value, int size)		\
+  {									\
+    uint32_t rvalue = 0;						\
+    uint32_t bit;							\
+    for (int i = 0; i < size; i++)					\
+    {									\
+      DAP_CONFIG_TDI_write(value & 1);					\
+      DAP_CONFIG_SWCLK_TCK_clr();					\
+      delay(dap_clock_delay);						\
+      bit = DAP_CONFIG_TDO_read();					\
+      DAP_CONFIG_SWCLK_TCK_set();					\
+      delay(dap_clock_delay);						\
+      value >>= 1;							\
+      rvalue |= (bit << i);						\
+    }									\
+    return rvalue;							\
+  }
+
+DAP_JTAG_FN(slow, DAP_CONFIG_DELAY)
+DAP_JTAG_FN(fast, (void))
+
+//-----------------------------------------------------------------------------
+static void dap_jtag_write_ir(int ir)
+{
+  int len = dap_jtag_ir_length[dap_jtag_dev_index];
+
+  DAP_CONFIG_SWDIO_TMS_write(1);
+  dap_swj_run(2); // -> Select-IR-Scan
+  DAP_CONFIG_SWDIO_TMS_write(0);
+  dap_swj_run(2); // -> Shift-IR
+
+  DAP_CONFIG_TDI_write(1);
+  dap_swj_run(dap_jtag_ir_before[dap_jtag_dev_index]);
+
+  ir = dap_jtag_write(ir, len-1);
+
+  if (dap_jtag_ir_after[dap_jtag_dev_index])
+  {
+    dap_jtag_write(ir, 1);
+
+    DAP_CONFIG_TDI_write(1);
+    dap_swj_run(dap_jtag_ir_after[dap_jtag_dev_index]-1);
+
+    DAP_CONFIG_SWDIO_TMS_write(1);
+    dap_swj_run(1); // -> Exit1-IR
+  }
+  else
+  {
+    DAP_CONFIG_SWDIO_TMS_write(1);
+    dap_jtag_write(ir, 1); // -> Exit1-IR
+  }
+
+  dap_swj_run(1); // -> Update-IR
+  DAP_CONFIG_SWDIO_TMS_write(0);
+  dap_swj_run(1); // -> Idle
+  DAP_CONFIG_TDI_write(1);
+}
+
+//-----------------------------------------------------------------------------
+static int dap_jtag_operation(int req, uint32_t *data)
+{
+  int ack, ir;
+
+  if (DAP_TRANSFER_JTAG_ABORT == req)
+    ir = JTAG_ABORT;
+  else
+    ir = (req & DAP_TRANSFER_APnDP) ? JTAG_APACC : JTAG_DPACC;
+
+  if (ir != dap_jtag_ir)
+  {
+    dap_jtag_ir = ir;
+    dap_jtag_write_ir(ir);
+  }
+
+  DAP_CONFIG_SWDIO_TMS_write(1);
+  dap_swj_run(1); // -> Select-DR-Scan
+  DAP_CONFIG_SWDIO_TMS_write(0);
+  dap_swj_run(2 + dap_jtag_dev_index); // -> Shift-DR
+
+  ack = dap_jtag_rdwr(req >> 1, 3);
+
+  if (ack == 0x2)
+    ack = DAP_TRANSFER_OK; // or FAULT
+  else if (ack == 0x1)
+    ack = DAP_TRANSFER_WAIT;
+  else
+    ack = DAP_TRANSFER_INVALID;
+
+  if (DAP_TRANSFER_OK == ack)
+  {
+    int cnt = dap_jtag_dev_count - dap_jtag_dev_index - 1;
+    uint32_t value;
+
+    if (req & DAP_TRANSFER_RnW)
+    {
+      if (cnt)
+      {
+        value = dap_jtag_read(32);
+        dap_swj_run(cnt-1);
+        DAP_CONFIG_SWDIO_TMS_write(1);
+        dap_swj_run(1); // -> Exit1-DR
+      }
+      else
+      {
+        value = dap_jtag_read(31);
+        DAP_CONFIG_SWDIO_TMS_write(1);
+        value |= (dap_jtag_read(1) << 31); // -> Exit1-DR
+      }
+
+      if (data)
+        *data = value;
+    }
+    else
+    {
+      value = *data;
+
+      if (cnt)
+      {
+        dap_jtag_write(value, 32);
+        dap_swj_run(cnt-1);
+        DAP_CONFIG_SWDIO_TMS_write(1);
+        dap_swj_run(1); // -> Exit1-DR
+      }
+      else
+      {
+        value = dap_jtag_write(value, 31);
+        DAP_CONFIG_SWDIO_TMS_write(1);
+        dap_jtag_write(value, 1); // -> Exit1-DR
+      }
+    }
+  }
+  else // Not OK
+  {
+    DAP_CONFIG_SWDIO_TMS_write(1);
+    dap_swj_run(1); // -> Exit1-DR
+  }
+
+  dap_swj_run(1); // -> Update-DR
+  DAP_CONFIG_SWDIO_TMS_write(0);
+  dap_swj_run(1); // -> Idle
+  DAP_CONFIG_TDI_write(1);
+
+  dap_swj_run(dap_idle_cycles);
+
+  return ack;
+}
+#endif // DAP_CONFIG_ENABLE_JTAG
+
+//-----------------------------------------------------------------------------
+static void dap_setup_clock(int freq)
+{
+  if (freq > DAP_CONFIG_FAST_CLOCK)
+  {
+    dap_clock_delay = 0;
+    dap_swj_run     = dap_swj_run_fast;
+    dap_swd_write   = dap_swd_write_fast;
+    dap_swd_read    = dap_swd_read_fast;
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    dap_jtag_write  = dap_jtag_write_fast;
+    dap_jtag_read   = dap_jtag_read_fast;
+    dap_jtag_rdwr   = dap_jtag_rdwr_fast;
+#endif
+  }
+  else
+  {
+    dap_clock_delay = (DAP_CONFIG_DELAY_CONSTANT * 1000) / freq;
+    dap_swj_run     = dap_swj_run_slow;
+    dap_swd_write   = dap_swd_write_slow;
+    dap_swd_read    = dap_swd_read_slow;
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    dap_jtag_write  = dap_jtag_write_slow;
+    dap_jtag_read   = dap_jtag_read_slow;
+    dap_jtag_rdwr   = dap_jtag_rdwr_slow;
+#endif
+  }
+}
+
+//-----------------------------------------------------------------------------
+static bool dap_select_device(int index)
+{
+  if (DAP_PORT_SWD == dap_port)
+    return true;
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  if (DAP_PORT_JTAG == dap_port)
+  {
+    if (index >= dap_jtag_dev_count || dap_jtag_ir_length[index] != ARM_JTAG_IR_LENGTH)
+      return false;
+
+    dap_jtag_dev_index = index;
+
+    return true;
+  }
+#endif
+
+  (void)index;
+  return false;
+}
+
+//-----------------------------------------------------------------------------
+static int dap_transfer_word(int req, uint32_t *data)
+{
+  int ack = DAP_TRANSFER_INVALID;
+
+  for (int i = 0; i < dap_retry_count; i++)
+  {
+    if (DAP_PORT_SWD == dap_port)
+      ack = dap_swd_operation(req, data);
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    else if (DAP_PORT_JTAG == dap_port)
+      ack = dap_jtag_operation(req, data);
+#endif
+
+    if (DAP_TRANSFER_WAIT != ack || dap_abort)
+      break;
+  }
+
+  return ack;
+}
+
+//-----------------------------------------------------------------------------
+static bool dap_needs_posted_read(int request)
+{
+  if (0 == (request & DAP_TRANSFER_RnW))
+    return false;
+
+  if (DAP_PORT_SWD == dap_port)
+    return (request & DAP_TRANSFER_APnDP);
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  if (DAP_PORT_JTAG == dap_port)
+    return true;
+#endif
+
+  return false;
+}
+
+//-----------------------------------------------------------------------------
+static void dap_buf_init(uint8_t *req, int req_size, uint8_t *resp, int resp_size)
+{
+  dap_req_buf  = req;
+  dap_req_size = req_size;
+  dap_req_ptr  = 0;
+
+  dap_resp_buf  = resp;
+  dap_resp_size = resp_size;
+  dap_resp_ptr  = 0;
+
+  dap_buf_error = false;
+}
+
+//-----------------------------------------------------------------------------
+uint8_t dap_req_get_byte(void)
+{
+  if (dap_buf_error || ((dap_req_size - dap_req_ptr) < (int)sizeof(uint8_t)))
+  {
+    dap_buf_error = true;
+    return 0;
+  }
+
+  return dap_req_buf[dap_req_ptr++];
+}
+
+//-----------------------------------------------------------------------------
+uint16_t dap_req_get_half(void)
+{
+  if (dap_buf_error || ((dap_req_size - dap_req_ptr) < (int)sizeof(uint16_t)))
+  {
+    dap_buf_error = true;
+    return 0;
+  }
+
+  uint16_t value =
+      ((uint16_t)dap_req_buf[dap_req_ptr + 1] << 8) |
+       (uint16_t)dap_req_buf[dap_req_ptr];
+  dap_req_ptr += sizeof(uint16_t);
+
+  return value;
+}
+
+//-----------------------------------------------------------------------------
+uint32_t dap_req_get_word(void)
+{
+  if (dap_buf_error || ((dap_req_size - dap_req_ptr) < (int)sizeof(uint32_t)))
+  {
+    dap_buf_error = true;
+    return 0;
+  }
+
+  uint32_t value =
+      ((uint32_t)dap_req_buf[dap_req_ptr + 3] << 24) |
+      ((uint32_t)dap_req_buf[dap_req_ptr + 2] << 16) |
+      ((uint32_t)dap_req_buf[dap_req_ptr + 1] << 8) |
+       (uint32_t)dap_req_buf[dap_req_ptr];
+  dap_req_ptr += sizeof(uint32_t);
+
+  return value;
+}
+
+//-----------------------------------------------------------------------------
+void dap_resp_add_byte(uint8_t value)
+{
+  if (dap_buf_error || ((dap_resp_size - dap_resp_ptr) < (int)sizeof(uint8_t)))
+  {
+    dap_buf_error = true;
+    return;
+  }
+
+  dap_resp_buf[dap_resp_ptr++] = value;
+}
+
+//-----------------------------------------------------------------------------
+void dap_resp_add_word(uint32_t value)
+{
+  if (dap_buf_error || ((dap_resp_size - dap_resp_ptr) < (int)sizeof(uint32_t)))
+  {
+    dap_buf_error = true;
+    return;
+  }
+
+  dap_resp_buf[dap_resp_ptr + 0] = value;
+  dap_resp_buf[dap_resp_ptr + 1] = value >> 8;
+  dap_resp_buf[dap_resp_ptr + 2] = value >> 16;
+  dap_resp_buf[dap_resp_ptr + 3] = value >> 24;
+  dap_resp_ptr += sizeof(uint32_t);
+}
+
+//-----------------------------------------------------------------------------
+void dap_resp_set_byte(int index, uint8_t value)
+{
+  if (index < dap_resp_ptr)
+    dap_resp_buf[index] = value;
+}
+
+//-----------------------------------------------------------------------------
+bool dap_is_buf_error(void)
+{
+  return dap_buf_error;
+}
+
+//-----------------------------------------------------------------------------
+static void dap_info(void)
+{
+  int index = dap_req_get_byte();
+
+  if (DAP_INFO_CAPABILITIES == index)
+  {
+    int cap = DAP_CAP_SWD;
+#ifdef DAP_CONFIG_ENABLE_JTAG
+    cap |= DAP_CAP_JTAG;
+#endif
+    dap_resp_add_byte(1);
+    dap_resp_add_byte(cap);
+  }
+  else if (DAP_INFO_PACKET_COUNT == index)
+  {
+    dap_resp_add_byte(1);
+    dap_resp_add_byte(DAP_CONFIG_PACKET_COUNT);
+  }
+  else if (DAP_INFO_PACKET_SIZE == index)
+  {
+    dap_resp_add_byte(2);
+    dap_resp_add_byte(DAP_CONFIG_PACKET_SIZE & 0xff);
+    dap_resp_add_byte((DAP_CONFIG_PACKET_SIZE >> 8) & 0xff);
+  }
+  else
+  {
+    dap_resp_add_byte(0); // Size placeholder
+
+    for (int i = 0; i < ARRAY_SIZE(dap_info_strings); i++)
+    {
+      if (dap_info_strings[i].id == index)
+      {
+        const char *str = dap_info_strings[i].str;
+
+        while (*str)
+          dap_resp_add_byte(*str++);
+        dap_resp_add_byte(0);
+
+        dap_resp_set_byte(1, dap_resp_ptr-2);
+
+        break;
+      }
+    }
+  }
+}
+
+//-----------------------------------------------------------------------------
+static void dap_host_status(void)
+{
+  int index = dap_req_get_byte();
+  int state = dap_req_get_byte();
+
+  DAP_CONFIG_LED(index, state);
+
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_connect(void)
+{
+  int port = dap_req_get_byte();
+
+  if (DAP_PORT_AUTODETECT == port)
+    port = DAP_CONFIG_DEFAULT_PORT;
+
+  dap_port = DAP_PORT_DISABLED;
+
+  if (DAP_PORT_SWD == port)
+  {
+    DAP_CONFIG_CONNECT_SWD();
+    dap_port = DAP_PORT_SWD;
+  }
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  else if (DAP_PORT_JTAG == port)
+  {
+    DAP_CONFIG_CONNECT_JTAG();
+    dap_port = DAP_PORT_JTAG;
+  }
+#endif
+
+  dap_resp_add_byte(dap_port);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_disconnect(void)
+{
+  DAP_CONFIG_DISCONNECT();
+
+  dap_port = DAP_PORT_DISABLED;
+
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_transfer_configure(void)
+{
+  dap_idle_cycles = dap_req_get_byte();
+  dap_retry_count = dap_req_get_half();
+  dap_match_retry_count = dap_req_get_half();
+
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_transfer(void)
+{
+  int req_count, resp_count, request, ack;
+  bool posted_read, verify_write;
+  uint32_t data, match_value;
+
+  dap_resp_add_byte(0); // Count
+  dap_resp_add_byte(DAP_TRANSFER_INVALID);
+
+  if (!dap_select_device(dap_req_get_byte()))
+    return;
+
+  req_count  = dap_req_get_byte();
+  resp_count = 0;
+
+  posted_read = false;
+  verify_write = false;
+  ack = DAP_TRANSFER_INVALID;
+
+  for (; req_count && !dap_abort && !dap_buf_error; req_count--, resp_count++)
+  {
+    request = dap_req_get_byte();
+    verify_write = false;
+
+    if (posted_read)
+    {
+      if (dap_needs_posted_read(request))
+      {
+        ack = dap_transfer_word(request, &data);
+      }
+      else
+      {
+        ack = dap_transfer_word(SWD_DP_R_RDBUFF | DAP_TRANSFER_RnW, &data);
+        posted_read = false;
+      }
+
+      if (ack != DAP_TRANSFER_OK)
+        break;
+
+      dap_resp_add_word(data);
+
+      if (posted_read)
+        continue;
+    }
+
+    if (request & DAP_TRANSFER_RnW)
+    {
+      if (request & DAP_TRANSFER_MATCH_VALUE)
+      {
+        match_value = dap_req_get_word();
+
+        if (dap_needs_posted_read(request))
+          dap_transfer_word(request, NULL);
+
+        for (int i = 0; i < dap_match_retry_count; i++)
+        {
+          ack = dap_transfer_word(request, &data);
+
+          if (DAP_TRANSFER_OK != ack || (data & dap_match_mask) == match_value || dap_abort)
+            break;
+        };
+
+        if ((data & dap_match_mask) != match_value)
+          ack |= DAP_TRANSFER_MISMATCH;
+
+        if (ack != DAP_TRANSFER_OK)
+          break;
+      }
+      else if (dap_needs_posted_read(request))
+      {
+        ack = dap_transfer_word(request, NULL);
+
+        if (ack != DAP_TRANSFER_OK)
+          break;
+
+        posted_read = true;
+      }
+      else
+      {
+        ack = dap_transfer_word(request, &data);
+
+        if (DAP_TRANSFER_OK != ack)
+          break;
+
+        dap_resp_add_word(data);
+      }
+    }
+    else // Write
+    {
+      data = dap_req_get_word();
+
+      if (request & DAP_TRANSFER_MATCH_MASK)
+      {
+        ack = DAP_TRANSFER_OK;
+        dap_match_mask = data;
+      }
+      else
+      {
+        ack = dap_transfer_word(request, &data);
+
+        if (ack != DAP_TRANSFER_OK)
+          break;
+
+        verify_write = true;
+      }
+    }
+  }
+
+  if (DAP_TRANSFER_OK == ack)
+  {
+    if (posted_read)
+    {
+      ack = dap_transfer_word(SWD_DP_R_RDBUFF | DAP_TRANSFER_RnW, &data);
+      dap_resp_add_word(data);
+    }
+    else if (verify_write)
+    {
+      ack = dap_transfer_word(SWD_DP_R_RDBUFF | DAP_TRANSFER_RnW, NULL);
+    }
+  }
+
+  dap_resp_set_byte(1, resp_count);
+  dap_resp_set_byte(2, ack);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_transfer_block(void)
+{
+  int req_count, resp_count, request, ack;
+  uint32_t data;
+
+  dap_resp_add_byte(0); // Count
+  dap_resp_add_byte(0); // Count
+  dap_resp_add_byte(DAP_TRANSFER_INVALID);
+
+  if (!dap_select_device(dap_req_get_byte()))
+    return;
+
+  req_count  = dap_req_get_half();
+  resp_count = 0;
+
+  if (0 == req_count)
+    return;
+
+  request = dap_req_get_byte();
+  ack = DAP_TRANSFER_INVALID;
+
+  if (request & DAP_TRANSFER_RnW)
+  {
+    bool needs_posted = dap_needs_posted_read(request);
+    int transfers = needs_posted ? (req_count + 1) : req_count;
+
+    for (int i = 0; i < transfers; i++)
+    {
+      if (i == req_count)
+        request = SWD_DP_R_RDBUFF | DAP_TRANSFER_RnW;
+
+      ack = dap_transfer_word(request, &data);
+
+      if (DAP_TRANSFER_OK != ack)
+        break;
+
+      if (needs_posted && i == 0)
+        continue;
+
+      dap_resp_add_word(data);
+      resp_count++;
+    }
+  }
+  else // Write
+  {
+    for (int i = 0; i < req_count; i++)
+    {
+      data = dap_req_get_word();
+
+      ack = dap_transfer_word(request, &data);
+
+      if (DAP_TRANSFER_OK != ack)
+        break;
+
+      resp_count++;
+    }
+
+    if (DAP_TRANSFER_OK == ack)
+      ack = dap_transfer_word(SWD_DP_R_RDBUFF | DAP_TRANSFER_RnW, NULL);
+  }
+
+  dap_resp_set_byte(1, resp_count);
+  dap_resp_set_byte(2, resp_count >> 8);
+  dap_resp_set_byte(3, ack);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_transfer_abort(void)
+{
+  // This request is handled outside of the normal queue.
+  // We should never get here.
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_write_abort(void)
+{
+  int status = DAP_ERROR;
+  uint32_t data;
+
+  if (!dap_select_device(dap_req_get_byte()))
+  {
+    dap_resp_add_byte(DAP_ERROR);
+    return;
+  }
+
+  data = dap_req_get_word();
+
+  if (DAP_PORT_SWD == dap_port)
+  {
+    dap_swd_operation(SWD_DP_W_ABORT, &data);
+    status = DAP_OK;
+  }
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  else if (DAP_PORT_JTAG == dap_port)
+  {
+    dap_jtag_operation(DAP_TRANSFER_JTAG_ABORT, &data);
+    status = DAP_OK;
+  }
+#endif
+
+  dap_resp_add_byte(status);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_delay(void)
+{
+  int delay = dap_req_get_half();
+  dap_delay_us(delay);
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_reset_target(void)
+{
+  dap_resp_add_byte(DAP_OK);
+
+#ifdef DAP_CONFIG_RESET_TARGET_FN
+  DAP_CONFIG_RESET_TARGET_FN();
+  dap_resp_add_byte(1);
+#else
+  dap_resp_add_byte(0);
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static void dap_swj_pins(void)
+{
+  int value  = dap_req_get_byte();
+  int select = dap_req_get_byte();
+  int wait   = dap_req_get_word();
+
+  if (select & DAP_SWJ_SWCLK_TCK)
+    DAP_CONFIG_SWCLK_TCK_write(value & DAP_SWJ_SWCLK_TCK);
+
+  if (select & DAP_SWJ_SWDIO_TMS)
+    DAP_CONFIG_SWDIO_TMS_write(value & DAP_SWJ_SWDIO_TMS);
+
+  if (select & DAP_SWJ_TDI)
+    DAP_CONFIG_TDI_write(value & DAP_SWJ_TDI);
+
+  if (select & DAP_SWJ_nTRST)
+    DAP_CONFIG_nTRST_write(value & DAP_SWJ_nTRST);
+
+  if (select & DAP_SWJ_nRESET)
+    DAP_CONFIG_nRESET_write(value & DAP_SWJ_nRESET);
+
+  dap_delay_us(wait * 1000);
+
+  value =
+    (DAP_CONFIG_SWCLK_TCK_read() ? DAP_SWJ_SWCLK_TCK : 0) |
+    (DAP_CONFIG_SWDIO_TMS_read() ? DAP_SWJ_SWDIO_TMS : 0) |
+    (DAP_CONFIG_TDI_read()       ? DAP_SWJ_TDI       : 0) |
+    (DAP_CONFIG_TDO_read()       ? DAP_SWJ_TDO       : 0) |
+    (DAP_CONFIG_nTRST_read()     ? DAP_SWJ_nTRST     : 0) |
+    (DAP_CONFIG_nRESET_read()    ? DAP_SWJ_nRESET    : 0);
+
+  dap_resp_add_byte(value);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_swj_clock(void)
+{
+  int freq = dap_req_get_word();
+  dap_setup_clock(freq);
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_swj_sequence(void)
+{
+  int size = dap_req_get_byte();
+
+  while (size)
+  {
+    int sz = (size > 8) ? 8 : size;
+    dap_swd_write(dap_req_get_byte(), sz);
+    size -= sz;
+  }
+
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_swd_configure(void)
+{
+  int data = dap_req_get_byte();
+
+  dap_swd_turnaround = (data & 3) + 1;
+  dap_swd_data_phase = (data & 4) ? 1 : 0;
+
+  dap_resp_add_byte(DAP_OK);
+}
+
+//-----------------------------------------------------------------------------
+static void dap_swd_sequence(void)
+{
+  int req_count;
+
+  if (DAP_PORT_SWD != dap_port)
+  {
+    dap_resp_add_byte(DAP_ERROR);
+    return;
+  }
+
+  dap_resp_add_byte(DAP_OK);
+
+  req_count = dap_req_get_byte();
+
+  for (int i = 0; i < req_count; i++)
+  {
+    int info  = dap_req_get_byte();
+    int count = info & SWD_SEQUENCE_COUNT;
+    int din   = info & SWD_SEQUENCE_DIN;
+
+    if (count == 0)
+      count = 64U;
+
+    if (din)
+    {
+      DAP_CONFIG_SWDIO_TMS_in();
+
+      while (count)
+      {
+        int sz = (count > 8) ? 8 : count;
+        int value = dap_swd_read(sz);
+        dap_resp_add_byte(value);
+        count -= sz;
+      }
+    }
+    else
+    {
+      DAP_CONFIG_SWDIO_TMS_out();
+
+      while (count)
+      {
+        int sz = (count > 8) ? 8 : count;
+        dap_swd_write(dap_req_get_byte(), sz);
+        count -= sz;
+      }
+    }
+  }
+
+  DAP_CONFIG_SWDIO_TMS_out();
+}
+
+//-----------------------------------------------------------------------------
+static void dap_jtag_sequence(void)
+{
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  int req_count;
+
+  if (DAP_PORT_JTAG != dap_port)
+  {
+    dap_resp_add_byte(DAP_ERROR);
+    return;
+  }
+
+  dap_resp_add_byte(DAP_OK);
+
+  req_count = dap_req_get_byte();
+
+  for (int i = 0; i < req_count; i++)
+  {
+    int info  = dap_req_get_byte();
+    int count = info & JTAG_SEQUENCE_COUNT;
+    int tms   = info & JTAG_SEQUENCE_TMS;
+    int tdo   = info & JTAG_SEQUENCE_TDO;
+
+    if (count == 0)
+      count = 64;
+
+    DAP_CONFIG_SWDIO_TMS_write(tms);
+
+    while (count)
+    {
+      int sz = (count > 8) ? 8 : count;
+
+      if (tdo)
+      {
+        int value = dap_jtag_rdwr(dap_req_get_byte(), sz);
+        dap_resp_add_byte(value);
+      }
+      else
+      {
+        dap_jtag_write(dap_req_get_byte(), sz);
+      }
+
+      count -= sz;
+    }
+  }
+#else
+  dap_resp_add_byte(DAP_ERROR);
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static void dap_jtag_configure(void)
+{
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  int count = dap_req_get_byte();
+  int bits = 0;
+
+  if (count > DAP_CONFIG_JTAG_DEV_COUNT)
+  {
+    dap_resp_add_byte(DAP_ERROR);
+    return;
+  }
+
+  dap_jtag_dev_count = count;
+  dap_jtag_dev_index = 0;
+
+  for (int i = 0; i < dap_jtag_dev_count; i++)
+  {
+    dap_jtag_ir_length[i] = dap_req_get_byte();
+    dap_jtag_ir_before[i] = bits;
+    bits += dap_jtag_ir_length[i];
+  }
+
+  for (int i = 0; i < dap_jtag_dev_count; i++)
+  {
+    bits -= dap_jtag_ir_length[i];
+    dap_jtag_ir_after[i] = bits;
+  }
+
+  dap_resp_add_byte(DAP_OK);
+#else
+  dap_resp_add_byte(DAP_ERROR);
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static void dap_jtag_idcode(void)
+{
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  uint32_t data;
+
+  if (DAP_PORT_JTAG != dap_port || !dap_select_device(dap_req_get_byte()))
+  {
+    dap_resp_add_byte(DAP_ERROR);
+    return;
+  }
+
+  dap_jtag_write_ir(JTAG_IDCODE);
+
+  DAP_CONFIG_SWDIO_TMS_write(1);
+  dap_swj_run(1); // -> Select-DR-Scan
+  DAP_CONFIG_SWDIO_TMS_write(0);
+  dap_swj_run(2 + dap_jtag_dev_index); // -> Shift-DR
+
+  data = dap_jtag_read(31);
+
+  DAP_CONFIG_SWDIO_TMS_write(1);
+  data |= (dap_jtag_read(1) << 31); // -> Exit1-DR
+
+  dap_swj_run(1); // -> Update-DR
+  DAP_CONFIG_SWDIO_TMS_write(0);
+  dap_swj_run(1); // -> Idle
+  DAP_CONFIG_TDI_write(1);
+
+  dap_resp_add_byte(DAP_OK);
+  dap_resp_add_word(data);
+#endif
+}
+
+//-----------------------------------------------------------------------------
+void dap_init(void)
+{
+  dap_port              = DAP_PORT_DISABLED;
+  dap_abort             = false;
+  dap_match_mask        = 0;
+  dap_idle_cycles       = 0;
+  dap_retry_count       = 100;
+  dap_match_retry_count = 100;
+  dap_swd_turnaround    = 1;
+  dap_swd_data_phase    = false;
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  dap_jtag_dev_count = 0;
+#endif
+
+  dap_setup_clock(DAP_CONFIG_DEFAULT_CLOCK);
+
+  DAP_CONFIG_SETUP();
+}
+
+//-----------------------------------------------------------------------------
+bool dap_filter_request(uint8_t *req)
+{
+  int cmd = req[0];
+
+  if (ID_DAP_TRANSFER_ABORT == cmd)
+  {
+    dap_abort = true;
+    return false;
+  }
+
+  return true;
+}
+
+//-----------------------------------------------------------------------------
+int dap_process_request(uint8_t *req, int req_size, uint8_t *resp, int resp_size)
+{
+  static const struct
+  {
+    int    cmd;
+    void   (*handler)(void);
+  } handlers[] =
+  {
+    { ID_DAP_INFO,			dap_info },
+    { ID_DAP_HOST_STATUS,		dap_host_status },
+    { ID_DAP_CONNECT,			dap_connect },
+    { ID_DAP_DISCONNECT,		dap_disconnect },
+    { ID_DAP_TRANSFER_CONFIGURE,	dap_transfer_configure },
+    { ID_DAP_TRANSFER,			dap_transfer },
+    { ID_DAP_TRANSFER_BLOCK,		dap_transfer_block },
+    { ID_DAP_TRANSFER_ABORT,		dap_transfer_abort },
+    { ID_DAP_WRITE_ABORT,		dap_write_abort },
+    { ID_DAP_DELAY,			dap_delay },
+    { ID_DAP_RESET_TARGET,		dap_reset_target },
+    { ID_DAP_SWJ_PINS,			dap_swj_pins },
+    { ID_DAP_SWJ_CLOCK,			dap_swj_clock },
+    { ID_DAP_SWJ_SEQUENCE,		dap_swj_sequence },
+    { ID_DAP_SWD_CONFIGURE,		dap_swd_configure },
+    { ID_DAP_SWD_SEQUENCE,		dap_swd_sequence },
+    { ID_DAP_JTAG_SEQUENCE,		dap_jtag_sequence },
+    { ID_DAP_JTAG_CONFIGURE,		dap_jtag_configure },
+    { ID_DAP_JTAG_IDCODE,		dap_jtag_idcode },
+  };
+  int cmd;
+
+  dap_buf_init(req, req_size, resp, resp_size);
+
+  dap_abort = false;
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  dap_jtag_ir = JTAG_INVALID;
+#endif
+
+  cmd = dap_req_get_byte();
+  dap_resp_add_byte(cmd);
+
+  for (int i = 0; i < ARRAY_SIZE(handlers); i++)
+  {
+    if (cmd == handlers[i].cmd)
+    {
+      handlers[i].handler();
+      return dap_resp_ptr;
+    }
+  }
+
+  if (ID_DAP_VENDOR_0 <= cmd && cmd <= ID_DAP_VENDOR_31)
+  {
+#ifdef DAP_CONFIG_VENDOR_FN
+    DAP_CONFIG_VENDOR_FN(cmd - ID_DAP_VENDOR_0);
+#else
+    dap_resp_add_byte(DAP_ERROR);
+#endif
+    return dap_resp_ptr;
+  }
+
+  dap_resp_set_byte(0, ID_DAP_INVALID);
+
+  return dap_resp_ptr;
+}
+
+//-----------------------------------------------------------------------------
+void dap_clock_test(int delay)
+{
+  DAP_CONFIG_CONNECT_SWD();
+
+  if (delay)
+  {
+    dap_clock_delay = delay;
+
+    while (1)
+      dap_swj_run_slow(1<<30);
+  }
+  else
+  {
+    while (1)
+      dap_swj_run_fast(1<<30);
+  }
+}

+ 50 - 0
dap_link/lib/free-dap/dap.h

@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2016, Alex Taradov <alex@taradov.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _DAP_H_
+#define _DAP_H_
+
+/*- Includes ----------------------------------------------------------------*/
+#include <stdint.h>
+#include <stdbool.h>
+
+/*- Prototypes --------------------------------------------------------------*/
+void dap_init(void);
+uint8_t dap_req_get_byte(void);
+uint16_t dap_req_get_half(void);
+uint32_t dap_req_get_word(void);
+void dap_resp_add_byte(uint8_t value);
+void dap_resp_add_word(uint32_t value);
+void dap_resp_set_byte(int index, uint8_t value);
+bool dap_is_buf_error(void);
+bool dap_filter_request(uint8_t *req);
+int dap_process_request(uint8_t *req, int req_size, uint8_t *resp, int resp_size);
+void dap_clock_test(int delay);
+
+#endif // _DAP_H_
+

+ 3 - 0
dap_link/lib/free-dap/hardware/d11-nano-dbg/.gitignore

@@ -0,0 +1,3 @@
+output/
+fp-info-cache
+

binární
dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg-gerbers.zip


+ 4933 - 0
dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_pcb

@@ -0,0 +1,4933 @@
+(kicad_pcb (version 20211014) (generator pcbnew)
+
+  (general
+    (thickness 1.6)
+  )
+
+  (paper "User" 99.9998 99.9998)
+  (layers
+    (0 "F.Cu" signal)
+    (31 "B.Cu" signal)
+    (32 "B.Adhes" user "B.Adhesive")
+    (33 "F.Adhes" user "F.Adhesive")
+    (34 "B.Paste" user)
+    (35 "F.Paste" user)
+    (36 "B.SilkS" user "B.Silkscreen")
+    (37 "F.SilkS" user "F.Silkscreen")
+    (38 "B.Mask" user)
+    (39 "F.Mask" user)
+    (40 "Dwgs.User" user "User.Drawings")
+    (41 "Cmts.User" user "User.Comments")
+    (42 "Eco1.User" user "User.Eco1")
+    (43 "Eco2.User" user "User.Eco2")
+    (44 "Edge.Cuts" user)
+    (45 "Margin" user)
+    (46 "B.CrtYd" user "B.Courtyard")
+    (47 "F.CrtYd" user "F.Courtyard")
+    (48 "B.Fab" user)
+    (49 "F.Fab" user)
+    (50 "User.1" user)
+    (51 "User.2" user)
+    (52 "User.3" user)
+    (53 "User.4" user)
+    (54 "User.5" user)
+    (55 "User.6" user)
+    (56 "User.7" user)
+    (57 "User.8" user)
+    (58 "User.9" user)
+  )
+
+  (setup
+    (stackup
+      (layer "F.SilkS" (type "Top Silk Screen"))
+      (layer "F.Paste" (type "Top Solder Paste"))
+      (layer "F.Mask" (type "Top Solder Mask") (thickness 0.01))
+      (layer "F.Cu" (type "copper") (thickness 0.035))
+      (layer "dielectric 1" (type "core") (thickness 1.51) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
+      (layer "B.Cu" (type "copper") (thickness 0.035))
+      (layer "B.Mask" (type "Bottom Solder Mask") (thickness 0.01))
+      (layer "B.Paste" (type "Bottom Solder Paste"))
+      (layer "B.SilkS" (type "Bottom Silk Screen"))
+      (copper_finish "None")
+      (dielectric_constraints no)
+    )
+    (pad_to_mask_clearance 0)
+    (pcbplotparams
+      (layerselection 0x00010f0_ffffffff)
+      (disableapertmacros true)
+      (usegerberextensions true)
+      (usegerberattributes false)
+      (usegerberadvancedattributes false)
+      (creategerberjobfile false)
+      (svguseinch false)
+      (svgprecision 6)
+      (excludeedgelayer true)
+      (plotframeref false)
+      (viasonmask false)
+      (mode 1)
+      (useauxorigin false)
+      (hpglpennumber 1)
+      (hpglpenspeed 20)
+      (hpglpendiameter 15.000000)
+      (dxfpolygonmode true)
+      (dxfimperialunits true)
+      (dxfusepcbnewfont true)
+      (psnegative false)
+      (psa4output false)
+      (plotreference true)
+      (plotvalue true)
+      (plotinvisibletext false)
+      (sketchpadsonfab false)
+      (subtractmaskfromsilk true)
+      (outputformat 1)
+      (mirror false)
+      (drillshape 0)
+      (scaleselection 1)
+      (outputdirectory "output/")
+    )
+  )
+
+  (net 0 "")
+  (net 1 "+3V3")
+  (net 2 "VBUS")
+  (net 3 "/USB_DP")
+  (net 4 "/USB_DM")
+  (net 5 "/DBG_RESET")
+  (net 6 "/DBG_SWCLK")
+  (net 7 "/DBG_SWDIO")
+  (net 8 "/RESET")
+  (net 9 "unconnected-(IC2-Pad13)")
+  (net 10 "/DAP_STATUS")
+  (net 11 "GND")
+  (net 12 "Net-(LED1-Pad2)")
+  (net 13 "/SWDIO{slash}TMS")
+  (net 14 "/SWCLK{slash}TCK")
+  (net 15 "/TDI")
+  (net 16 "/TDO")
+  (net 17 "Net-(J1-PadCC1)")
+  (net 18 "Net-(J1-PadCC2)")
+  (net 19 "unconnected-(J1-PadSBU1)")
+  (net 20 "unconnected-(J1-PadSBU2)")
+  (net 21 "unconnected-(J2-Pad1)")
+  (net 22 "unconnected-(J2-Pad7)")
+
+  (footprint "ataradov_smd:0603" (layer "F.Cu")
+    (tedit 619DC0BD) (tstamp 32e1aed6-e06d-402f-b13b-cddeae58cd61)
+    (at 39.624 44.323)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/c594dcf2-f562-4ebf-9380-711463f31929")
+    (attr smd)
+    (fp_text reference "R3" (at 0 -1.905) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp a668461f-2467-4c7c-b09b-d27c45a5dab4)
+    )
+    (fp_text value "20K" (at 0 -0.016 unlocked) (layer "F.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)))
+      (tstamp 4362e285-ed61-4b80-8026-78eb23805bf7)
+    )
+    (fp_rect (start -1.55 -0.75) (end 1.55 0.75) (layer "F.SilkS") (width 0.127) (fill none) (tstamp ce03023a-ec3d-46b0-9a45-d078469826e8))
+    (pad "1" smd roundrect (at 0.8 0 90) (size 0.9 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "1") (pintype "passive") (tstamp ae545ba3-9447-46ee-95c9-5c85b1932c57))
+    (pad "2" smd roundrect (at -0.8 0 90) (size 0.9 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 12 "Net-(LED1-Pad2)") (pinfunction "2") (pintype "passive") (tstamp 53c27afa-f7df-4f37-82a2-3dd3ba22a7ec))
+  )
+
+  (footprint "ataradov_conn:Header-5x2-1.27mm-SMD" (layer "F.Cu")
+    (tedit 61AE8C8C) (tstamp 7a194d1a-1282-4094-9dcc-620cb8f217b0)
+    (at 38.354 48.768 90)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/906df0a0-5839-47c0-b332-cec00bfc8d50")
+    (attr smd)
+    (fp_text reference "J2" (at 0 0 90) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 6df354e5-0ed8-486f-aaba-922f1d8df851)
+    )
+    (fp_text value "Conn-5x2" (at 0 3.048 90) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 70baef17-e834-4128-ab71-7a0e5bb0e8be)
+    )
+    (fp_line (start -3.175 -1.7) (end -3.175 1.7) (layer "F.SilkS") (width 0.127) (tstamp 29247d4e-2970-4492-af98-cbe5a7c43fda))
+    (fp_line (start -3.302 -0.0372) (end -3.302 1.6256) (layer "F.SilkS") (width 0.3) (tstamp 66d971b9-10a0-41f4-91b7-1d6842ea0b4d))
+    (fp_line (start 3.175 -1.7) (end 3.175 1.7) (layer "F.SilkS") (width 0.127) (tstamp 9e7cb52f-3bca-40b3-a79f-340d11cdb039))
+    (fp_line (start -3.175 -1.7) (end 3.175 -1.7) (layer "F.Fab") (width 0.127) (tstamp 75e89c98-f890-426a-8fa1-7783981e0a3c))
+    (fp_line (start -3.175 1.7) (end 3.175 1.7) (layer "F.Fab") (width 0.127) (tstamp ed9fa7f1-c410-42e5-9bc1-ad6bd344391f))
+    (pad "1" smd roundrect (at -2.54 1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 21 "unconnected-(J2-Pad1)") (pinfunction "1") (pintype "passive") (tstamp cb7a5af0-8d51-414d-8e4c-5f9db1141b2f))
+    (pad "2" smd roundrect (at -2.54 -1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 13 "/SWDIO{slash}TMS") (pinfunction "2") (pintype "passive") (tstamp 37fcecfd-ba35-4df5-a71d-0e7a66bc74fb))
+    (pad "3" smd roundrect (at -1.27 1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "3") (pintype "passive") (tstamp 4c728ffb-f86b-4b12-90f5-72928eba4635))
+    (pad "4" smd roundrect (at -1.27 -1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 14 "/SWCLK{slash}TCK") (pinfunction "4") (pintype "passive") (tstamp 1aec843b-19a3-464f-95d8-f41d1700a83b))
+    (pad "5" smd roundrect (at 0 1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "5") (pintype "passive") (tstamp 11596021-3101-4865-a32f-e8bda3438fc6))
+    (pad "6" smd roundrect (at 0 -1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 16 "/TDO") (pinfunction "6") (pintype "passive") (tstamp 9e7f6823-c792-4b1a-9c33-e92f86382381))
+    (pad "7" smd roundrect (at 1.27 1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 22 "unconnected-(J2-Pad7)") (pinfunction "7") (pintype "passive") (tstamp f66e7f65-5501-4321-8ccd-03563508f0c3))
+    (pad "8" smd roundrect (at 1.27 -1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 15 "/TDI") (pinfunction "8") (pintype "passive") (tstamp 6f8b6e75-4ad5-4b67-aeaa-581ac81efbdc))
+    (pad "9" smd roundrect (at 2.54 1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "9") (pintype "passive") (tstamp 36c4a32b-9a7b-41a6-9eb3-32a4e05cd500))
+    (pad "10" smd roundrect (at 2.54 -1.95 90) (size 0.74 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 8 "/RESET") (pinfunction "10") (pintype "passive") (tstamp 3c8fa5c9-e85d-47eb-8ff6-525f12f1e0f8))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "F.Cu")
+    (tedit 619DC0BD) (tstamp c1f62b01-cc0f-415e-a367-df007384a88c)
+    (at 36.449 44.323 180)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/6bc6f722-72ae-42d6-be95-2b8bf65cd61e")
+    (attr smd)
+    (fp_text reference "LED1" (at 0 1.905) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 1907133f-48e1-4150-ab89-51c67883bf1a)
+    )
+    (fp_text value "Orange" (at 0 -0.016 180 unlocked) (layer "F.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)))
+      (tstamp 0445f7f3-026b-411c-ba1f-e7f7c086fe91)
+    )
+    (fp_rect (start -1.55 -0.75) (end 1.55 0.75) (layer "F.SilkS") (width 0.127) (fill none) (tstamp 37c085bb-79cf-44f4-a2c8-c1cd7a688918))
+    (pad "1" smd roundrect (at 0.8 0 270) (size 0.9 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 10 "/DAP_STATUS") (pinfunction "A") (pintype "passive") (tstamp 7d4de8de-c0e7-4646-9ebb-1666506598eb))
+    (pad "2" smd roundrect (at -0.8 0 270) (size 0.9 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 12 "Net-(LED1-Pad2)") (pinfunction "K") (pintype "passive") (tstamp 39a794f4-e7f9-49b7-86a7-6fc707cb176d))
+  )
+
+  (footprint "ataradov_conn:USB-C" (layer "F.Cu")
+    (tedit 61AC89AC) (tstamp f47134a4-be82-4ad4-a1ad-bf72ff4ae546)
+    (at 28.702 48.768 -90)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/9b533e2a-a396-4b85-abf3-b4e562338c74")
+    (attr smd)
+    (fp_text reference "J1" (at 0 4.064 90) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 735ca608-844b-43da-824c-192e28c319d3)
+    )
+    (fp_text value "USB-C" (at 0 0 90) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp b7bb8bee-8b45-4682-ba4f-3c97e6c96b19)
+    )
+    (fp_line (start 4.7 -2.945) (end 4.7 -1.143) (layer "F.SilkS") (width 0.127) (tstamp 074bd178-4b8d-4443-a5fb-cfcbc87a942c))
+    (fp_line (start -4.7 1.143) (end -4.7 2.667) (layer "F.SilkS") (width 0.127) (tstamp 4bcce46c-d9ae-4ab2-a9c8-5cc8f50b0e43))
+    (fp_line (start 4.699 1.143) (end 4.699 2.667) (layer "F.SilkS") (width 0.127) (tstamp 5c9a0412-4fb3-44e0-8564-dd1f1d19974f))
+    (fp_line (start -4.699 2.667) (end 4.699 2.667) (layer "F.SilkS") (width 0.127) (tstamp 616d2ae0-660e-4201-aead-18acef1aaa51))
+    (fp_line (start -4.7 -2.945) (end -4.7 -1.27) (layer "F.SilkS") (width 0.127) (tstamp de4ed296-9fb5-4bc2-9de6-dd78d5bf94a9))
+    (pad "" np_thru_hole circle (at 2.89 -3.68 270) (size 0.6858 0.6858) (drill 0.6858) (layers F&B.Cu *.Mask) (tstamp 66da1b23-6a31-4d09-b903-23246835c884))
+    (pad "" np_thru_hole circle (at -2.89 -3.68 270) (size 0.6858 0.6858) (drill 0.6858) (layers F&B.Cu *.Mask) (tstamp cb658bfb-bb44-442b-af68-cdf8168ed728))
+    (pad "CC1" smd rect (at -1.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 17 "Net-(J1-PadCC1)") (pinfunction "CC1") (pintype "bidirectional") (tstamp e7e6cb6d-7647-4949-b7bd-8bc1e899dd19))
+    (pad "CC2" smd rect (at 1.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 18 "Net-(J1-PadCC2)") (pinfunction "CC2") (pintype "bidirectional") (tstamp ffcbff8e-ab26-41db-bf1a-b4c132bdb8a6))
+    (pad "D+1" smd rect (at -0.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 3 "/USB_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp 32e6d5f9-b73a-409b-a341-b80aa666fbb4))
+    (pad "D+2" smd rect (at 0.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 3 "/USB_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp 9d5ddb59-1e9e-4537-9599-057acace239b))
+    (pad "D-1" smd rect (at 0.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 4 "/USB_DM") (pinfunction "D-") (pintype "bidirectional") (tstamp cd8fc82c-2372-4ab9-b58f-1c5bd1ca2b34))
+    (pad "D-2" smd rect (at -0.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 4 "/USB_DM") (pinfunction "D-") (pintype "bidirectional") (tstamp 31bc72e3-7b37-4039-ae03-b411f4438425))
+    (pad "GND1" smd rect (at -3.25 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 11 "GND") (pinfunction "GND") (pintype "passive") (tstamp b84bbe17-09c8-4aea-bd95-af34a96a069c))
+    (pad "GND2" smd rect (at 3.25 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 11 "GND") (pinfunction "GND") (pintype "passive") (tstamp 2eae7d9d-0d7d-4755-80a4-ff458c263895))
+    (pad "S1" thru_hole oval (at -4.32 0 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 11 "GND") (pinfunction "S1") (pintype "passive") (tstamp b3dc6ebf-2791-42b3-a514-444efd66de71))
+    (pad "S2" thru_hole oval (at 4.32 0 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 11 "GND") (pinfunction "S2") (pintype "passive") (tstamp 6f29f4c3-a661-4405-981e-bd400129444f))
+    (pad "S3" thru_hole oval (at -4.32 -4.18 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 11 "GND") (pinfunction "S3") (pintype "passive") (tstamp e9b3c7ab-9a7d-41ab-b41f-c521c2f31bd3))
+    (pad "S4" thru_hole oval (at 4.32 -4.18 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 11 "GND") (pinfunction "S4") (pintype "passive") (tstamp 414c44f1-6dc8-47ac-8734-d071cba6d2ba))
+    (pad "SBU1" smd rect (at 1.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 19 "unconnected-(J1-PadSBU1)") (pinfunction "SBU1") (pintype "bidirectional") (tstamp 3a95a55b-8a78-4e07-8313-782b4be21acd))
+    (pad "SBU2" smd rect (at -1.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 20 "unconnected-(J1-PadSBU2)") (pinfunction "SBU2") (pintype "bidirectional") (tstamp 6551c37f-9afc-4b25-9b2a-c1739b8edf17))
+    (pad "VBUS1" smd rect (at -2.45 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 2 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp ce87f310-f0ba-406a-b736-4ce38509611a))
+    (pad "VBUS2" smd rect (at 2.45 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 2 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp 5a8a64e8-0b04-48e4-b608-5cc887a127c8))
+  )
+
+  (footprint "ataradov_misc:TestPoint-1.27mm-SMD" (layer "B.Cu")
+    (tedit 619EF0AB) (tstamp 05dfa5dc-1e0b-48cf-837a-6693f652862f)
+    (at 40.386 53.213 180)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/bc214495-6305-49a3-bba3-3efe658c8dd7")
+    (attr through_hole)
+    (fp_text reference "TP1" (at 0 -1.778) (layer "B.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 9ba406a6-8a27-446b-ae89-6a25c468570c)
+    )
+    (fp_text value "SCK" (at -1.016 -2.159) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp b509ccd3-18dc-4c38-9fda-b8d8cf2968f2)
+    )
+    (pad "1" smd circle (at 0 0 180) (size 1.27 1.27) (layers "B.Cu" "B.Paste" "B.Mask")
+      (net 6 "/DBG_SWCLK") (pinfunction "1") (pintype "passive") (tstamp 01f0f991-952f-4d5a-8ed6-4b7f3d0ef9a0))
+  )
+
+  (footprint "ataradov_ic:SOT-23" (layer "B.Cu")
+    (tedit 619F301D) (tstamp 19e98346-9ff5-4780-a0ff-39b8bda9823d)
+    (at 28.575 48.768 -90)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/e254f06c-00a2-4056-b804-b955996fa3d5")
+    (attr smd)
+    (fp_text reference "IC1" (at 0 6.35 90) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp d40915c2-c548-4bfc-94d9-2378da8c19d2)
+    )
+    (fp_text value "SC662K-3.3" (at 0 0) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.1)) (justify mirror))
+      (tstamp a5cfabe5-76eb-4120-b957-2d4f7e1af535)
+    )
+    (fp_line (start 0.762 -1.45) (end -0.762 -1.45) (layer "B.SilkS") (width 0.127) (tstamp 0bb4f49e-d828-42b0-8fc4-d38e89c3245c))
+    (fp_line (start -0.762 0.471) (end -0.762 -0.471) (layer "B.SilkS") (width 0.127) (tstamp 32891493-b291-4664-9651-04dc091e0447))
+    (fp_line (start 0.762 1.45) (end -0.762 1.45) (layer "B.SilkS") (width 0.127) (tstamp 33285669-0d82-4e54-9717-2ad79c755fef))
+    (fp_line (start 0.762 -1.45) (end 0.762 -0.508) (layer "B.SilkS") (width 0.127) (tstamp db5015a7-9785-48ef-97f4-5bc6b0f4f5d7))
+    (fp_line (start 0.762 1.45) (end 0.762 0.508) (layer "B.SilkS") (width 0.127) (tstamp e940abae-4b03-4d64-833d-2c2a8f4b7ce6))
+    (pad "1" smd roundrect (at -0.9375 0.95 270) (size 1.475 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "GND") (pintype "power_in") (tstamp 28958724-af64-44ab-b76c-76f4c4f868dd))
+    (pad "2" smd roundrect (at -0.9375 -0.95 270) (size 1.475 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "+3V3") (pinfunction "OUT") (pintype "power_out") (tstamp 82ba3ef4-94c4-43fb-89d1-698770c63ae8))
+    (pad "3" smd roundrect (at 0.9375 0 270) (size 1.475 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 2 "VBUS") (pinfunction "IN") (pintype "power_in") (tstamp cb1a83f5-6f2a-4777-9b4a-c17977214c7d))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 3afdb8be-29c7-445a-af42-1a3dd57fe4d6)
+    (at 28.575 51.308)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/e06501c8-2845-4054-9787-05ce88080176")
+    (attr smd)
+    (fp_text reference "C1" (at -6.312 0) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 997ca21c-d5a6-4b13-99d9-65b16ac4ad4d)
+    )
+    (fp_text value "1uF" (at 0 0.016 180 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 616bbbfc-aca8-4a03-9e9c-2e9f24259012)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp b882554c-74d3-47ed-aa5e-bff025add75c))
+    (pad "1" smd roundrect (at 0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "1") (pintype "passive") (tstamp 55a1a58d-3641-458b-9f6f-6e3e3b99d4c3))
+    (pad "2" smd roundrect (at -0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 2 "VBUS") (pinfunction "2") (pintype "passive") (tstamp dd8157be-a2ed-43e3-bae5-e3b2dd871542))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 6b52c9e8-9a62-4da1-9af3-2229dd721180)
+    (at 30.988 51.181 -90)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/35477d2d-d398-4f18-becb-e7baa5331236")
+    (attr smd)
+    (fp_text reference "R1" (at 0 6.35 90) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp b84e5c3c-d5ba-45dc-a996-457d3d15ea34)
+    )
+    (fp_text value "5.1K" (at 0 0.016 90 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 9f9a1dc2-1e64-4561-84e9-c59e56eccfbe)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 06c3c04c-6c4b-4c5d-8552-dca1efe1a3db))
+    (pad "1" smd roundrect (at 0.8 0 180) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "1") (pintype "passive") (tstamp 1427eabc-18a4-411d-bd11-428ec8bd285d))
+    (pad "2" smd roundrect (at -0.8 0 180) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 18 "Net-(J1-PadCC2)") (pinfunction "2") (pintype "passive") (tstamp a55e1730-9cc6-449f-95c7-a4b048ce6ae3))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 6f0cedfe-c86d-4e25-b64a-6c2635e4efb5)
+    (at 30.988 46.609 90)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/6e18622d-ab16-46d3-8547-8e9d6c8c3481")
+    (attr smd)
+    (fp_text reference "R2" (at 0 -6.35 90) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 8d83e328-7f8e-4ff2-9f4c-9b7ab1a82636)
+    )
+    (fp_text value "5.1K" (at 0 0.016 270 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp de13e0f2-e58c-4cc2-84c5-b6bd1aedd8ac)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 0bb237b7-3c36-4dd2-83be-cd2c222b4c4e))
+    (pad "1" smd roundrect (at 0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "1") (pintype "passive") (tstamp e7165906-145f-4c8c-8c9a-48e9112ef2d2))
+    (pad "2" smd roundrect (at -0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 17 "Net-(J1-PadCC1)") (pinfunction "2") (pintype "passive") (tstamp 4629e325-a0a2-4fa0-9b82-0617c92179cc))
+  )
+
+  (footprint "ataradov_misc:TestPoint-1.27mm-SMD" (layer "B.Cu")
+    (tedit 619EF0AB) (tstamp 7b836b8f-e2f7-4a02-aaea-5f5f23bb6c5e)
+    (at 35.306 53.213 180)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/87a0447f-dae7-4542-8125-f968e31d4a91")
+    (attr through_hole)
+    (fp_text reference "TP3" (at 0 -1.778) (layer "B.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp ac58d217-7773-40c4-9e1b-a9e653b34666)
+    )
+    (fp_text value "SIO" (at 0.254 -2.159) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 256c2c4a-be75-489c-bc59-8ced96c0005c)
+    )
+    (pad "1" smd circle (at 0 0 180) (size 1.27 1.27) (layers "B.Cu" "B.Paste" "B.Mask")
+      (net 7 "/DBG_SWDIO") (pinfunction "1") (pintype "passive") (tstamp b4164dff-a67d-4a09-89cd-16ff1d75beb6))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 97485eee-4c91-4308-83e7-1477047e7584)
+    (at 28.575 46.101 180)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/03c058db-b9f4-404f-9c24-1f1dab858e28")
+    (attr smd)
+    (fp_text reference "C2" (at 6.223 0) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp cb559ad4-d4c9-4967-80f0-1721719cbbf5)
+    )
+    (fp_text value "1uF" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp bcda320e-74b3-4653-8282-0c5ff42ec64e)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp ec55ebe1-2c41-4a8f-a5d4-712c2c0634fb))
+    (pad "1" smd roundrect (at 0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "1") (pintype "passive") (tstamp 15ae40eb-6838-4ed2-9b40-dae8638bca84))
+    (pad "2" smd roundrect (at -0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "+3V3") (pinfunction "2") (pintype "passive") (tstamp 37b60c7b-11d8-4a12-81bb-66d528948c72))
+  )
+
+  (footprint "ataradov_misc:TestPoint-1.27mm-SMD" (layer "B.Cu")
+    (tedit 619EF0AB) (tstamp a151a7e9-3daa-41e5-bcfb-1516700dbccb)
+    (at 37.846 53.213 180)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/6173c660-2127-4241-96b1-bfeb7449ff5f")
+    (attr through_hole)
+    (fp_text reference "TP2" (at 0 -1.778) (layer "B.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 3e0dffa9-b3d3-4400-957b-783269ff3979)
+    )
+    (fp_text value "RST" (at -0.381 -2.159) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 3d41e5bb-4455-4993-ae39-bd6ab836a81d)
+    )
+    (pad "1" smd circle (at 0 0 180) (size 1.27 1.27) (layers "B.Cu" "B.Paste" "B.Mask")
+      (net 5 "/DBG_RESET") (pinfunction "1") (pintype "passive") (tstamp aa77a0ad-aac3-4734-9015-ed94cd1af9fe))
+  )
+
+  (footprint "ataradov_ic:SOIC-14" (layer "B.Cu")
+    (tedit 619ED1E9) (tstamp c834efbe-45e0-42bb-931e-de0f2ded443b)
+    (at 37.846 48.514 180)
+    (property "Sheetfile" "d11-nano-dbg.kicad_sch")
+    (property "Sheetname" "")
+    (path "/e9485002-0b5c-4f78-8d49-67004f0e4d8e")
+    (attr smd)
+    (fp_text reference "IC2" (at 0 0 90) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 19cfaf16-515c-47a4-b16a-e069a7b08a45)
+    )
+    (fp_text value "ATSAMD11C" (at 0 0 90) (layer "B.Fab")
+      (effects (font (size 0.7 0.7) (thickness 0.1)) (justify mirror))
+      (tstamp de940fc7-dcb5-4581-b230-bd0f5b624a23)
+    )
+    (fp_line (start 1.27 -4.318) (end 1.27 4.318) (layer "B.SilkS") (width 0.127) (tstamp 1e3a8c0c-535a-4b1b-b1f2-82ddbee34aa4))
+    (fp_line (start 1.27 -4.318) (end -1.27 -4.318) (layer "B.SilkS") (width 0.127) (tstamp 548b70f9-8a40-41fa-8b4c-4a7e34d04793))
+    (fp_line (start -1.27 -4.318) (end -1.27 4.318) (layer "B.SilkS") (width 0.127) (tstamp 59231daa-dec1-4466-a546-ca69ed3fb153))
+    (fp_line (start 1.27 4.318) (end -1.27 4.318) (layer "B.SilkS") (width 0.127) (tstamp 880d85f4-3f8c-47ce-823a-f81a45ffeaf8))
+    (fp_line (start -0.508 4.318) (end -1.27 3.556) (layer "B.SilkS") (width 0.127) (tstamp f82a4d55-22b8-4003-846f-f1565d9a2c2c))
+    (pad "1" smd roundrect (at -2.6 3.81 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 8 "/RESET") (pinfunction "PA5") (pintype "bidirectional") (tstamp fe45c4a1-51cd-4239-8a94-676cbced478b))
+    (pad "2" smd roundrect (at -2.6 2.54 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 15 "/TDI") (pinfunction "PA8") (pintype "bidirectional") (tstamp d1a68b06-c7bc-4fbc-a5a3-0fdf88d1465c))
+    (pad "3" smd roundrect (at -2.6 1.27 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 16 "/TDO") (pinfunction "PA9") (pintype "bidirectional") (tstamp af682c9c-0ba6-4624-abc2-85dc01025aad))
+    (pad "4" smd roundrect (at -2.6 0 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 14 "/SWCLK{slash}TCK") (pinfunction "PA14") (pintype "bidirectional") (tstamp 116b9c9a-ed97-48be-b153-90023f79c98b))
+    (pad "5" smd roundrect (at -2.6 -1.27 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 13 "/SWDIO{slash}TMS") (pinfunction "PA15") (pintype "bidirectional") (tstamp 0d425d1f-2ee5-4166-941f-6a874a702f21))
+    (pad "6" smd roundrect (at -2.6 -2.54 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "/DBG_RESET") (pinfunction "PA28/RST") (pintype "bidirectional") (tstamp d0404e6e-fadf-4e24-ace6-2688ac39aaf8))
+    (pad "7" smd roundrect (at -2.6 -3.81 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 6 "/DBG_SWCLK") (pinfunction "PA30/SCK") (pintype "bidirectional") (tstamp 160bb068-3826-422e-ae99-8ad8874c92fe))
+    (pad "8" smd roundrect (at 2.6 -3.81 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 7 "/DBG_SWDIO") (pinfunction "PA31/SIO") (pintype "bidirectional") (tstamp 2a7c9c83-7c2e-42c0-8c82-c9cb0db11e29))
+    (pad "9" smd roundrect (at 2.6 -2.54 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 4 "/USB_DM") (pinfunction "PA24/DM") (pintype "bidirectional") (tstamp 2cad5409-3aa7-4aa4-b71f-96948b556eae))
+    (pad "10" smd roundrect (at 2.6 -1.27 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 3 "/USB_DP") (pinfunction "PA25/DP") (pintype "bidirectional") (tstamp 983f632b-be87-4f0a-b131-1b9b12b7b95f))
+    (pad "11" smd roundrect (at 2.6 0 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "GND") (pinfunction "GND") (pintype "power_in") (tstamp 47e80c4e-c13e-4143-a6de-eb9ab8b3b46b))
+    (pad "12" smd roundrect (at 2.6 1.27 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "+3V3") (pinfunction "VDD") (pintype "power_in") (tstamp bfafc0f2-d551-4984-a1aa-a611aa64c019))
+    (pad "13" smd roundrect (at 2.6 2.54 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 9 "unconnected-(IC2-Pad13)") (pinfunction "PA2") (pintype "bidirectional") (tstamp 54c01e80-6e93-4dbc-b14b-f15d9363c545))
+    (pad "14" smd roundrect (at 2.6 3.81 180) (size 1.778 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 10 "/DAP_STATUS") (pinfunction "PA4") (pintype "bidirectional") (tstamp 97e3cd55-b42b-42ff-9d40-a035e64ab35d))
+  )
+
+  (gr_rect (start 26.924 43.307) (end 42.1386 54.229) (layer "Edge.Cuts") (width 0.127) (fill none) (tstamp 6991a980-01b5-4b07-b4ba-4e70322165c8))
+  (gr_text "2022-04-07" (at 30.861 48.514 90) (layer "F.SilkS") (tstamp 26801cfb-b53b-4a6a-a2f4-5f4986565765)
+    (effects (font (size 0.8 0.8) (thickness 0.1)))
+  )
+  (gr_text "1" (at 40.767 53.086 90) (layer "F.SilkS") (tstamp 47365df8-1aaa-451c-a591-086776031635)
+    (effects (font (size 1 1) (thickness 0.127)))
+  )
+  (gr_text "AT" (at 28.702 48.768 -270) (layer "F.SilkS") (tstamp 7e8ac3d0-7727-403e-81e8-73e25aba4564)
+    (effects (font (size 1.5 1.5) (thickness 0.254)))
+  )
+
+  (segment (start 29.906 46.802) (end 29.525 46.802) (width 0.254) (layer "B.Cu") (net 1) (tstamp 0c0b82a0-19b3-45c0-a98f-0104b6ac7cfa))
+  (segment (start 29.525 46.251) (end 29.525 46.802) (width 0.254) (layer "B.Cu") (net 1) (tstamp 19a450e3-949c-4268-b3cd-05ce76ff367a))
+  (segment (start 34.163 47.244) (end 33.528 46.609) (width 0.254) (layer "B.Cu") (net 1) (tstamp 336b67ea-1a3c-40d5-9f02-73b08e7cd48e))
+  (segment (start 29.375 46.101) (end 29.525 46.251) (width 0.254) (layer "B.Cu") (net 1) (tstamp 64f83893-6f01-4d18-8094-b778d70558a9))
+  (segment (start 29.525 46.802) (end 29.525 47.8305) (width 0.254) (layer "B.Cu") (net 1) (tstamp 95355da9-c29c-4fac-8a19-041a9a083a58))
+  (segment (start 33.528 46.609) (end 30.099 46.609) (width 0.254) (layer "B.Cu") (net 1) (tstamp 97c6c8ef-1604-40a2-9645-7a107204de21))
+  (segment (start 30.099 46.609) (end 29.906 46.802) (width 0.254) (layer "B.Cu") (net 1) (tstamp af073fa6-a783-40f2-9751-692984a62ffc))
+  (segment (start 35.246 47.244) (end 34.163 47.244) (width 0.254) (layer "B.Cu") (net 1) (tstamp ea483516-4820-43a6-9a84-96ab16c456d0))
+  (segment (start 31.496 46.609) (end 30.607 47.498) (width 0.254) (layer "F.Cu") (net 2) (tstamp 045c9dcb-1c2f-437e-b741-c898c0bc151a))
+  (segment (start 29.613128 49.679128) (end 30.607 49.679128) (width 0.254) (layer "F.Cu") (net 2) (tstamp 0ea29eea-ed68-49b2-9e22-6c18bf8d49ad))
+  (segment (start 33.833 46.318) (end 33.018 46.318) (width 0.254) (layer "F.Cu") (net 2) (tstamp 12027d9c-0f1e-4c18-a1b8-f862f8c90f0f))
+  (segment (start 32.93 51.218) (end 33.833 51.218) (width 0.254) (layer "F.Cu") (net 2) (tstamp 31adb287-7375-4740-9ce3-47dc0189625e))
+  (segment (start 30.607 49.679128) (end 30.607 50.165) (width 0.254) (layer "F.Cu") (net 2) (tstamp 46d70e75-ef7c-4bd6-834d-3952b67e9190))
+  (segment (start 32.727 46.609) (end 31.496 46.609) (width 0.254) (layer "F.Cu") (net 2) (tstamp 8415fb44-de71-4cbc-9133-9df37162e986))
+  (segment (start 33.018 46.318) (end 32.727 46.609) (width 0.254) (layer "F.Cu") (net 2) (tstamp a1c4e8cd-207e-42eb-a8c2-7d09a891d7e5))
+  (segment (start 32.67402 50.96202) (end 32.93 51.218) (width 0.254) (layer "F.Cu") (net 2) (tstamp af6d04d8-fb55-44a6-8d61-46b5fe0d57ed))
+  (segment (start 30.607 47.498) (end 30.607 49.679128) (width 0.254) (layer "F.Cu") (net 2) (tstamp c61318d9-11c6-4932-9e6d-03ca4bb14172))
+  (segment (start 30.607 50.165) (end 31.40402 50.96202) (width 0.254) (layer "F.Cu") (net 2) (tstamp df60abce-5d8f-47b1-8a1e-e84467d2708f))
+  (segment (start 29.591 49.657) (end 29.613128 49.679128) (width 0.254) (layer "F.Cu") (net 2) (tstamp e1885d11-e8fd-45e1-9237-1f5c33816018))
+  (segment (start 31.40402 50.96202) (end 32.67402 50.96202) (width 0.254) (layer "F.Cu") (net 2) (tstamp f767c241-0d2a-4a60-af21-e950fbb9f412))
+  (via (at 29.591 49.657) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 2) (tstamp f26d4370-ccd0-4f31-9650-b7d3e2ea7fbc))
+  (segment (start 29.5425 49.7055) (end 28.575 49.7055) (width 0.254) (layer "B.Cu") (net 2) (tstamp 67f1aadd-abbf-42af-b69d-c0bc8ff3c54d))
+  (segment (start 27.775 50.076) (end 28.1455 49.7055) (width 0.254) (layer "B.Cu") (net 2) (tstamp 7c7098b7-90fc-49ab-8ca6-e8b355725702))
+  (segment (start 27.775 51.308) (end 27.775 50.076) (width 0.254) (layer "B.Cu") (net 2) (tstamp a035d06a-59fd-4fbe-82f6-0a506f9568d5))
+  (segment (start 28.1455 49.7055) (end 28.575 49.7055) (width 0.254) (layer "B.Cu") (net 2) (tstamp b960b425-3db8-465d-a51c-191ba88204d8))
+  (segment (start 29.591 49.657) (end 29.5425 49.7055) (width 0.254) (layer "B.Cu") (net 2) (tstamp ca0f9c33-78f8-41d7-980d-db7b0aa19e57))
+  (segment (start 32.823978 49.518) (end 33.833 49.518) (width 0.254) (layer "F.Cu") (net 3) (tstamp 0b8acda2-e6d4-4de7-b591-ea0c9b51fcec))
+  (segment (start 32.790989 49.485011) (end 32.823978 49.518) (width 0.254) (layer "F.Cu") (net 3) (tstamp 0f015f70-b9be-4792-8502-9235baab7ad3))
+  (segment (start 32.790989 48.550989) (end 32.790989 49.485011) (width 0.254) (layer "F.Cu") (net 3) (tstamp 7ef98de2-0407-484c-b75f-d3f0938f17b0))
+  (segment (start 31.451011 49.485011) (end 32.790989 49.485011) (width 0.254) (layer "F.Cu") (net 3) (tstamp 9e78a024-04b9-4495-9b00-70110a769581))
+  (segment (start 33.833 48.518) (end 32.823978 48.518) (width 0.254) (layer "F.Cu") (net 3) (tstamp c3c02496-b038-43f1-99b8-409718a4222c))
+  (segment (start 32.823978 48.518) (end 32.790989 48.550989) (width 0.254) (layer "F.Cu") (net 3) (tstamp cf9b593f-7152-4b36-a501-419aa3f30746))
+  (segment (start 31.369 49.403) (end 31.451011 49.485011) (width 0.254) (layer "F.Cu") (net 3) (tstamp e146d015-6705-4cde-abb1-6357687c3398))
+  (via (at 31.369 49.403) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 3) (tstamp 50d814c8-1fd5-4a17-9c0f-8be9586b07ae))
+  (segment (start 31.774911 48.108089) (end 32.614089 48.108089) (width 0.254) (layer "B.Cu") (net 3) (tstamp 082ecb16-bdc7-404f-9607-610400050981))
+  (segment (start 31.369 49.403) (end 31.369 48.514) (width 0.254) (layer "B.Cu") (net 3) (tstamp 6a91511d-b6b1-48b1-b832-9887de6e1d0a))
+  (segment (start 34.29 49.784) (end 35.246 49.784) (width 0.254) (layer "B.Cu") (net 3) (tstamp 8bca586c-ecb9-400d-98df-9f7b166628e3))
+  (segment (start 32.614089 48.108089) (end 34.29 49.784) (width 0.254) (layer "B.Cu") (net 3) (tstamp ded7d347-52c5-4a97-9650-e86590ab5e28))
+  (segment (start 31.369 48.514) (end 31.774911 48.108089) (width 0.254) (layer "B.Cu") (net 3) (tstamp f6c1fb05-f81c-446b-a20c-531c1a6bc16f))
+  (segment (start 32.131 48.768) (end 32.131 48.583038) (width 0.254) (layer "F.Cu") (net 4) (tstamp 10139ec9-5972-4c3e-9672-4814ee8cc191))
+  (segment (start 34.875011 48.985011) (end 34.875011 48.050989) (width 0.254) (layer "F.Cu") (net 4) (tstamp 2a961c79-236b-4c50-8af0-de45bbb3d124))
+  (segment (start 34.842022 49.018) (end 34.875011 48.985011) (width 0.254) (layer "F.Cu") (net 4) (tstamp 3ae45cde-2f66-4648-86af-fdbb3e733a45))
+  (segment (start 32.131 48.583038) (end 32.696038 48.018) (width 0.254) (layer "F.Cu") (net 4) (tstamp 49a15ec4-1ee2-441c-9620-bd8ce61cfd12))
+  (segment (start 34.875011 48.050989) (end 34.842022 48.018) (width 0.254) (layer "F.Cu") (net 4) (tstamp 5af25360-2780-44b0-bb33-51b7ffc33c8f))
+  (segment (start 32.696038 48.018) (end 33.833 48.018) (width 0.254) (layer "F.Cu") (net 4) (tstamp 812d64fc-5b6c-4013-ace7-40b1d6d957a7))
+  (segment (start 34.842022 48.018) (end 33.833 48.018) (width 0.254) (layer "F.Cu") (net 4) (tstamp 9498f1ae-3386-4d83-87c2-ea53dadab262))
+  (segment (start 33.833 49.018) (end 34.842022 49.018) (width 0.254) (layer "F.Cu") (net 4) (tstamp b3a1c996-2760-4a5d-a32d-31af1edb675a))
+  (via (at 32.131 48.768) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 4) (tstamp 53db68a7-14e8-4baa-ac45-daadd65513d1))
+  (segment (start 32.131 48.768) (end 32.131 48.895) (width 0.254) (layer "B.Cu") (net 4) (tstamp a164207d-01bf-42fe-b8da-a52533a5de36))
+  (segment (start 32.131 48.895) (end 34.29 51.054) (width 0.254) (layer "B.Cu") (net 4) (tstamp a41f4944-f406-4570-bdd5-bd77844d2b14))
+  (segment (start 34.29 51.054) (end 35.246 51.054) (width 0.254) (layer "B.Cu") (net 4) (tstamp c878c2eb-9c7e-4340-9d79-e0098685d083))
+  (segment (start 39.243 51.054) (end 37.846 52.451) (width 0.254) (layer "B.Cu") (net 5) (tstamp 5a370285-3fca-48a0-ac23-6c35c61a476f))
+  (segment (start 40.446 51.054) (end 39.243 51.054) (width 0.254) (layer "B.Cu") (net 5) (tstamp 606d6437-7700-447e-b2c2-8432f8e0d1cc))
+  (segment (start 37.846 52.451) (end 37.846 53.213) (width 0.254) (layer "B.Cu") (net 5) (tstamp b6e5dda2-21c6-4b02-b7ec-d845d81507f8))
+  (segment (start 36.404 46.228) (end 37.719 46.228) (width 0.254) (layer "F.Cu") (net 8) (tstamp 02972456-a240-42eb-9d6a-d7b3e3d8a5bf))
+  (segment (start 37.719 46.228) (end 38.354 45.593) (width 0.254) (layer "F.Cu") (net 8) (tstamp 11527c6f-6046-48b9-94b7-0dc450aea666))
+  (via (at 38.354 45.593) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 8) (tstamp 8e6e0abc-c8ef-49f0-bfaf-3db59d43de39))
+  (segment (start 38.354 45.593) (end 39.243 44.704) (width 0.254) (layer "B.Cu") (net 8) (tstamp 78141789-e4fe-43ce-bdd6-304785c67c69))
+  (segment (start 39.243 44.704) (end 40.446 44.704) (width 0.254) (layer "B.Cu") (net 8) (tstamp fdc069c5-d742-4791-b7ae-e387baba433b))
+  (via (at 34.925 44.45) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 10) (tstamp a9047d2b-6209-45c2-8fe6-b2987725d674))
+  (segment (start 33.833 52.018) (end 33.833 52.137) (width 0.254) (layer "F.Cu") (net 11) (tstamp 74b4bc2b-6fd1-4944-93b1-54d0f94622c2))
+  (segment (start 33.833 45.518) (end 33.833 45.399) (width 0.254) (layer "F.Cu") (net 11) (tstamp 7879eef7-0cd6-4b28-a2a3-4b84c2150254))
+  (segment (start 33.833 52.137) (end 32.882 53.088) (width 0.254) (layer "F.Cu") (net 11) (tstamp 7bb456e2-7bbc-4e01-ac2e-b307b9041d17))
+  (segment (start 33.833 45.399) (end 32.882 44.448) (width 0.254) (layer "F.Cu") (net 11) (tstamp b87a01ba-9438-409e-8ee0-7b599746cffd))
+  (via (at 28.575 47.879) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 11) (tstamp 41dfb0e8-c668-4288-b549-95d038dba148))
+  (via (at 30.734 53.086) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 11) (tstamp 458513e8-47cf-4f71-9c1e-98e47f11581e))
+  (via (at 30.734 44.45) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 11) (tstamp c35c0822-5f46-49b7-8c5f-b08edd39cc53))
+  (via (at 36.576 53.213) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 11) (tstamp f921b4a8-3d66-4012-86a4-64b811ee458c))
+  (via (at 39.116 53.213) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 11) (tstamp fc4ead07-2c75-4f81-b5b2-9b940d5c0fbf))
+  (segment (start 27.625 46.251) (end 27.775 46.101) (width 0.254) (layer "B.Cu") (net 11) (tstamp 64c3b56e-9893-49f5-8367-6228bbe40788))
+  (segment (start 27.625 47.8305) (end 27.625 46.251) (width 0.254) (layer "B.Cu") (net 11) (tstamp 83ae7dbf-fe84-437d-ab57-38fb182aa005))
+  (segment (start 37.249 44.323) (end 38.824 44.323) (width 0.254) (layer "F.Cu") (net 12) (tstamp c30b6f51-5bc9-4a76-8a03-fc4a35281769))
+  (segment (start 36.404 51.308) (end 37.719 51.308) (width 0.254) (layer "F.Cu") (net 13) (tstamp cdf0a73c-2149-4713-a240-7d3f0dffbe2b))
+  (segment (start 37.719 51.308) (end 38.354 50.673) (width 0.254) (layer "F.Cu") (net 13) (tstamp d189afac-1499-463a-9424-ef880030190b))
+  (via (at 38.354 50.673) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 13) (tstamp e1f6b4b4-e611-4235-8ed9-ebcf3807e5bf))
+  (segment (start 39.243 49.784) (end 40.446 49.784) (width 0.254) (layer "B.Cu") (net 13) (tstamp 5215b5ac-69ed-4877-b041-72656f57d8b8))
+  (segment (start 38.354 50.673) (end 39.243 49.784) (width 0.254) (layer "B.Cu") (net 13) (tstamp 84c82ab9-c335-4ed3-a706-f084ed5f2df9))
+  (segment (start 37.719 50.038) (end 38.354 49.403) (width 0.254) (layer "F.Cu") (net 14) (tstamp ae07aabc-f388-4baf-9b4a-d079f3ff38a2))
+  (segment (start 36.404 50.038) (end 37.719 50.038) (width 0.254) (layer "F.Cu") (net 14) (tstamp d48cb7c3-a93f-413e-b649-468db69b5710))
+  (via (at 38.354 49.403) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 14) (tstamp 13dac8eb-146e-4e11-9e0d-936621b9b5eb))
+  (segment (start 39.243 48.514) (end 40.446 48.514) (width 0.254) (layer "B.Cu") (net 14) (tstamp 9efea54c-6552-48d1-ad1e-d118f0d36a6f))
+  (segment (start 38.354 49.403) (end 39.243 48.514) (width 0.254) (layer "B.Cu") (net 14) (tstamp a0c46f22-ba50-421e-b7a3-c6b1ae8e37a8))
+  (segment (start 37.719 47.498) (end 38.354 46.863) (width 0.254) (layer "F.Cu") (net 15) (tstamp 4548c354-c53c-4839-99fd-fdbdc95a2e94))
+  (segment (start 36.404 47.498) (end 37.719 47.498) (width 0.254) (layer "F.Cu") (net 15) (tstamp ddb40f0f-682e-4693-902c-e2770b5b6bd2))
+  (via (at 38.354 46.863) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 15) (tstamp f73ff09a-5938-442b-8d3b-2177bfcca7fb))
+  (segment (start 39.243 45.974) (end 40.446 45.974) (width 0.254) (layer "B.Cu") (net 15) (tstamp 165a8d59-db7c-455b-a822-c194b8892552))
+  (segment (start 38.354 46.863) (end 39.243 45.974) (width 0.254) (layer "B.Cu") (net 15) (tstamp f0e7f4f2-d17c-4f4d-89a6-d4b4aa2539d6))
+  (segment (start 36.404 48.768) (end 37.719 48.768) (width 0.254) (layer "F.Cu") (net 16) (tstamp 8361b332-84eb-42bf-bffc-78986790c93a))
+  (segment (start 37.719 48.768) (end 38.354 48.133) (width 0.254) (layer "F.Cu") (net 16) (tstamp abc6ec6d-0135-4b01-8924-d4e17e5636e2))
+  (via (at 38.354 48.133) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 16) (tstamp 39359626-337e-4b41-b424-df5574ba1763))
+  (segment (start 38.354 48.133) (end 39.243 47.244) (width 0.254) (layer "B.Cu") (net 16) (tstamp 4dcf5e69-3d8c-4956-a93f-8c013d06fa46))
+  (segment (start 39.243 47.244) (end 40.446 47.244) (width 0.254) (layer "B.Cu") (net 16) (tstamp a6918b51-d418-4595-8d8a-fdf5f123b58e))
+  (segment (start 32.532 47.518) (end 32.385 47.371) (width 0.254) (layer "F.Cu") (net 17) (tstamp bab293be-84e7-44d3-8bb3-d23ed8a48dea))
+  (segment (start 33.833 47.518) (end 32.532 47.518) (width 0.254) (layer "F.Cu") (net 17) (tstamp eae73756-f3a0-4116-b3bb-77202bc0f2c1))
+  (via (at 32.385 47.371) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 17) (tstamp 55af291b-bf11-4f0a-b1ae-ccff728b3536))
+  (segment (start 32.347 47.409) (end 32.385 47.371) (width 0.254) (layer "B.Cu") (net 17) (tstamp 8a39c3ef-cbb2-438b-8fd2-d01d12a4eac3))
+  (segment (start 30.988 47.409) (end 32.347 47.409) (width 0.254) (layer "B.Cu") (net 17) (tstamp dccfd5a0-cc29-408a-828c-ae13728c8284))
+  (segment (start 32.611 50.518) (end 33.833 50.518) (width 0.254) (layer "F.Cu") (net 18) (tstamp 859e81f7-b1fb-45ab-ab27-e556921da9d1))
+  (segment (start 32.385 50.292) (end 32.611 50.518) (width 0.254) (layer "F.Cu") (net 18) (tstamp b9890ce2-de52-430e-938c-895f6f5da64e))
+  (via (at 32.385 50.292) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 18) (tstamp c9eca091-1eea-443e-97ed-24518ab35e5f))
+  (segment (start 32.296 50.381) (end 32.385 50.292) (width 0.254) (layer "B.Cu") (net 18) (tstamp 12838ac1-bc65-4c88-9043-ac30158b837e))
+  (segment (start 30.988 50.381) (end 32.296 50.381) (width 0.254) (layer "B.Cu") (net 18) (tstamp bc3b7428-fb05-40df-a03c-3bd36c4098d5))
+
+  (zone (net 11) (net_name "GND") (layer "F.Cu") (tstamp ff0cc134-7c76-46f5-8168-386778db5317) (hatch edge 0.508)
+    (connect_pads (clearance 0.2032))
+    (min_thickness 0.2032) (filled_areas_thickness no)
+    (fill yes (thermal_gap 0.2032) (thermal_bridge_width 0.254))
+    (polygon
+      (pts
+        (xy 42.1386 54.229)
+        (xy 26.924 54.229)
+        (xy 26.924 43.307)
+        (xy 42.1386 43.307)
+      )
+    )
+    (filled_polygon
+      (layer "F.Cu")
+      (pts
+        (xy 35.272451 43.529913)
+        (xy 35.308996 43.580213)
+        (xy 35.308996 43.642387)
+        (xy 35.272451 43.692687)
+        (xy 35.258991 43.700935)
+        (xy 35.168875 43.746851)
+        (xy 35.072851 43.842875)
+        (xy 35.069256 43.849931)
+        (xy 35.069186 43.850068)
+        (xy 35.069078 43.850176)
+        (xy 35.064604 43.856334)
+        (xy 35.063629 43.855625)
+        (xy 35.025223 43.894032)
+        (xy 34.96642 43.904136)
+        (xy 34.925 43.898683)
+        (xy 34.91846 43.899544)
+        (xy 34.788847 43.916608)
+        (xy 34.788845 43.916608)
+        (xy 34.782309 43.917469)
+        (xy 34.649342 43.972545)
+        (xy 34.53516 44.06016)
+        (xy 34.447545 44.174342)
+        (xy 34.392469 44.307309)
+        (xy 34.391608 44.313845)
+        (xy 34.391608 44.313847)
+        (xy 34.374544 44.44346)
+        (xy 34.373683 44.45)
+        (xy 34.374544 44.45654)
+        (xy 34.391538 44.585616)
+        (xy 34.392469 44.592691)
+        (xy 34.447545 44.725658)
+        (xy 34.451563 44.730894)
+        (xy 34.531144 44.834607)
+        (xy 34.531146 44.834609)
+        (xy 34.53516 44.83984)
+        (xy 34.539758 44.843368)
+        (xy 34.567829 44.898466)
+        (xy 34.558101 44.959875)
+        (xy 34.514135 45.003837)
+        (xy 34.468467 45.0148)
+        (xy 34.092257 45.0148)
+        (xy 34.033126 44.995587)
+        (xy 33.996581 44.945287)
+        (xy 33.996581 44.883113)
+        (xy 34.009651 44.856784)
+        (xy 34.01651 44.846915)
+        (xy 34.090479 44.707212)
+        (xy 34.094793 44.695974)
+        (xy 34.121297 44.590454)
+        (xy 34.120429 44.577714)
+        (xy 34.110996 44.575)
+        (xy 33.024933 44.575)
+        (xy 33.012043 44.579188)
+        (xy 33.009 44.583377)
+        (xy 33.009 45.0906)
+        (xy 32.989787 45.149731)
+        (xy 32.939487 45.186276)
+        (xy 32.935099 45.186971)
+        (xy 32.893339 45.20054)
+        (xy 32.9048 45.235814)
+        (xy 32.9048 45.381853)
+        (xy 32.885587 45.440984)
+        (xy 32.835287 45.477529)
+        (xy 32.773113 45.477529)
+        (xy 32.740075 45.459367)
+        (xy 32.738336 45.457929)
+        (xy 32.733692 45.452878)
+        (xy 32.606412 45.373961)
+        (xy 32.599829 45.372049)
+        (xy 32.599828 45.372048)
+        (xy 32.518451 45.348406)
+        (xy 32.467027 45.313458)
+        (xy 32.445967 45.25496)
+        (xy 32.463313 45.195254)
+        (xy 32.51244 45.157147)
+        (xy 32.546517 45.1512)
+        (xy 32.739068 45.1512)
+        (xy 32.766461 45.142299)
+        (xy 32.755 45.107025)
+        (xy 32.755 44.590933)
+        (xy 32.750812 44.578043)
+        (xy 32.746623 44.575)
+        (xy 31.655206 44.575)
+        (xy 31.642896 44.579)
+        (xy 31.642521 44.58853)
+        (xy 31.666644 44.689011)
+        (xy 31.670846 44.70031)
+        (xy 31.743345 44.840774)
+        (xy 31.750108 44.850726)
+        (xy 31.854024 44.969848)
+        (xy 31.862975 44.977907)
+        (xy 31.992299 45.068797)
+        (xy 32.002914 45.074489)
+        (xy 32.150181 45.131905)
+        (xy 32.161855 45.134902)
+        (xy 32.243883 45.145702)
+        (xy 32.3 45.172469)
+        (xy 32.329667 45.227109)
+        (xy 32.321551 45.288751)
+        (xy 32.278753 45.33385)
+        (xy 32.244405 45.345109)
+        (xy 32.233626 45.346586)
+        (xy 32.096184 45.406062)
+        (xy 31.9798 45.500309)
+        (xy 31.893047 45.622382)
+        (xy 31.890726 45.62883)
+        (xy 31.890724 45.628833)
+        (xy 31.874401 45.674172)
+        (xy 31.842318 45.763287)
+        (xy 31.83135 45.912644)
+        (xy 31.832705 45.919364)
+        (xy 31.832705 45.919365)
+        (xy 31.849478 46.002547)
+        (xy 31.860951 46.059449)
+        (xy 31.864065 46.06556)
+        (xy 31.864065 46.065561)
+        (xy 31.897932 46.132029)
+        (xy 31.907658 46.193438)
+        (xy 31.879432 46.248835)
+        (xy 31.824034 46.277062)
+        (xy 31.808297 46.2783)
+        (xy 31.514833 46.2783)
+        (xy 31.506065 46.277917)
+        (xy 31.475501 46.275243)
+        (xy 31.466733 46.274476)
+        (xy 31.458231 46.276754)
+        (xy 31.428608 46.284691)
+        (xy 31.420042 46.286591)
+        (xy 31.389813 46.291921)
+        (xy 31.389811 46.291922)
+        (xy 31.381149 46.293449)
+        (xy 31.373531 46.297847)
+        (xy 31.367957 46.299876)
+        (xy 31.362582 46.302383)
+        (xy 31.354084 46.30466)
+        (xy 31.346874 46.309709)
+        (xy 31.346873 46.309709)
+        (xy 31.321742 46.327305)
+        (xy 31.314343 46.332019)
+        (xy 31.287775 46.347359)
+        (xy 31.280151 46.351761)
+        (xy 31.274494 46.358503)
+        (xy 31.254768 46.382011)
+        (xy 31.248839 46.388481)
+        (xy 30.386481 47.250839)
+        (xy 30.380011 47.256768)
+        (xy 30.349761 47.282151)
+        (xy 30.34536 47.289774)
+        (xy 30.345359 47.289775)
+        (xy 30.330019 47.316343)
+        (xy 30.325305 47.323742)
+        (xy 30.311761 47.343086)
+        (xy 30.30266 47.356084)
+        (xy 30.300383 47.364582)
+        (xy 30.297876 47.369957)
+        (xy 30.295847 47.375531)
+        (xy 30.291449 47.383149)
+        (xy 30.289922 47.391811)
+        (xy 30.289921 47.391813)
+        (xy 30.284591 47.422042)
+        (xy 30.282691 47.430608)
+        (xy 30.272476 47.468733)
+        (xy 30.273243 47.477501)
+        (xy 30.275917 47.508065)
+        (xy 30.2763 47.516833)
+        (xy 30.2763 49.247828)
+        (xy 30.257087 49.306959)
+        (xy 30.206787 49.343504)
+        (xy 30.1757 49.348428)
+        (xy 30.092809 49.348428)
+        (xy 30.033678 49.329215)
+        (xy 30.013 49.309072)
+        (xy 29.98084 49.26716)
+        (xy 29.973407 49.261456)
+        (xy 29.871889 49.183558)
+        (xy 29.871888 49.183558)
+        (xy 29.866659 49.179545)
+        (xy 29.733691 49.124469)
+        (xy 29.727155 49.123608)
+        (xy 29.727153 49.123608)
+        (xy 29.59754 49.106544)
+        (xy 29.591 49.105683)
+        (xy 29.58446 49.106544)
+        (xy 29.454847 49.123608)
+        (xy 29.454845 49.123608)
+        (xy 29.448309 49.124469)
+        (xy 29.315342 49.179545)
+        (xy 29.26072 49.221458)
+        (xy 29.210502 49.259992)
+        (xy 29.20116 49.26716)
+        (xy 29.113545 49.381342)
+        (xy 29.058469 49.514309)
+        (xy 29.057608 49.520845)
+        (xy 29.057608 49.520847)
+        (xy 29.055489 49.536941)
+        (xy 29.039683 49.657)
+        (xy 29.040544 49.66354)
+        (xy 29.056897 49.787748)
+        (xy 29.058469 49.799691)
+        (xy 29.113545 49.932658)
+        (xy 29.20116 50.04684)
+        (xy 29.206391 50.050854)
+        (xy 29.206392 50.050855)
+        (xy 29.29307 50.117366)
+        (xy 29.315341 50.134455)
+        (xy 29.448309 50.189531)
+        (xy 29.454845 50.190392)
+        (xy 29.454847 50.190392)
+        (xy 29.58446 50.207456)
+        (xy 29.591 50.208317)
+        (xy 29.59754 50.207456)
+        (xy 29.727153 50.190392)
+        (xy 29.727155 50.190392)
+        (xy 29.733691 50.189531)
+        (xy 29.866659 50.134455)
+        (xy 29.897263 50.110972)
+        (xy 29.975609 50.050854)
+        (xy 29.98084 50.04684)
+        (xy 29.984853 50.04161)
+        (xy 29.98717 50.039293)
+        (xy 30.042568 50.011067)
+        (xy 30.058305 50.009828)
+        (xy 30.1757 50.009828)
+        (xy 30.234831 50.029041)
+        (xy 30.271376 50.079341)
+        (xy 30.2763 50.110428)
+        (xy 30.2763 50.146167)
+        (xy 30.275917 50.154935)
+        (xy 30.273643 50.180933)
+        (xy 30.272476 50.194267)
+        (xy 30.274754 50.202769)
+        (xy 30.282691 50.232392)
+        (xy 30.284591 50.240958)
+        (xy 30.288236 50.261627)
+        (xy 30.291449 50.279851)
+        (xy 30.295847 50.287469)
+        (xy 30.297876 50.293043)
+        (xy 30.300383 50.298418)
+        (xy 30.30266 50.306916)
+        (xy 30.307709 50.314126)
+        (xy 30.307709 50.314127)
+        (xy 30.325305 50.339258)
+        (xy 30.330019 50.346657)
+        (xy 30.334 50.353551)
+        (xy 30.349761 50.380849)
+        (xy 30.374737 50.401807)
+        (xy 30.380011 50.406232)
+        (xy 30.386481 50.412161)
+        (xy 31.156859 51.182539)
+        (xy 31.162788 51.189009)
+        (xy 31.188171 51.219259)
+        (xy 31.195791 51.223658)
+        (xy 31.195794 51.223661)
+        (xy 31.222361 51.238999)
+        (xy 31.229756 51.24371)
+        (xy 31.262103 51.26636)
+        (xy 31.270601 51.268637)
+        (xy 31.275977 51.271144)
+        (xy 31.28155 51.273172)
+        (xy 31.289169 51.277571)
+        (xy 31.297833 51.279099)
+        (xy 31.297834 51.279099)
+        (xy 31.328057 51.284428)
+        (xy 31.336623 51.286327)
+        (xy 31.374753 51.296543)
+        (xy 31.414075 51.293103)
+        (xy 31.422841 51.29272)
+        (xy 31.789388 51.29272)
+        (xy 31.848519 51.311933)
+        (xy 31.885064 51.362233)
+        (xy 31.884041 51.427397)
+        (xy 31.842318 51.543287)
+        (xy 31.83135 51.692644)
+        (xy 31.832705 51.699364)
+        (xy 31.832705 51.699365)
+        (xy 31.854517 51.807538)
+        (xy 31.860951 51.839449)
+        (xy 31.864065 51.84556)
+        (xy 31.864065 51.845561)
+        (xy 31.889726 51.895924)
+        (xy 31.92894 51.972885)
+        (xy 32.030308 52.083122)
+        (xy 32.157588 52.162039)
+        (xy 32.164171 52.163951)
+        (xy 32.164172 52.163952)
+        (xy 32.26489 52.193213)
+        (xy 32.316314 52.22816)
+        (xy 32.337374 52.286659)
+        (xy 32.320028 52.346365)
+        (xy 32.270901 52.384472)
+        (xy 32.248909 52.38969)
+        (xy 32.169053 52.399353)
+        (xy 32.157361 52.402225)
+        (xy 32.009485 52.458102)
+        (xy 31.998823 52.463676)
+        (xy 31.868546 52.553215)
+        (xy 31.859517 52.561175)
+        (xy 31.754362 52.679197)
+        (xy 31.747489 52.689086)
+        (xy 31.673521 52.828788)
+        (xy 31.669207 52.840026)
+        (xy 31.642703 52.945546)
+        (xy 31.643571 52.958286)
+        (xy 31.653004 52.961)
+        (xy 32.739067 52.961)
+        (xy 32.751957 52.956812)
+        (xy 32.755 52.952623)
+        (xy 32.755 52.42685)
+        (xy 32.765626 52.394146)
+        (xy 32.747374 52.384846)
+        (xy 32.747084 52.3848)
+        (xy 32.561516 52.3848)
+        (xy 32.502385 52.365587)
+        (xy 32.46584 52.315287)
+        (xy 32.46584 52.253113)
+        (xy 32.502385 52.202813)
+        (xy 32.529995 52.189466)
+        (xy 32.530374 52.189414)
+        (xy 32.667816 52.129938)
+        (xy 32.673142 52.125625)
+        (xy 32.673147 52.125622)
+        (xy 32.74089 52.070764)
+        (xy 32.798934 52.048482)
+        (xy 32.85899 52.064573)
+        (xy 32.898118 52.112892)
+        (xy 32.9048 52.148944)
+        (xy 32.9048 52.302284)
+        (xy 32.894429 52.334204)
+        (xy 32.897716 52.33549)
+        (xy 32.936444 52.353343)
+        (xy 32.936216 52.353838)
+        (xy 32.967531 52.364013)
+        (xy 33.004076 52.414313)
+        (xy 33.009 52.4454)
+        (xy 33.009 52.945067)
+        (xy 33.013188 52.957957)
+        (xy 33.017377 52.961)
+        (xy 34.108794 52.961)
+        (xy 34.121104 52.957)
+        (xy 34.121479 52.94747)
+        (xy 34.097356 52.846989)
+        (xy 34.093154 52.83569)
+        (xy 34.020655 52.695226)
+        (xy 34.010479 52.680252)
+        (xy 34.012381 52.678959)
+        (xy 33.991817 52.630729)
+        (xy 34.005706 52.570126)
+        (xy 34.052563 52.529261)
+        (xy 34.09202 52.5212)
+        (xy 34.573068 52.5212)
+        (xy 34.582864 52.520235)
+        (xy 34.627568 52.511343)
+        (xy 34.645524 52.503905)
+        (xy 34.69626 52.470004)
+        (xy 34.710004 52.45626)
+        (xy 34.743905 52.405524)
+        (xy 34.751343 52.387568)
+        (xy 34.760235 52.342864)
+        (xy 34.7612 52.333068)
+        (xy 34.7612 52.160933)
+        (xy 34.757012 52.148043)
+        (xy 34.752823 52.145)
+        (xy 33.8066 52.145)
+        (xy 33.747469 52.125787)
+        (xy 33.710924 52.075487)
+        (xy 33.706 52.0444)
+        (xy 33.706 51.9916)
+        (xy 33.725213 51.932469)
+        (xy 33.775513 51.895924)
+        (xy 33.8066 51.891)
+        (xy 34.745267 51.891)
+        (xy 34.758157 51.886812)
+        (xy 34.7612 51.882623)
+        (xy 34.7612 51.702932)
+        (xy 34.760235 51.693136)
+        (xy 34.74941 51.638715)
+        (xy 34.753449 51.637912)
+        (xy 34.750257 51.597555)
+        (xy 34.749881 51.59748)
+        (xy 34.750146 51.59615)
+        (xy 34.750146 51.596148)
+        (xy 34.7617 51.538064)
+        (xy 34.7617 50.897936)
+        (xy 34.749881 50.83852)
+        (xy 34.744839 50.830974)
+        (xy 34.740003 50.769515)
+        (xy 34.744588 50.755402)
+        (xy 34.749881 50.74748)
+        (xy 34.7617 50.688064)
+        (xy 34.7617 50.347936)
+        (xy 34.749881 50.28852)
+        (xy 34.753762 50.287748)
+        (xy 34.750599 50.247623)
+        (xy 34.749881 50.24748)
+        (xy 34.750387 50.244935)
+        (xy 34.7617 50.188064)
+        (xy 34.7617 49.847936)
+        (xy 34.749881 49.78852)
+        (xy 34.753762 49.787748)
+        (xy 34.750599 49.747623)
+        (xy 34.749881 49.74748)
+        (xy 34.750387 49.744935)
+        (xy 34.7617 49.688064)
+        (xy 34.7617 49.452722)
+        (xy 34.780913 49.393591)
+        (xy 34.831213 49.357046)
+        (xy 34.853921 49.354441)
+        (xy 34.853753 49.352524)
+        (xy 34.862521 49.351757)
+        (xy 34.871289 49.352524)
+        (xy 34.886576 49.348428)
+        (xy 34.909414 49.342309)
+        (xy 34.91798 49.340409)
+        (xy 34.948209 49.335079)
+        (xy 34.948211 49.335078)
+        (xy 34.956873 49.333551)
+        (xy 34.964491 49.329153)
+        (xy 34.970065 49.327124)
+        (xy 34.97544 49.324617)
+        (xy 34.983938 49.32234)
+        (xy 34.991149 49.317291)
+        (xy 35.01628 49.299695)
+        (xy 35.023679 49.294981)
+        (xy 35.05787 49.27524)
+        (xy 35.059373 49.277844)
+        (xy 35.103548 49.259992)
+        (xy 35.159242 49.275698)
+        (xy 35.160158 49.273823)
+        (xy 35.23948 49.312596)
+        (xy 35.284167 49.355824)
+        (xy 35.294911 49.417063)
+        (xy 35.267607 49.472921)
+        (xy 35.239639 49.493279)
+        (xy 35.183491 49.520847)
+        (xy 35.1596 49.532577)
+        (xy 35.153726 49.538461)
+        (xy 35.153725 49.538462)
+        (xy 35.074049 49.618276)
+        (xy 35.074047 49.618279)
+        (xy 35.068177 49.624159)
+        (xy 35.064528 49.631624)
+        (xy 35.064526 49.631627)
+        (xy 35.034569 49.692914)
+        (xy 35.011349 49.740417)
+        (xy 35.010222 49.748144)
+        (xy 35.003607 49.79349)
+        (xy 35.0003 49.816156)
+        (xy 35.0003 50.259844)
+        (xy 35.005129 50.292646)
+        (xy 35.008291 50.314127)
+        (xy 35.011546 50.336242)
+        (xy 35.014991 50.343258)
+        (xy 35.014991 50.343259)
+        (xy 35.048821 50.412161)
+        (xy 35.068577 50.4524)
+        (xy 35.074461 50.458274)
+        (xy 35.074462 50.458275)
+        (xy 35.154276 50.537951)
+        (xy 35.154279 50.537953)
+        (xy 35.160159 50.543823)
+        (xy 35.167626 50.547473)
+        (xy 35.167629 50.547475)
+        (xy 35.23948 50.582596)
+        (xy 35.284167 50.625824)
+        (xy 35.294911 50.687063)
+        (xy 35.267607 50.742921)
+        (xy 35.239639 50.763279)
+        (xy 35.181018 50.792061)
+        (xy 35.1596 50.802577)
+        (xy 35.153726 50.808461)
+        (xy 35.153725 50.808462)
+        (xy 35.074049 50.888276)
+        (xy 35.074047 50.888279)
+        (xy 35.068177 50.894159)
+        (xy 35.064528 50.901624)
+        (xy 35.064526 50.901627)
+        (xy 35.063913 50.902882)
+        (xy 35.011349 51.010417)
+        (xy 35.010222 51.018144)
+        (xy 35.000831 51.082517)
+        (xy 35.0003 51.086156)
+        (xy 35.0003 51.529844)
+        (xy 35.00151 51.538064)
+        (xy 35.010312 51.597856)
+        (xy 35.011546 51.606242)
+        (xy 35.014991 51.613258)
+        (xy 35.014991 51.613259)
+        (xy 35.059019 51.702932)
+        (xy 35.068577 51.7224)
+        (xy 35.074461 51.728274)
+        (xy 35.074462 51.728275)
+        (xy 35.154276 51.807951)
+        (xy 35.154279 51.807953)
+        (xy 35.160159 51.813823)
+        (xy 35.167624 51.817472)
+        (xy 35.167627 51.817474)
+        (xy 35.198828 51.832725)
+        (xy 35.276417 51.870651)
+        (xy 35.304991 51.874819)
+        (xy 35.348547 51.881174)
+        (xy 35.348554 51.881174)
+        (xy 35.352156 51.8817)
+        (xy 37.455844 51.8817)
+        (xy 37.497139 51.875621)
+        (xy 37.524506 51.871593)
+        (xy 37.524507 51.871593)
+        (xy 37.532242 51.870454)
+        (xy 37.582943 51.845561)
+        (xy 37.640936 51.817088)
+        (xy 37.640938 51.817087)
+        (xy 37.6484 51.813423)
+        (xy 37.654275 51.807538)
+        (xy 37.733951 51.727724)
+        (xy 37.733953 51.727721)
+        (xy 37.739823 51.721841)
+        (xy 37.761057 51.678401)
+        (xy 37.804286 51.633715)
+        (xy 37.817029 51.628048)
+        (xy 37.825186 51.625079)
+        (xy 37.833851 51.623551)
+        (xy 37.841473 51.619151)
+        (xy 37.847046 51.617122)
+        (xy 37.852416 51.614618)
+        (xy 37.860916 51.61234)
+        (xy 37.870566 51.605583)
+        (xy 37.893258 51.589695)
+        (xy 37.900657 51.584981)
+        (xy 37.927225 51.569641)
+        (xy 37.927226 51.56964)
+        (xy 37.934849 51.565239)
+        (xy 37.941966 51.556757)
+        (xy 37.960233 51.534989)
+        (xy 37.966161 51.52852)
+        (xy 38.245014 51.249667)
+        (xy 38.300412 51.221441)
+        (xy 38.329276 51.221062)
+        (xy 38.354 51.224317)
+        (xy 38.36054 51.223456)
+        (xy 38.490153 51.206392)
+        (xy 38.490155 51.206392)
+        (xy 38.496691 51.205531)
+        (xy 38.629659 51.150455)
+        (xy 38.708704 51.089801)
+        (xy 38.738458 51.06697)
+        (xy 38.797066 51.046215)
+        (xy 38.85668 51.063874)
+        (xy 38.89453 51.1132)
+        (xy 38.9003 51.146781)
+        (xy 38.9003 51.529844)
+        (xy 38.90151 51.538064)
+        (xy 38.910312 51.597856)
+        (xy 38.911546 51.606242)
+        (xy 38.914991 51.613258)
+        (xy 38.914991 51.613259)
+        (xy 38.959019 51.702932)
+        (xy 38.968577 51.7224)
+        (xy 38.974461 51.728274)
+        (xy 38.974462 51.728275)
+        (xy 39.054276 51.807951)
+        (xy 39.054279 51.807953)
+        (xy 39.060159 51.813823)
+        (xy 39.067624 51.817472)
+        (xy 39.067627 51.817474)
+        (xy 39.098828 51.832725)
+        (xy 39.176417 51.870651)
+        (xy 39.204991 51.874819)
+        (xy 39.248547 51.881174)
+        (xy 39.248554 51.881174)
+        (xy 39.252156 51.8817)
+        (xy 41.355844 51.8817)
+        (xy 41.397139 51.875621)
+        (xy 41.424506 51.871593)
+        (xy 41.424507 51.871593)
+        (xy 41.432242 51.870454)
+        (xy 41.482943 51.845561)
+        (xy 41.540936 51.817088)
+        (xy 41.540938 51.817087)
+        (xy 41.5484 51.813423)
+        (xy 41.554275 51.807538)
+        (xy 41.633951 51.727724)
+        (xy 41.633953 51.727721)
+        (xy 41.639823 51.721841)
+        (xy 41.643473 51.714374)
+        (xy 41.643474 51.714373)
+        (xy 41.693222 51.612598)
+        (xy 41.696651 51.605583)
+        (xy 41.701894 51.569641)
+        (xy 41.707174 51.533453)
+        (xy 41.707174 51.533446)
+        (xy 41.7077 51.529844)
+        (xy 41.7077 51.086156)
+        (xy 41.701621 51.044861)
+        (xy 41.697593 51.017494)
+        (xy 41.697593 51.017493)
+        (xy 41.696454 51.009758)
+        (xy 41.693009 51.002741)
+        (xy 41.643088 50.901064)
+        (xy 41.643087 50.901062)
+        (xy 41.639423 50.8936)
+        (xy 41.602539 50.85678)
+        (xy 41.553724 50.808049)
+        (xy 41.553721 50.808047)
+        (xy 41.547841 50.802177)
+        (xy 41.540376 50.798528)
+        (xy 41.540373 50.798526)
+        (xy 41.467949 50.763125)
+        (xy 41.423262 50.719897)
+        (xy 41.412519 50.658658)
+        (xy 41.439823 50.602799)
+        (xy 41.467792 50.582442)
+        (xy 41.540639 50.546676)
+        (xy 41.55398 50.537125)
+        (xy 41.633538 50.457429)
+        (xy 41.643061 50.444078)
+        (xy 41.692736 50.342453)
+        (xy 41.697292 50.327711)
+        (xy 41.706674 50.263405)
+        (xy 41.7072 50.256151)
+        (xy 41.7072 50.180933)
+        (xy 41.703012 50.168043)
+        (xy 41.698823 50.165)
+        (xy 38.916733 50.165)
+        (xy 38.903843 50.169188)
+        (xy 38.9008 50.173377)
+        (xy 38.9008 50.199603)
+        (xy 38.881587 50.258734)
+        (xy 38.831287 50.295279)
+        (xy 38.769113 50.295279)
+        (xy 38.738958 50.279414)
+        (xy 38.708642 50.256151)
+        (xy 38.683217 50.236642)
+        (xy 38.634889 50.199558)
+        (xy 38.634888 50.199558)
+        (xy 38.629659 50.195545)
+        (xy 38.496691 50.140469)
+        (xy 38.490155 50.139608)
+        (xy 38.490153 50.139608)
+        (xy 38.475955 50.137739)
+        (xy 38.419837 50.110972)
+        (xy 38.390171 50.056333)
+        (xy 38.398286 49.99469)
+        (xy 38.441084 49.949591)
+        (xy 38.475955 49.938261)
+        (xy 38.490153 49.936392)
+        (xy 38.490155 49.936392)
+        (xy 38.496691 49.935531)
+        (xy 38.629659 49.880455)
+        (xy 38.634948 49.876397)
+        (xy 38.718134 49.812565)
+        (xy 38.738958 49.796586)
+        (xy 38.797566 49.775831)
+        (xy 38.85718 49.79349)
+        (xy 38.89503 49.842816)
+        (xy 38.9008 49.876397)
+        (xy 38.9008 49.895067)
+        (xy 38.904988 49.907957)
+        (xy 38.909177 49.911)
+        (xy 41.691267 49.911)
+        (xy 41.704157 49.906812)
+        (xy 41.7072 49.902623)
+        (xy 41.7072 49.819879)
+        (xy 41.706664 49.812565)
+        (xy 41.697107 49.74764)
+        (xy 41.692523 49.732887)
+        (xy 41.642675 49.631359)
+        (xy 41.633125 49.61802)
+        (xy 41.553429 49.538462)
+        (xy 41.540077 49.528939)
+        (xy 41.467381 49.493404)
+        (xy 41.422694 49.450175)
+        (xy 41.411951 49.388936)
+        (xy 41.439256 49.333078)
+        (xy 41.467224 49.312721)
+        (xy 41.540639 49.276676)
+        (xy 41.55398 49.267125)
+        (xy 41.633538 49.187429)
+        (xy 41.643061 49.174078)
+        (xy 41.692736 49.072453)
+        (xy 41.697292 49.057711)
+        (xy 41.706674 48.993405)
+        (xy 41.7072 48.986151)
+        (xy 41.7072 48.910933)
+        (xy 41.703012 48.898043)
+        (xy 41.698823 48.895)
+        (xy 38.916733 48.895)
+        (xy 38.903843 48.899188)
+        (xy 38.9008 48.903377)
+        (xy 38.9008 48.929603)
+        (xy 38.881587 48.988734)
+        (xy 38.831287 49.025279)
+        (xy 38.769113 49.025279)
+        (xy 38.738958 49.009414)
+        (xy 38.708642 48.986151)
+        (xy 38.651369 48.942204)
+        (xy 38.634889 48.929558)
+        (xy 38.634888 48.929558)
+        (xy 38.629659 48.925545)
+        (xy 38.496691 48.870469)
+        (xy 38.490155 48.869608)
+        (xy 38.490153 48.869608)
+        (xy 38.475955 48.867739)
+        (xy 38.419837 48.840972)
+        (xy 38.390171 48.786333)
+        (xy 38.398286 48.72469)
+        (xy 38.441084 48.679591)
+        (xy 38.475955 48.668261)
+        (xy 38.490153 48.666392)
+        (xy 38.490155 48.666392)
+        (xy 38.496691 48.665531)
+        (xy 38.629659 48.610455)
+        (xy 38.634948 48.606397)
+        (xy 38.738958 48.526586)
+        (xy 38.797566 48.505831)
+        (xy 38.85718 48.52349)
+        (xy 38.89503 48.572816)
+        (xy 38.9008 48.606397)
+        (xy 38.9008 48.625067)
+        (xy 38.904988 48.637957)
+        (xy 38.909177 48.641)
+        (xy 41.691267 48.641)
+        (xy 41.704157 48.636812)
+        (xy 41.7072 48.632623)
+        (xy 41.7072 48.549879)
+        (xy 41.706664 48.542565)
+        (xy 41.697107 48.47764)
+        (xy 41.692523 48.462887)
+        (xy 41.642675 48.361359)
+        (xy 41.633125 48.34802)
+        (xy 41.553429 48.268462)
+        (xy 41.540076 48.258938)
+        (xy 41.467951 48.223683)
+        (xy 41.423264 48.180455)
+        (xy 41.41252 48.119216)
+        (xy 41.439824 48.063358)
+        (xy 41.467792 48.043)
+        (xy 41.540935 48.007088)
+        (xy 41.540934 48.007088)
+        (xy 41.5484 48.003423)
+        (xy 41.554275 47.997538)
+        (xy 41.633951 47.917724)
+        (xy 41.633953 47.917721)
+        (xy 41.639823 47.911841)
+        (xy 41.643472 47.904376)
+        (xy 41.643474 47.904373)
+        (xy 41.693222 47.802598)
+        (xy 41.696651 47.795583)
+        (xy 41.702483 47.755606)
+        (xy 41.707174 47.723453)
+        (xy 41.707174 47.723446)
+        (xy 41.7077 47.719844)
+        (xy 41.7077 47.276156)
+        (xy 41.69976 47.222216)
+        (xy 41.697593 47.207494)
+        (xy 41.697593 47.207493)
+        (xy 41.696454 47.199758)
+        (xy 41.690713 47.188064)
+        (xy 41.643088 47.091064)
+        (xy 41.643087 47.091062)
+        (xy 41.639423 47.0836)
+        (xy 41.602539 47.04678)
+        (xy 41.553724 46.998049)
+        (xy 41.553721 46.998047)
+        (xy 41.547841 46.992177)
+        (xy 41.540376 46.988528)
+        (xy 41.540373 46.988526)
+        (xy 41.467949 46.953125)
+        (xy 41.423262 46.909897)
+        (xy 41.412519 46.848658)
+        (xy 41.439823 46.792799)
+        (xy 41.467792 46.772442)
+        (xy 41.540639 46.736676)
+        (xy 41.55398 46.727125)
+        (xy 41.633538 46.647429)
+        (xy 41.643061 46.634078)
+        (xy 41.692736 46.532453)
+        (xy 41.697292 46.517711)
+        (xy 41.706674 46.453405)
+        (xy 41.7072 46.446151)
+        (xy 41.7072 46.370933)
+        (xy 41.703012 46.358043)
+        (xy 41.698823 46.355)
+        (xy 38.916733 46.355)
+        (xy 38.903843 46.359188)
+        (xy 38.9008 46.363377)
+        (xy 38.9008 46.389603)
+        (xy 38.881587 46.448734)
+        (xy 38.831287 46.485279)
+        (xy 38.769113 46.485279)
+        (xy 38.738958 46.469414)
+        (xy 38.708642 46.446151)
+        (xy 38.692836 46.434023)
+        (xy 38.634889 46.389558)
+        (xy 38.634888 46.389558)
+        (xy 38.629659 46.385545)
+        (xy 38.496691 46.330469)
+        (xy 38.490155 46.329608)
+        (xy 38.490153 46.329608)
+        (xy 38.475955 46.327739)
+        (xy 38.419837 46.300972)
+        (xy 38.390171 46.246333)
+        (xy 38.398286 46.18469)
+        (xy 38.441084 46.139591)
+        (xy 38.475955 46.128261)
+        (xy 38.490153 46.126392)
+        (xy 38.490155 46.126392)
+        (xy 38.496691 46.125531)
+        (xy 38.629659 46.070455)
+        (xy 38.634948 46.066397)
+        (xy 38.718134 46.002565)
+        (xy 38.738958 45.986586)
+        (xy 38.797566 45.965831)
+        (xy 38.85718 45.98349)
+        (xy 38.89503 46.032816)
+        (xy 38.9008 46.066397)
+        (xy 38.9008 46.085067)
+        (xy 38.904988 46.097957)
+        (xy 38.909177 46.101)
+        (xy 40.161067 46.101)
+        (xy 40.173957 46.096812)
+        (xy 40.177 46.092623)
+        (xy 40.177 46.085067)
+        (xy 40.431 46.085067)
+        (xy 40.435188 46.097957)
+        (xy 40.439377 46.101)
+        (xy 41.691267 46.101)
+        (xy 41.704157 46.096812)
+        (xy 41.7072 46.092623)
+        (xy 41.7072 46.009879)
+        (xy 41.706664 46.002565)
+        (xy 41.697107 45.93764)
+        (xy 41.692523 45.922887)
+        (xy 41.642675 45.821359)
+        (xy 41.633125 45.80802)
+        (xy 41.553429 45.728462)
+        (xy 41.540078 45.718939)
+        (xy 41.438453 45.669264)
+        (xy 41.423711 45.664708)
+        (xy 41.359405 45.655326)
+        (xy 41.352151 45.6548)
+        (xy 40.446933 45.6548)
+        (xy 40.434043 45.658988)
+        (xy 40.431 45.663177)
+        (xy 40.431 46.085067)
+        (xy 40.177 46.085067)
+        (xy 40.177 45.670733)
+        (xy 40.172812 45.657843)
+        (xy 40.168623 45.6548)
+        (xy 39.255879 45.6548)
+        (xy 39.248565 45.655336)
+        (xy 39.18364 45.664893)
+        (xy 39.168887 45.669477)
+        (xy 39.067359 45.719326)
+        (xy 39.058666 45.725549)
+        (xy 38.999402 45.74435)
+        (xy 38.940406 45.724725)
+        (xy 38.904212 45.674172)
+        (xy 38.900364 45.630621)
+        (xy 38.904456 45.59954)
+        (xy 38.905317 45.593)
+        (xy 38.903011 45.575487)
+        (xy 38.887392 45.456847)
+        (xy 38.887392 45.456845)
+        (xy 38.886531 45.450309)
+        (xy 38.831455 45.317342)
+        (xy 38.74384 45.20316)
+        (xy 38.683828 45.15711)
+        (xy 38.648613 45.105872)
+        (xy 38.65024 45.043719)
+        (xy 38.68809 44.994393)
+        (xy 38.74507 44.9767)
+        (xy 39.08274 44.9767)
+        (xy 39.086645 44.976081)
+        (xy 39.086651 44.976081)
+        (xy 39.175305 44.962039)
+        (xy 39.175306 44.962039)
+        (xy 39.183127 44.9608)
+        (xy 39.19018 44.957206)
+        (xy 39.190184 44.957205)
+        (xy 39.297069 44.902744)
+        (xy 39.304125 44.899149)
+        (xy 39.400149 44.803125)
+        (xy 39.414977 44.774022)
+        (xy 39.458205 44.689184)
+        (xy 39.458206 44.68918)
+        (xy 39.4618 44.682127)
+        (xy 39.463039 44.674305)
+        (xy 39.477081 44.585651)
+        (xy 39.477081 44.585645)
+        (xy 39.4777 44.58174)
+        (xy 39.4777 44.577752)
+        (xy 39.770801 44.577752)
+        (xy 39.771418 44.585601)
+        (xy 39.785442 44.67415)
+        (xy 39.790277 44.689029)
+        (xy 39.844665 44.795771)
+        (xy 39.853859 44.808426)
+        (xy 39.938574 44.893141)
+        (xy 39.951229 44.902335)
+        (xy 40.057974 44.956724)
+        (xy 40.07285 44.961558)
+        (xy 40.161384 44.97558)
+        (xy 40.169256 44.9762)
+        (xy 40.281067 44.9762)
+        (xy 40.293957 44.972012)
+        (xy 40.297 44.967823)
+        (xy 40.297 44.960266)
+        (xy 40.551 44.960266)
+        (xy 40.555188 44.973156)
+        (xy 40.559377 44.976199)
+        (xy 40.678752 44.976199)
+        (xy 40.686601 44.975582)
+        (xy 40.77515 44.961558)
+        (xy 40.790029 44.956723)
+        (xy 40.896771 44.902335)
+        (xy 40.909426 44.893141)
+        (xy 40.994141 44.808426)
+        (xy 41.003335 44.795771)
+        (xy 41.057724 44.689026)
+        (xy 41.062558 44.67415)
+        (xy 41.07658 44.585616)
+        (xy 41.0772 44.577744)
+        (xy 41.0772 44.465933)
+        (xy 41.073012 44.453043)
+        (xy 41.068823 44.45)
+        (xy 40.566933 44.45)
+        (xy 40.554043 44.454188)
+        (xy 40.551 44.458377)
+        (xy 40.551 44.960266)
+        (xy 40.297 44.960266)
+        (xy 40.297 44.465933)
+        (xy 40.292812 44.453043)
+        (xy 40.288623 44.45)
+        (xy 39.786734 44.45)
+        (xy 39.773844 44.454188)
+        (xy 39.770801 44.458377)
+        (xy 39.770801 44.577752)
+        (xy 39.4777 44.577752)
+        (xy 39.4777 44.06426)
+        (xy 39.476415 44.056143)
+        (xy 39.463039 43.971695)
+        (xy 39.463039 43.971694)
+        (xy 39.4618 43.963873)
+        (xy 39.458206 43.95682)
+        (xy 39.458205 43.956816)
+        (xy 39.403744 43.849931)
+        (xy 39.400149 43.842875)
+        (xy 39.304125 43.746851)
+        (xy 39.214009 43.700935)
+        (xy 39.170045 43.656972)
+        (xy 39.160318 43.595563)
+        (xy 39.188545 43.540165)
+        (xy 39.243942 43.511939)
+        (xy 39.25968 43.5107)
+        (xy 39.98942 43.5107)
+        (xy 40.048551 43.529913)
+        (xy 40.085096 43.580213)
+        (xy 40.085096 43.642387)
+        (xy 40.048551 43.692687)
+        (xy 40.035091 43.700935)
+        (xy 39.951229 43.743665)
+        (xy 39.938574 43.752859)
+        (xy 39.853859 43.837574)
+        (xy 39.844665 43.850229)
+        (xy 39.790276 43.956974)
+        (xy 39.785442 43.97185)
+        (xy 39.77142 44.060384)
+        (xy 39.7708 44.068256)
+        (xy 39.7708 44.180067)
+        (xy 39.774988 44.192957)
+        (xy 39.779177 44.196)
+        (xy 41.061266 44.196)
+        (xy 41.074156 44.191812)
+        (xy 41.077199 44.187623)
+        (xy 41.077199 44.068248)
+        (xy 41.076582 44.060399)
+        (xy 41.062558 43.97185)
+        (xy 41.057723 43.956971)
+        (xy 41.003335 43.850229)
+        (xy 40.994141 43.837574)
+        (xy 40.909426 43.752859)
+        (xy 40.896771 43.743665)
+        (xy 40.812909 43.700935)
+        (xy 40.768945 43.656971)
+        (xy 40.759219 43.595563)
+        (xy 40.787445 43.540165)
+        (xy 40.842843 43.511939)
+        (xy 40.85858 43.5107)
+        (xy 41.8343 43.5107)
+        (xy 41.893431 43.529913)
+        (xy 41.929976 43.580213)
+        (xy 41.9349 43.6113)
+        (xy 41.9349 53.9247)
+        (xy 41.915687 53.983831)
+        (xy 41.865387 54.020376)
+        (xy 41.8343 54.0253)
+        (xy 27.2283 54.0253)
+        (xy 27.169169 54.006087)
+        (xy 27.132624 53.955787)
+        (xy 27.1277 53.9247)
+        (xy 27.1277 53.22853)
+        (xy 27.462521 53.22853)
+        (xy 27.486644 53.329011)
+        (xy 27.490846 53.34031)
+        (xy 27.563345 53.480774)
+        (xy 27.570108 53.490726)
+        (xy 27.674024 53.609848)
+        (xy 27.682975 53.617907)
+        (xy 27.812299 53.708797)
+        (xy 27.822914 53.714489)
+        (xy 27.970181 53.771905)
+        (xy 27.981856 53.774902)
+        (xy 28.102385 53.790771)
+        (xy 28.108935 53.7912)
+        (xy 28.559067 53.7912)
+        (xy 28.571957 53.787012)
+        (xy 28.575 53.782823)
+        (xy 28.575 53.775267)
+        (xy 28.829 53.775267)
+        (xy 28.833188 53.788157)
+        (xy 28.837377 53.7912)
+        (xy 29.291659 53.7912)
+        (xy 29.297687 53.790836)
+        (xy 29.414947 53.776647)
+        (xy 29.426639 53.773775)
+        (xy 29.574515 53.717898)
+        (xy 29.585177 53.712324)
+        (xy 29.715454 53.622785)
+        (xy 29.724483 53.614825)
+        (xy 29.829638 53.496803)
+        (xy 29.836511 53.486914)
+        (xy 29.910479 53.347212)
+        (xy 29.914793 53.335974)
+        (xy 29.941297 53.230454)
+        (xy 29.941166 53.22853)
+        (xy 31.642521 53.22853)
+        (xy 31.666644 53.329011)
+        (xy 31.670846 53.34031)
+        (xy 31.743345 53.480774)
+        (xy 31.750108 53.490726)
+        (xy 31.854024 53.609848)
+        (xy 31.862975 53.617907)
+        (xy 31.992299 53.708797)
+        (xy 32.002914 53.714489)
+        (xy 32.150181 53.771905)
+        (xy 32.161856 53.774902)
+        (xy 32.282385 53.790771)
+        (xy 32.288935 53.7912)
+        (xy 32.739067 53.7912)
+        (xy 32.751957 53.787012)
+        (xy 32.755 53.782823)
+        (xy 32.755 53.775267)
+        (xy 33.009 53.775267)
+        (xy 33.013188 53.788157)
+        (xy 33.017377 53.7912)
+        (xy 33.471659 53.7912)
+        (xy 33.477687 53.790836)
+        (xy 33.594947 53.776647)
+        (xy 33.606639 53.773775)
+        (xy 33.754515 53.717898)
+        (xy 33.765177 53.712324)
+        (xy 33.895454 53.622785)
+        (xy 33.904483 53.614825)
+        (xy 34.009638 53.496803)
+        (xy 34.016511 53.486914)
+        (xy 34.090479 53.347212)
+        (xy 34.094793 53.335974)
+        (xy 34.121297 53.230454)
+        (xy 34.120429 53.217714)
+        (xy 34.110996 53.215)
+        (xy 33.024933 53.215)
+        (xy 33.012043 53.219188)
+        (xy 33.009 53.223377)
+        (xy 33.009 53.775267)
+        (xy 32.755 53.775267)
+        (xy 32.755 53.230933)
+        (xy 32.750812 53.218043)
+        (xy 32.746623 53.215)
+        (xy 31.655206 53.215)
+        (xy 31.642896 53.219)
+        (xy 31.642521 53.22853)
+        (xy 29.941166 53.22853)
+        (xy 29.940429 53.217714)
+        (xy 29.930996 53.215)
+        (xy 28.844933 53.215)
+        (xy 28.832043 53.219188)
+        (xy 28.829 53.223377)
+        (xy 28.829 53.775267)
+        (xy 28.575 53.775267)
+        (xy 28.575 53.230933)
+        (xy 28.570812 53.218043)
+        (xy 28.566623 53.215)
+        (xy 27.475206 53.215)
+        (xy 27.462896 53.219)
+        (xy 27.462521 53.22853)
+        (xy 27.1277 53.22853)
+        (xy 27.1277 52.945546)
+        (xy 27.462703 52.945546)
+        (xy 27.463571 52.958286)
+        (xy 27.473004 52.961)
+        (xy 28.559067 52.961)
+        (xy 28.571957 52.956812)
+        (xy 28.575 52.952623)
+        (xy 28.575 52.945067)
+        (xy 28.829 52.945067)
+        (xy 28.833188 52.957957)
+        (xy 28.837377 52.961)
+        (xy 29.928794 52.961)
+        (xy 29.941104 52.957)
+        (xy 29.941479 52.94747)
+        (xy 29.917356 52.846989)
+        (xy 29.913154 52.83569)
+        (xy 29.840655 52.695226)
+        (xy 29.833892 52.685274)
+        (xy 29.729976 52.566152)
+        (xy 29.721025 52.558093)
+        (xy 29.591701 52.467203)
+        (xy 29.581086 52.461511)
+        (xy 29.433819 52.404095)
+        (xy 29.422144 52.401098)
+        (xy 29.301615 52.385229)
+        (xy 29.295065 52.3848)
+        (xy 28.844933 52.3848)
+        (xy 28.832043 52.388988)
+        (xy 28.829 52.393177)
+        (xy 28.829 52.945067)
+        (xy 28.575 52.945067)
+        (xy 28.575 52.400733)
+        (xy 28.570812 52.387843)
+        (xy 28.566623 52.3848)
+        (xy 28.112341 52.3848)
+        (xy 28.106313 52.385164)
+        (xy 27.989053 52.399353)
+        (xy 27.977361 52.402225)
+        (xy 27.829485 52.458102)
+        (xy 27.818823 52.463676)
+        (xy 27.688546 52.553215)
+        (xy 27.679517 52.561175)
+        (xy 27.574362 52.679197)
+        (xy 27.567489 52.689086)
+        (xy 27.493521 52.828788)
+        (xy 27.489207 52.840026)
+        (xy 27.462703 52.945546)
+        (xy 27.1277 52.945546)
+        (xy 27.1277 44.58853)
+        (xy 27.462521 44.58853)
+        (xy 27.486644 44.689011)
+        (xy 27.490846 44.70031)
+        (xy 27.563345 44.840774)
+        (xy 27.570108 44.850726)
+        (xy 27.674024 44.969848)
+        (xy 27.682975 44.977907)
+        (xy 27.812299 45.068797)
+        (xy 27.822914 45.074489)
+        (xy 27.970181 45.131905)
+        (xy 27.981856 45.134902)
+        (xy 28.102385 45.150771)
+        (xy 28.108935 45.1512)
+        (xy 28.559067 45.1512)
+        (xy 28.571957 45.147012)
+        (xy 28.575 45.142823)
+        (xy 28.575 45.135267)
+        (xy 28.829 45.135267)
+        (xy 28.833188 45.148157)
+        (xy 28.837377 45.1512)
+        (xy 29.291659 45.1512)
+        (xy 29.297687 45.150836)
+        (xy 29.414947 45.136647)
+        (xy 29.426639 45.133775)
+        (xy 29.574515 45.077898)
+        (xy 29.585177 45.072324)
+        (xy 29.715454 44.982785)
+        (xy 29.724483 44.974825)
+        (xy 29.829638 44.856803)
+        (xy 29.836511 44.846914)
+        (xy 29.910479 44.707212)
+        (xy 29.914793 44.695974)
+        (xy 29.941297 44.590454)
+        (xy 29.940429 44.577714)
+        (xy 29.930996 44.575)
+        (xy 28.844933 44.575)
+        (xy 28.832043 44.579188)
+        (xy 28.829 44.583377)
+        (xy 28.829 45.135267)
+        (xy 28.575 45.135267)
+        (xy 28.575 44.590933)
+        (xy 28.570812 44.578043)
+        (xy 28.566623 44.575)
+        (xy 27.475206 44.575)
+        (xy 27.462896 44.579)
+        (xy 27.462521 44.58853)
+        (xy 27.1277 44.58853)
+        (xy 27.1277 44.305546)
+        (xy 27.462703 44.305546)
+        (xy 27.463571 44.318286)
+        (xy 27.473004 44.321)
+        (xy 28.559067 44.321)
+        (xy 28.571957 44.316812)
+        (xy 28.575 44.312623)
+        (xy 28.575 44.305067)
+        (xy 28.829 44.305067)
+        (xy 28.833188 44.317957)
+        (xy 28.837377 44.321)
+        (xy 29.928794 44.321)
+        (xy 29.941104 44.317)
+        (xy 29.941479 44.30747)
+        (xy 29.941017 44.305546)
+        (xy 31.642703 44.305546)
+        (xy 31.643571 44.318286)
+        (xy 31.653004 44.321)
+        (xy 32.739067 44.321)
+        (xy 32.751957 44.316812)
+        (xy 32.755 44.312623)
+        (xy 32.755 44.305067)
+        (xy 33.009 44.305067)
+        (xy 33.013188 44.317957)
+        (xy 33.017377 44.321)
+        (xy 34.108794 44.321)
+        (xy 34.121104 44.317)
+        (xy 34.121479 44.30747)
+        (xy 34.097356 44.206989)
+        (xy 34.093154 44.19569)
+        (xy 34.020655 44.055226)
+        (xy 34.013892 44.045274)
+        (xy 33.909976 43.926152)
+        (xy 33.901025 43.918093)
+        (xy 33.771701 43.827203)
+        (xy 33.761086 43.821511)
+        (xy 33.613819 43.764095)
+        (xy 33.602144 43.761098)
+        (xy 33.481615 43.745229)
+        (xy 33.475065 43.7448)
+        (xy 33.024933 43.7448)
+        (xy 33.012043 43.748988)
+        (xy 33.009 43.753177)
+        (xy 33.009 44.305067)
+        (xy 32.755 44.305067)
+        (xy 32.755 43.760733)
+        (xy 32.750812 43.747843)
+        (xy 32.746623 43.7448)
+        (xy 32.292341 43.7448)
+        (xy 32.286313 43.745164)
+        (xy 32.169053 43.759353)
+        (xy 32.157361 43.762225)
+        (xy 32.009485 43.818102)
+        (xy 31.998823 43.823676)
+        (xy 31.868546 43.913215)
+        (xy 31.859517 43.921175)
+        (xy 31.754362 44.039197)
+        (xy 31.747489 44.049086)
+        (xy 31.673521 44.188788)
+        (xy 31.669207 44.200026)
+        (xy 31.642703 44.305546)
+        (xy 29.941017 44.305546)
+        (xy 29.917356 44.206989)
+        (xy 29.913154 44.19569)
+        (xy 29.840655 44.055226)
+        (xy 29.833892 44.045274)
+        (xy 29.729976 43.926152)
+        (xy 29.721025 43.918093)
+        (xy 29.591701 43.827203)
+        (xy 29.581086 43.821511)
+        (xy 29.433819 43.764095)
+        (xy 29.422144 43.761098)
+        (xy 29.301615 43.745229)
+        (xy 29.295065 43.7448)
+        (xy 28.844933 43.7448)
+        (xy 28.832043 43.748988)
+        (xy 28.829 43.753177)
+        (xy 28.829 44.305067)
+        (xy 28.575 44.305067)
+        (xy 28.575 43.760733)
+        (xy 28.570812 43.747843)
+        (xy 28.566623 43.7448)
+        (xy 28.112341 43.7448)
+        (xy 28.106313 43.745164)
+        (xy 27.989053 43.759353)
+        (xy 27.977361 43.762225)
+        (xy 27.829485 43.818102)
+        (xy 27.818823 43.823676)
+        (xy 27.688546 43.913215)
+        (xy 27.679517 43.921175)
+        (xy 27.574362 44.039197)
+        (xy 27.567489 44.049086)
+        (xy 27.493521 44.188788)
+        (xy 27.489207 44.200026)
+        (xy 27.462703 44.305546)
+        (xy 27.1277 44.305546)
+        (xy 27.1277 43.6113)
+        (xy 27.146913 43.552169)
+        (xy 27.197213 43.515624)
+        (xy 27.2283 43.5107)
+        (xy 35.21332 43.5107)
+      )
+    )
+    (filled_polygon
+      (layer "F.Cu")
+      (pts
+        (xy 36.872451 43.529913)
+        (xy 36.908996 43.580213)
+        (xy 36.908996 43.642387)
+        (xy 36.872451 43.692687)
+        (xy 36.858991 43.700935)
+        (xy 36.768875 43.746851)
+        (xy 36.672851 43.842875)
+        (xy 36.669256 43.849931)
+        (xy 36.614795 43.956816)
+        (xy 36.614794 43.95682)
+        (xy 36.6112 43.963873)
+        (xy 36.609961 43.971694)
+        (xy 36.609961 43.971695)
+        (xy 36.596586 44.056143)
+        (xy 36.5953 44.06426)
+        (xy 36.5953 44.58174)
+        (xy 36.595919 44.585645)
+        (xy 36.595919 44.585651)
+        (xy 36.609961 44.674305)
+        (xy 36.6112 44.682127)
+        (xy 36.614794 44.68918)
+        (xy 36.614795 44.689184)
+        (xy 36.658023 44.774022)
+        (xy 36.672851 44.803125)
+        (xy 36.768875 44.899149)
+        (xy 36.775931 44.902744)
+        (xy 36.882816 44.957205)
+        (xy 36.88282 44.957206)
+        (xy 36.889873 44.9608)
+        (xy 36.897694 44.962039)
+        (xy 36.897695 44.962039)
+        (xy 36.986349 44.976081)
+        (xy 36.986355 44.976081)
+        (xy 36.99026 44.9767)
+        (xy 37.50774 44.9767)
+        (xy 37.511645 44.976081)
+        (xy 37.511651 44.976081)
+        (xy 37.600305 44.962039)
+        (xy 37.600306 44.962039)
+        (xy 37.608127 44.9608)
+        (xy 37.61518 44.957206)
+        (xy 37.615184 44.957205)
+        (xy 37.722069 44.902744)
+        (xy 37.729125 44.899149)
+        (xy 37.825149 44.803125)
+        (xy 37.873297 44.708629)
+        (xy 37.91726 44.664665)
+        (xy 37.962932 44.6537)
+        (xy 38.110068 44.6537)
+        (xy 38.169199 44.672913)
+        (xy 38.199703 44.708629)
+        (xy 38.247851 44.803125)
+        (xy 38.326758 44.882032)
+        (xy 38.354984 44.93743)
+        (xy 38.345258 44.998838)
+        (xy 38.301294 45.042802)
+        (xy 38.268754 45.052906)
+        (xy 38.217847 45.059608)
+        (xy 38.217845 45.059608)
+        (xy 38.211309 45.060469)
+        (xy 38.078342 45.115545)
+        (xy 38.035841 45.148157)
+        (xy 37.977224 45.193136)
+        (xy 37.96416 45.20316)
+        (xy 37.876545 45.317342)
+        (xy 37.821469 45.450309)
+        (xy 37.820608 45.456845)
+        (xy 37.820608 45.456847)
+        (xy 37.804989 45.575487)
+        (xy 37.802683 45.593)
+        (xy 37.805938 45.617722)
+        (xy 37.794606 45.678855)
+        (xy 37.777333 45.701986)
+        (xy 37.770878 45.708441)
+        (xy 37.71548 45.736667)
+        (xy 37.654072 45.726941)
+        (xy 37.650352 45.724684)
+        (xy 37.647841 45.722177)
+        (xy 37.531583 45.665349)
+        (xy 37.501312 45.660933)
+        (xy 37.459453 45.654826)
+        (xy 37.459446 45.654826)
+        (xy 37.455844 45.6543)
+        (xy 35.352156 45.6543)
+        (xy 35.320309 45.658988)
+        (xy 35.283494 45.664407)
+        (xy 35.283493 45.664407)
+        (xy 35.275758 45.665546)
+        (xy 35.268742 45.668991)
+        (xy 35.268741 45.668991)
+        (xy 35.167064 45.718912)
+        (xy 35.167062 45.718913)
+        (xy 35.1596 45.722577)
+        (xy 35.153726 45.728461)
+        (xy 35.153725 45.728462)
+        (xy 35.074049 45.808276)
+        (xy 35.074047 45.808279)
+        (xy 35.068177 45.814159)
+        (xy 35.064528 45.821624)
+        (xy 35.064526 45.821627)
+        (xy 35.053905 45.843356)
+        (xy 35.011349 45.930417)
+        (xy 35.010222 45.938144)
+        (xy 35.002207 45.993086)
+        (xy 35.0003 46.006156)
+        (xy 35.0003 46.449844)
+        (xy 35.011546 46.526242)
+        (xy 35.014991 46.533258)
+        (xy 35.014991 46.533259)
+        (xy 35.06402 46.633118)
+        (xy 35.068577 46.6424)
+        (xy 35.074461 46.648274)
+        (xy 35.074462 46.648275)
+        (xy 35.154276 46.727951)
+        (xy 35.154279 46.727953)
+        (xy 35.160159 46.733823)
+        (xy 35.167626 46.737473)
+        (xy 35.167629 46.737475)
+        (xy 35.23948 46.772596)
+        (xy 35.284167 46.815824)
+        (xy 35.294911 46.877063)
+        (xy 35.267607 46.932921)
+        (xy 35.239639 46.953279)
+        (xy 35.182854 46.98116)
+        (xy 35.1596 46.992577)
+        (xy 35.153726 46.998461)
+        (xy 35.153725 46.998462)
+        (xy 35.074049 47.078276)
+        (xy 35.074047 47.078279)
+        (xy 35.068177 47.084159)
+        (xy 35.064528 47.091624)
+        (xy 35.064526 47.091627)
+        (xy 35.041537 47.138658)
+        (xy 35.011349 47.200417)
+        (xy 35.010222 47.208144)
+        (xy 35.000831 47.272517)
+        (xy 35.0003 47.276156)
+        (xy 35.0003 47.58694)
+        (xy 34.981087 47.646071)
+        (xy 34.930787 47.682616)
+        (xy 34.888802 47.683719)
+        (xy 34.888557 47.686521)
+        (xy 34.879791 47.685754)
+        (xy 34.871289 47.683476)
+        (xy 34.862521 47.684243)
+        (xy 34.853753 47.683476)
+        (xy 34.854092 47.679597)
+        (xy 34.810357 47.669431)
+        (xy 34.769638 47.622446)
+        (xy 34.7617 47.583278)
+        (xy 34.7617 47.347936)
+        (xy 34.749881 47.28852)
+        (xy 34.753762 47.287748)
+        (xy 34.750599 47.247623)
+        (xy 34.749881 47.24748)
+        (xy 34.750387 47.244935)
+        (xy 34.7617 47.188064)
+        (xy 34.7617 46.847936)
+        (xy 34.749881 46.78852)
+        (xy 34.744839 46.780974)
+        (xy 34.740003 46.719515)
+        (xy 34.744588 46.705402)
+        (xy 34.749881 46.69748)
+        (xy 34.7617 46.638064)
+        (xy 34.7617 45.997936)
+        (xy 34.749881 45.93852)
+        (xy 34.753542 45.937792)
+        (xy 34.750363 45.897475)
+        (xy 34.74941 45.897285)
+        (xy 34.750082 45.893908)
+        (xy 34.750078 45.893862)
+        (xy 34.750111 45.89376)
+        (xy 34.760235 45.842864)
+        (xy 34.7612 45.833068)
+        (xy 34.7612 45.660933)
+        (xy 34.757012 45.648043)
+        (xy 34.752823 45.645)
+        (xy 33.8066 45.645)
+        (xy 33.747469 45.625787)
+        (xy 33.710924 45.575487)
+        (xy 33.706 45.5444)
+        (xy 33.706 45.4916)
+        (xy 33.725213 45.432469)
+        (xy 33.775513 45.395924)
+        (xy 33.8066 45.391)
+        (xy 34.745267 45.391)
+        (xy 34.758157 45.386812)
+        (xy 34.7612 45.382623)
+        (xy 34.7612 45.202932)
+        (xy 34.760235 45.193136)
+        (xy 34.751343 45.148435)
+        (xy 34.743555 45.129633)
+        (xy 34.738676 45.06765)
+        (xy 34.771161 45.014637)
+        (xy 34.828602 44.990843)
+        (xy 34.849628 44.991394)
+        (xy 34.91846 45.000456)
+        (xy 34.925 45.001317)
+        (xy 34.93154 45.000456)
+        (xy 35.061153 44.983392)
+        (xy 35.061155 44.983392)
+        (xy 35.067691 44.982531)
+        (xy 35.082976 44.9762)
+        (xy 35.170923 44.939772)
+        (xy 35.232906 44.934894)
+        (xy 35.255093 44.943079)
+        (xy 35.282818 44.957206)
+        (xy 35.282821 44.957207)
+        (xy 35.289873 44.9608)
+        (xy 35.297691 44.962038)
+        (xy 35.297693 44.962039)
+        (xy 35.386349 44.976081)
+        (xy 35.386355 44.976081)
+        (xy 35.39026 44.9767)
+        (xy 35.90774 44.9767)
+        (xy 35.911645 44.976081)
+        (xy 35.911651 44.976081)
+        (xy 36.000305 44.962039)
+        (xy 36.000306 44.962039)
+        (xy 36.008127 44.9608)
+        (xy 36.01518 44.957206)
+        (xy 36.015184 44.957205)
+        (xy 36.122069 44.902744)
+        (xy 36.129125 44.899149)
+        (xy 36.225149 44.803125)
+        (xy 36.239977 44.774022)
+        (xy 36.283205 44.689184)
+        (xy 36.283206 44.68918)
+        (xy 36.2868 44.682127)
+        (xy 36.288039 44.674305)
+        (xy 36.302081 44.585651)
+        (xy 36.302081 44.585645)
+        (xy 36.3027 44.58174)
+        (xy 36.3027 44.06426)
+        (xy 36.301415 44.056143)
+        (xy 36.288039 43.971695)
+        (xy 36.288039 43.971694)
+        (xy 36.2868 43.963873)
+        (xy 36.283206 43.95682)
+        (xy 36.283205 43.956816)
+        (xy 36.228744 43.849931)
+        (xy 36.225149 43.842875)
+        (xy 36.129125 43.746851)
+        (xy 36.039009 43.700935)
+        (xy 35.995045 43.656972)
+        (xy 35.985318 43.595563)
+        (xy 36.013545 43.540165)
+        (xy 36.068942 43.511939)
+        (xy 36.08468 43.5107)
+        (xy 36.81332 43.5107)
+      )
+    )
+  )
+  (zone (net 11) (net_name "GND") (layer "B.Cu") (tstamp 7c289ea3-a8eb-4bf9-bc4d-6cc10ec3f1c3) (hatch edge 0.508)
+    (connect_pads (clearance 0.2032))
+    (min_thickness 0.2032) (filled_areas_thickness no)
+    (fill yes (thermal_gap 0.2032) (thermal_bridge_width 0.254))
+    (polygon
+      (pts
+        (xy 42.164 54.229)
+        (xy 26.924 54.229)
+        (xy 26.924 43.307)
+        (xy 42.164 43.307)
+      )
+    )
+    (filled_polygon
+      (layer "B.Cu")
+      (pts
+        (xy 41.893431 43.529913)
+        (xy 41.929976 43.580213)
+        (xy 41.9349 43.6113)
+        (xy 41.9349 53.9247)
+        (xy 41.915687 53.983831)
+        (xy 41.865387 54.020376)
+        (xy 41.8343 54.0253)
+        (xy 41.004462 54.0253)
+        (xy 40.945331 54.006087)
+        (xy 40.908786 53.955787)
+        (xy 40.908786 53.893613)
+        (xy 40.942674 53.846968)
+        (xy 40.942106 53.846337)
+        (xy 40.945073 53.843665)
+        (xy 40.945327 53.843316)
+        (xy 40.946021 53.842812)
+        (xy 40.946025 53.842809)
+        (xy 40.950291 53.839709)
+        (xy 41.05997 53.717898)
+        (xy 41.064728 53.712614)
+        (xy 41.064729 53.712612)
+        (xy 41.06826 53.708691)
+        (xy 41.156411 53.556009)
+        (xy 41.210891 53.388336)
+        (xy 41.215214 53.347212)
+        (xy 41.228769 53.218242)
+        (xy 41.22932 53.213)
+        (xy 41.210891 53.037664)
+        (xy 41.209262 53.03265)
+        (xy 41.182936 52.951626)
+        (xy 41.182936 52.889451)
+        (xy 41.219481 52.839152)
+        (xy 41.263964 52.821011)
+        (xy 41.268716 52.820312)
+        (xy 41.280309 52.818606)
+        (xy 41.280311 52.818605)
+        (xy 41.288045 52.817467)
+        (xy 41.365529 52.779424)
+        (xy 41.38628 52.769236)
+        (xy 41.386281 52.769235)
+        (xy 41.393744 52.765571)
+        (xy 41.476934 52.682235)
+        (xy 41.528646 52.576445)
+        (xy 41.538169 52.511167)
+        (xy 41.538174 52.511136)
+        (xy 41.538174 52.511129)
+        (xy 41.5387 52.507527)
+        (xy 41.538699 52.140474)
+        (xy 41.528467 52.070955)
+        (xy 41.476571 51.965256)
+        (xy 41.469901 51.958597)
+        (xy 41.41838 51.907167)
+        (xy 41.393235 51.882066)
+        (xy 41.287445 51.830354)
+        (xy 41.260779 51.826464)
+        (xy 41.222136 51.820826)
+        (xy 41.222129 51.820826)
+        (xy 41.218527 51.8203)
+        (xy 40.449692 51.8203)
+        (xy 39.673474 51.820301)
+        (xy 39.603955 51.830533)
+        (xy 39.556159 51.854)
+        (xy 39.50572 51.878764)
+        (xy 39.505719 51.878765)
+        (xy 39.498256 51.882429)
+        (xy 39.415066 51.965765)
+        (xy 39.363354 52.071555)
+        (xy 39.362227 52.079282)
+        (xy 39.353831 52.136835)
+        (xy 39.3533 52.140473)
+        (xy 39.353301 52.507526)
+        (xy 39.363533 52.577045)
+        (xy 39.366979 52.584063)
+        (xy 39.402009 52.65541)
+        (xy 39.415429 52.682744)
+        (xy 39.498765 52.765934)
+        (xy 39.506231 52.769583)
+        (xy 39.506233 52.769585)
+        (xy 39.550257 52.791104)
+        (xy 39.594944 52.834333)
+        (xy 39.605687 52.895572)
+        (xy 39.601754 52.912571)
+        (xy 39.586019 52.961)
+        (xy 39.561109 53.037664)
+        (xy 39.54268 53.213)
+        (xy 39.543231 53.218242)
+        (xy 39.556787 53.347212)
+        (xy 39.561109 53.388336)
+        (xy 39.615589 53.556009)
+        (xy 39.70374 53.708691)
+        (xy 39.707271 53.712612)
+        (xy 39.707272 53.712614)
+        (xy 39.71203 53.717898)
+        (xy 39.821709 53.839709)
+        (xy 39.825975 53.842809)
+        (xy 39.825979 53.842812)
+        (xy 39.826673 53.843316)
+        (xy 39.826927 53.843665)
+        (xy 39.829894 53.846337)
+        (xy 39.829326 53.846968)
+        (xy 39.863216 53.893617)
+        (xy 39.863213 53.955792)
+        (xy 39.826665 54.00609)
+        (xy 39.767538 54.0253)
+        (xy 38.464462 54.0253)
+        (xy 38.405331 54.006087)
+        (xy 38.368786 53.955787)
+        (xy 38.368786 53.893613)
+        (xy 38.402674 53.846968)
+        (xy 38.402106 53.846337)
+        (xy 38.405073 53.843665)
+        (xy 38.405327 53.843316)
+        (xy 38.406021 53.842812)
+        (xy 38.406025 53.842809)
+        (xy 38.410291 53.839709)
+        (xy 38.51997 53.717898)
+        (xy 38.524728 53.712614)
+        (xy 38.524729 53.712612)
+        (xy 38.52826 53.708691)
+        (xy 38.616411 53.556009)
+        (xy 38.670891 53.388336)
+        (xy 38.675214 53.347212)
+        (xy 38.688769 53.218242)
+        (xy 38.68932 53.213)
+        (xy 38.670891 53.037664)
+        (xy 38.616411 52.869991)
+        (xy 38.52826 52.717309)
+        (xy 38.517101 52.704915)
+        (xy 38.453428 52.6342)
+        (xy 38.410291 52.586291)
+        (xy 38.371267 52.557938)
+        (xy 38.334722 52.50764)
+        (xy 38.334721 52.445466)
+        (xy 38.359263 52.405417)
+        (xy 39.312582 51.452098)
+        (xy 39.36798 51.423872)
+        (xy 39.429388 51.433598)
+        (xy 39.45479 51.452036)
+        (xy 39.498765 51.495934)
+        (xy 39.506234 51.499585)
+        (xy 39.595638 51.543287)
+        (xy 39.604555 51.547646)
+        (xy 39.631221 51.551536)
+        (xy 39.669864 51.557174)
+        (xy 39.669871 51.557174)
+        (xy 39.673473 51.5577)
+        (xy 40.442308 51.5577)
+        (xy 41.218526 51.557699)
+        (xy 41.288045 51.547467)
+        (xy 41.367963 51.508229)
+        (xy 41.38628 51.499236)
+        (xy 41.386281 51.499235)
+        (xy 41.393744 51.495571)
+        (xy 41.406019 51.483275)
+        (xy 41.438304 51.450933)
+        (xy 41.476934 51.412235)
+        (xy 41.508687 51.347276)
+        (xy 41.525217 51.31346)
+        (xy 41.528646 51.306445)
+        (xy 41.533088 51.275997)
+        (xy 41.538174 51.241136)
+        (xy 41.538174 51.241129)
+        (xy 41.5387 51.237527)
+        (xy 41.538699 50.870474)
+        (xy 41.528467 50.800955)
+        (xy 41.494761 50.732305)
+        (xy 41.480236 50.70272)
+        (xy 41.480235 50.702719)
+        (xy 41.476571 50.695256)
+        (xy 41.463132 50.68184)
+        (xy 41.424875 50.643651)
+        (xy 41.393235 50.612066)
+        (xy 41.370922 50.601159)
+        (xy 41.29446 50.563783)
+        (xy 41.287445 50.560354)
+        (xy 41.260779 50.556464)
+        (xy 41.222136 50.550826)
+        (xy 41.222129 50.550826)
+        (xy 41.218527 50.5503)
+        (xy 40.449692 50.5503)
+        (xy 39.673474 50.550301)
+        (xy 39.603955 50.560533)
+        (xy 39.554996 50.584571)
+        (xy 39.50572 50.608764)
+        (xy 39.505719 50.608765)
+        (xy 39.498256 50.612429)
+        (xy 39.492379 50.618316)
+        (xy 39.492378 50.618317)
+        (xy 39.417055 50.693772)
+        (xy 39.361683 50.722048)
+        (xy 39.345858 50.7233)
+        (xy 39.261825 50.7233)
+        (xy 39.253058 50.722917)
+        (xy 39.250177 50.722665)
+        (xy 39.213733 50.719477)
+        (xy 39.179441 50.728665)
+        (xy 39.175604 50.729693)
+        (xy 39.167037 50.731592)
+        (xy 39.136814 50.736921)
+        (xy 39.136813 50.736921)
+        (xy 39.128149 50.738449)
+        (xy 39.12053 50.742848)
+        (xy 39.114957 50.744876)
+        (xy 39.109581 50.747383)
+        (xy 39.101083 50.74966)
+        (xy 39.068736 50.77231)
+        (xy 39.061336 50.777024)
+        (xy 39.054322 50.781073)
+        (xy 38.993506 50.793996)
+        (xy 38.936708 50.768705)
+        (xy 38.905624 50.714858)
+        (xy 38.904496 50.686131)
+        (xy 38.904456 50.686131)
+        (xy 38.904456 50.685122)
+        (xy 38.904287 50.680822)
+        (xy 38.905317 50.673)
+        (xy 38.902062 50.648279)
+        (xy 38.913391 50.587149)
+        (xy 38.930666 50.564014)
+        (xy 39.312582 50.182098)
+        (xy 39.36798 50.153872)
+        (xy 39.429388 50.163598)
+        (xy 39.45479 50.182036)
+        (xy 39.498765 50.225934)
+        (xy 39.604555 50.277646)
+        (xy 39.631221 50.281536)
+        (xy 39.669864 50.287174)
+        (xy 39.669871 50.287174)
+        (xy 39.673473 50.2877)
+        (xy 40.442308 50.2877)
+        (xy 41.218526 50.287699)
+        (xy 41.288045 50.277467)
+        (xy 41.339011 50.252444)
+        (xy 41.38628 50.229236)
+        (xy 41.386281 50.229235)
+        (xy 41.393744 50.225571)
+        (xy 41.419707 50.199563)
+        (xy 41.455608 50.163598)
+        (xy 41.476934 50.142235)
+        (xy 41.528646 50.036445)
+        (xy 41.53285 50.007627)
+        (xy 41.538174 49.971136)
+        (xy 41.538174 49.971129)
+        (xy 41.5387 49.967527)
+        (xy 41.538699 49.600474)
+        (xy 41.528467 49.530955)
+        (xy 41.490152 49.452917)
+        (xy 41.480236 49.43272)
+        (xy 41.480235 49.432719)
+        (xy 41.476571 49.425256)
+        (xy 41.460828 49.40954)
+        (xy 41.426026 49.3748)
+        (xy 41.393235 49.342066)
+        (xy 41.381951 49.33655)
+        (xy 41.29446 49.293783)
+        (xy 41.287445 49.290354)
+        (xy 41.260779 49.286464)
+        (xy 41.222136 49.280826)
+        (xy 41.222129 49.280826)
+        (xy 41.218527 49.2803)
+        (xy 40.449692 49.2803)
+        (xy 39.673474 49.280301)
+        (xy 39.603955 49.290533)
+        (xy 39.552989 49.315556)
+        (xy 39.50572 49.338764)
+        (xy 39.505719 49.338765)
+        (xy 39.498256 49.342429)
+        (xy 39.492379 49.348316)
+        (xy 39.492378 49.348317)
+        (xy 39.417055 49.423772)
+        (xy 39.361683 49.452048)
+        (xy 39.345858 49.4533)
+        (xy 39.261833 49.4533)
+        (xy 39.253065 49.452917)
+        (xy 39.222501 49.450243)
+        (xy 39.213733 49.449476)
+        (xy 39.205231 49.451754)
+        (xy 39.175608 49.459691)
+        (xy 39.167042 49.461591)
+        (xy 39.136813 49.466921)
+        (xy 39.136811 49.466922)
+        (xy 39.128149 49.468449)
+        (xy 39.120531 49.472847)
+        (xy 39.114957 49.474876)
+        (xy 39.109582 49.477383)
+        (xy 39.101084 49.47966)
+        (xy 39.093874 49.484709)
+        (xy 39.093873 49.484709)
+        (xy 39.068742 49.502305)
+        (xy 39.061345 49.507018)
+        (xy 39.054331 49.511068)
+        (xy 38.993516 49.523997)
+        (xy 38.936716 49.498712)
+        (xy 38.905626 49.444869)
+        (xy 38.904496 49.416131)
+        (xy 38.904456 49.416131)
+        (xy 38.904456 49.415117)
+        (xy 38.904287 49.410822)
+        (xy 38.905317 49.403)
+        (xy 38.902062 49.378279)
+        (xy 38.913391 49.317149)
+        (xy 38.930666 49.294014)
+        (xy 39.312582 48.912098)
+        (xy 39.36798 48.883872)
+        (xy 39.429388 48.893598)
+        (xy 39.45479 48.912036)
+        (xy 39.498765 48.955934)
+        (xy 39.506234 48.959585)
+        (xy 39.566842 48.989211)
+        (xy 39.604555 49.007646)
+        (xy 39.631221 49.011536)
+        (xy 39.669864 49.017174)
+        (xy 39.669871 49.017174)
+        (xy 39.673473 49.0177)
+        (xy 40.442308 49.0177)
+        (xy 41.218526 49.017699)
+        (xy 41.288045 49.007467)
+        (xy 41.339011 48.982444)
+        (xy 41.38628 48.959236)
+        (xy 41.386281 48.959235)
+        (xy 41.393744 48.955571)
+        (xy 41.403845 48.945453)
+        (xy 41.445342 48.903882)
+        (xy 41.476934 48.872235)
+        (xy 41.528646 48.766445)
+        (xy 41.532536 48.739779)
+        (xy 41.538174 48.701136)
+        (xy 41.538174 48.701129)
+        (xy 41.5387 48.697527)
+        (xy 41.538699 48.330474)
+        (xy 41.528467 48.260955)
+        (xy 41.490152 48.182917)
+        (xy 41.480236 48.16272)
+        (xy 41.480235 48.162719)
+        (xy 41.476571 48.155256)
+        (xy 41.460828 48.13954)
+        (xy 41.403099 48.081913)
+        (xy 41.393235 48.072066)
+        (xy 41.385766 48.068415)
+        (xy 41.29446 48.023783)
+        (xy 41.287445 48.020354)
+        (xy 41.260779 48.016464)
+        (xy 41.222136 48.010826)
+        (xy 41.222129 48.010826)
+        (xy 41.218527 48.0103)
+        (xy 40.449692 48.0103)
+        (xy 39.673474 48.010301)
+        (xy 39.603955 48.020533)
+        (xy 39.557778 48.043205)
+        (xy 39.50572 48.068764)
+        (xy 39.505719 48.068765)
+        (xy 39.498256 48.072429)
+        (xy 39.492379 48.078316)
+        (xy 39.492378 48.078317)
+        (xy 39.417055 48.153772)
+        (xy 39.361683 48.182048)
+        (xy 39.345858 48.1833)
+        (xy 39.261833 48.1833)
+        (xy 39.253065 48.182917)
+        (xy 39.222501 48.180243)
+        (xy 39.213733 48.179476)
+        (xy 39.205231 48.181754)
+        (xy 39.175608 48.189691)
+        (xy 39.167042 48.191591)
+        (xy 39.136813 48.196921)
+        (xy 39.136811 48.196922)
+        (xy 39.128149 48.198449)
+        (xy 39.120531 48.202847)
+        (xy 39.114957 48.204876)
+        (xy 39.109582 48.207383)
+        (xy 39.101084 48.20966)
+        (xy 39.093874 48.214709)
+        (xy 39.093873 48.214709)
+        (xy 39.068742 48.232305)
+        (xy 39.061345 48.237018)
+        (xy 39.054331 48.241068)
+        (xy 38.993516 48.253997)
+        (xy 38.936716 48.228712)
+        (xy 38.905626 48.174869)
+        (xy 38.904496 48.146131)
+        (xy 38.904456 48.146131)
+        (xy 38.904456 48.145117)
+        (xy 38.904287 48.140822)
+        (xy 38.905317 48.133)
+        (xy 38.902062 48.108279)
+        (xy 38.913391 48.047149)
+        (xy 38.930666 48.024014)
+        (xy 39.312582 47.642098)
+        (xy 39.36798 47.613872)
+        (xy 39.429388 47.623598)
+        (xy 39.45479 47.642036)
+        (xy 39.498765 47.685934)
+        (xy 39.604555 47.737646)
+        (xy 39.631221 47.741536)
+        (xy 39.669864 47.747174)
+        (xy 39.669871 47.747174)
+        (xy 39.673473 47.7477)
+        (xy 40.442308 47.7477)
+        (xy 41.218526 47.747699)
+        (xy 41.288045 47.737467)
+        (xy 41.365757 47.699312)
+        (xy 41.38628 47.689236)
+        (xy 41.386281 47.689235)
+        (xy 41.393744 47.685571)
+        (xy 41.419707 47.659563)
+        (xy 41.471061 47.608118)
+        (xy 41.476934 47.602235)
+        (xy 41.516656 47.520974)
+        (xy 41.525217 47.50346)
+        (xy 41.528646 47.496445)
+        (xy 41.5387 47.427527)
+        (xy 41.538699 47.060474)
+        (xy 41.528467 46.990955)
+        (xy 41.490152 46.912917)
+        (xy 41.480236 46.89272)
+        (xy 41.480235 46.892719)
+        (xy 41.476571 46.885256)
+        (xy 41.460828 46.86954)
+        (xy 41.399118 46.807939)
+        (xy 41.393235 46.802066)
+        (xy 41.385766 46.798415)
+        (xy 41.29446 46.753783)
+        (xy 41.287445 46.750354)
+        (xy 41.260779 46.746464)
+        (xy 41.222136 46.740826)
+        (xy 41.222129 46.740826)
+        (xy 41.218527 46.7403)
+        (xy 40.449692 46.7403)
+        (xy 39.673474 46.740301)
+        (xy 39.603955 46.750533)
+        (xy 39.595468 46.7547)
+        (xy 39.50572 46.798764)
+        (xy 39.505719 46.798765)
+        (xy 39.498256 46.802429)
+        (xy 39.492379 46.808316)
+        (xy 39.492378 46.808317)
+        (xy 39.417055 46.883772)
+        (xy 39.361683 46.912048)
+        (xy 39.345858 46.9133)
+        (xy 39.261833 46.9133)
+        (xy 39.253065 46.912917)
+        (xy 39.222501 46.910243)
+        (xy 39.213733 46.909476)
+        (xy 39.205231 46.911754)
+        (xy 39.175608 46.919691)
+        (xy 39.167042 46.921591)
+        (xy 39.136813 46.926921)
+        (xy 39.136811 46.926922)
+        (xy 39.128149 46.928449)
+        (xy 39.120531 46.932847)
+        (xy 39.114957 46.934876)
+        (xy 39.109582 46.937383)
+        (xy 39.101084 46.93966)
+        (xy 39.093874 46.944709)
+        (xy 39.093873 46.944709)
+        (xy 39.068742 46.962305)
+        (xy 39.061345 46.967018)
+        (xy 39.054331 46.971068)
+        (xy 38.993516 46.983997)
+        (xy 38.936716 46.958712)
+        (xy 38.905626 46.904869)
+        (xy 38.904496 46.876131)
+        (xy 38.904456 46.876131)
+        (xy 38.904456 46.875117)
+        (xy 38.904287 46.870822)
+        (xy 38.905317 46.863)
+        (xy 38.902062 46.838279)
+        (xy 38.913391 46.777149)
+        (xy 38.930666 46.754014)
+        (xy 39.312582 46.372098)
+        (xy 39.36798 46.343872)
+        (xy 39.429388 46.353598)
+        (xy 39.45479 46.372036)
+        (xy 39.498765 46.415934)
+        (xy 39.604555 46.467646)
+        (xy 39.631221 46.471536)
+        (xy 39.669864 46.477174)
+        (xy 39.669871 46.477174)
+        (xy 39.673473 46.4777)
+        (xy 40.442308 46.4777)
+        (xy 41.218526 46.477699)
+        (xy 41.288045 46.467467)
+        (xy 41.339011 46.442444)
+        (xy 41.38628 46.419236)
+        (xy 41.386281 46.419235)
+        (xy 41.393744 46.415571)
+        (xy 41.419707 46.389563)
+        (xy 41.471061 46.338118)
+        (xy 41.476934 46.332235)
+        (xy 41.528646 46.226445)
+        (xy 41.538053 46.161963)
+        (xy 41.538174 46.161136)
+        (xy 41.538174 46.161129)
+        (xy 41.5387 46.157527)
+        (xy 41.538699 45.790474)
+        (xy 41.528467 45.720955)
+        (xy 41.490152 45.642917)
+        (xy 41.480236 45.62272)
+        (xy 41.480235 45.622719)
+        (xy 41.476571 45.615256)
+        (xy 41.460828 45.59954)
+        (xy 41.424338 45.563115)
+        (xy 41.393235 45.532066)
+        (xy 41.37112 45.521256)
+        (xy 41.29446 45.483783)
+        (xy 41.287445 45.480354)
+        (xy 41.260779 45.476464)
+        (xy 41.222136 45.470826)
+        (xy 41.222129 45.470826)
+        (xy 41.218527 45.4703)
+        (xy 40.449692 45.4703)
+        (xy 39.673474 45.470301)
+        (xy 39.603955 45.480533)
+        (xy 39.572459 45.495997)
+        (xy 39.50572 45.528764)
+        (xy 39.505719 45.528765)
+        (xy 39.498256 45.532429)
+        (xy 39.492379 45.538316)
+        (xy 39.492378 45.538317)
+        (xy 39.417055 45.613772)
+        (xy 39.361683 45.642048)
+        (xy 39.345858 45.6433)
+        (xy 39.261833 45.6433)
+        (xy 39.253065 45.642917)
+        (xy 39.222501 45.640243)
+        (xy 39.213733 45.639476)
+        (xy 39.205231 45.641754)
+        (xy 39.175608 45.649691)
+        (xy 39.167042 45.651591)
+        (xy 39.136813 45.656921)
+        (xy 39.136811 45.656922)
+        (xy 39.128149 45.658449)
+        (xy 39.120531 45.662847)
+        (xy 39.114957 45.664876)
+        (xy 39.109582 45.667383)
+        (xy 39.101084 45.66966)
+        (xy 39.093874 45.674709)
+        (xy 39.093873 45.674709)
+        (xy 39.068742 45.692305)
+        (xy 39.061345 45.697018)
+        (xy 39.054331 45.701068)
+        (xy 38.993516 45.713997)
+        (xy 38.936716 45.688712)
+        (xy 38.905626 45.634869)
+        (xy 38.904496 45.606131)
+        (xy 38.904456 45.606131)
+        (xy 38.904456 45.605117)
+        (xy 38.904287 45.600822)
+        (xy 38.905317 45.593)
+        (xy 38.902062 45.568279)
+        (xy 38.913391 45.507149)
+        (xy 38.930666 45.484014)
+        (xy 39.312582 45.102098)
+        (xy 39.36798 45.073872)
+        (xy 39.429388 45.083598)
+        (xy 39.45479 45.102036)
+        (xy 39.498765 45.145934)
+        (xy 39.506234 45.149585)
+        (xy 39.558794 45.175277)
+        (xy 39.604555 45.197646)
+        (xy 39.631221 45.201536)
+        (xy 39.669864 45.207174)
+        (xy 39.669871 45.207174)
+        (xy 39.673473 45.2077)
+        (xy 40.442308 45.2077)
+        (xy 41.218526 45.207699)
+        (xy 41.288045 45.197467)
+        (xy 41.343088 45.170442)
+        (xy 41.38628 45.149236)
+        (xy 41.386281 45.149235)
+        (xy 41.393744 45.145571)
+        (xy 41.402653 45.136647)
+        (xy 41.465317 45.073872)
+        (xy 41.476934 45.062235)
+        (xy 41.528646 44.956445)
+        (xy 41.532536 44.929779)
+        (xy 41.538174 44.891136)
+        (xy 41.538174 44.891129)
+        (xy 41.5387 44.887527)
+        (xy 41.538699 44.520474)
+        (xy 41.528467 44.450955)
+        (xy 41.490152 44.372917)
+        (xy 41.480236 44.35272)
+        (xy 41.480235 44.352719)
+        (xy 41.476571 44.345256)
+        (xy 41.452273 44.321)
+        (xy 41.399118 44.267939)
+        (xy 41.393235 44.262066)
+        (xy 41.287445 44.210354)
+        (xy 41.257942 44.20605)
+        (xy 41.222136 44.200826)
+        (xy 41.222129 44.200826)
+        (xy 41.218527 44.2003)
+        (xy 40.449692 44.2003)
+        (xy 39.673474 44.200301)
+        (xy 39.603955 44.210533)
+        (xy 39.552989 44.235556)
+        (xy 39.50572 44.258764)
+        (xy 39.505719 44.258765)
+        (xy 39.498256 44.262429)
+        (xy 39.492379 44.268316)
+        (xy 39.492378 44.268317)
+        (xy 39.417055 44.343772)
+        (xy 39.361683 44.372048)
+        (xy 39.345858 44.3733)
+        (xy 39.261833 44.3733)
+        (xy 39.253065 44.372917)
+        (xy 39.222501 44.370243)
+        (xy 39.213733 44.369476)
+        (xy 39.205231 44.371754)
+        (xy 39.175608 44.379691)
+        (xy 39.167042 44.381591)
+        (xy 39.136813 44.386921)
+        (xy 39.136811 44.386922)
+        (xy 39.128149 44.388449)
+        (xy 39.120531 44.392847)
+        (xy 39.114957 44.394876)
+        (xy 39.109582 44.397383)
+        (xy 39.101084 44.39966)
+        (xy 39.093874 44.404709)
+        (xy 39.093873 44.404709)
+        (xy 39.068742 44.422305)
+        (xy 39.061343 44.427019)
+        (xy 39.034775 44.442359)
+        (xy 39.027151 44.446761)
+        (xy 39.021494 44.453503)
+        (xy 39.001768 44.477011)
+        (xy 38.995839 44.483481)
+        (xy 38.462986 45.016334)
+        (xy 38.407588 45.04456)
+        (xy 38.378724 45.044938)
+        (xy 38.354 45.041683)
+        (xy 38.34746 45.042544)
+        (xy 38.217847 45.059608)
+        (xy 38.217845 45.059608)
+        (xy 38.211309 45.060469)
+        (xy 38.078342 45.115545)
+        (xy 37.96416 45.20316)
+        (xy 37.876545 45.317342)
+        (xy 37.821469 45.450309)
+        (xy 37.820608 45.456845)
+        (xy 37.820608 45.456847)
+        (xy 37.805937 45.568282)
+        (xy 37.802683 45.593)
+        (xy 37.803544 45.59954)
+        (xy 37.816378 45.697018)
+        (xy 37.821469 45.735691)
+        (xy 37.876545 45.868658)
+        (xy 37.96416 45.98284)
+        (xy 37.969391 45.986854)
+        (xy 37.969392 45.986855)
+        (xy 38.071963 46.065561)
+        (xy 38.078341 46.070455)
+        (xy 38.211309 46.125531)
+        (xy 38.217845 46.126392)
+        (xy 38.217847 46.126392)
+        (xy 38.232045 46.128261)
+        (xy 38.288163 46.155028)
+        (xy 38.317829 46.209667)
+        (xy 38.309714 46.27131)
+        (xy 38.266916 46.316409)
+        (xy 38.232045 46.327739)
+        (xy 38.217847 46.329608)
+        (xy 38.217845 46.329608)
+        (xy 38.211309 46.330469)
+        (xy 38.078342 46.385545)
+        (xy 37.96416 46.47316)
+        (xy 37.876545 46.587342)
+        (xy 37.821469 46.720309)
+        (xy 37.820608 46.726845)
+        (xy 37.820608 46.726847)
+        (xy 37.81114 46.798764)
+        (xy 37.802683 46.863)
+        (xy 37.803544 46.86954)
+        (xy 37.816378 46.967018)
+        (xy 37.821469 47.005691)
+        (xy 37.876545 47.138658)
+        (xy 37.96416 47.25284)
+        (xy 38.078341 47.340455)
+        (xy 38.211309 47.395531)
+        (xy 38.217845 47.396392)
+        (xy 38.217847 47.396392)
+        (xy 38.232045 47.398261)
+        (xy 38.288163 47.425028)
+        (xy 38.317829 47.479667)
+        (xy 38.309714 47.54131)
+        (xy 38.266916 47.586409)
+        (xy 38.232045 47.597739)
+        (xy 38.217847 47.599608)
+        (xy 38.217845 47.599608)
+        (xy 38.211309 47.600469)
+        (xy 38.078342 47.655545)
+        (xy 37.96416 47.74316)
+        (xy 37.876545 47.857342)
+        (xy 37.821469 47.990309)
+        (xy 37.820608 47.996845)
+        (xy 37.820608 47.996847)
+        (xy 37.812413 48.059093)
+        (xy 37.802683 48.133)
+        (xy 37.803544 48.13954)
+        (xy 37.820567 48.268836)
+        (xy 37.821469 48.275691)
+        (xy 37.876545 48.408658)
+        (xy 37.96416 48.52284)
+        (xy 37.969391 48.526854)
+        (xy 37.969392 48.526855)
+        (xy 37.971462 48.528443)
+        (xy 38.078341 48.610455)
+        (xy 38.211309 48.665531)
+        (xy 38.217845 48.666392)
+        (xy 38.217847 48.666392)
+        (xy 38.232045 48.668261)
+        (xy 38.288163 48.695028)
+        (xy 38.317829 48.749667)
+        (xy 38.309714 48.81131)
+        (xy 38.266916 48.856409)
+        (xy 38.232045 48.867739)
+        (xy 38.217847 48.869608)
+        (xy 38.217845 48.869608)
+        (xy 38.211309 48.870469)
+        (xy 38.078342 48.925545)
+        (xy 37.96416 49.01316)
+        (xy 37.876545 49.127342)
+        (xy 37.821469 49.260309)
+        (xy 37.820608 49.266845)
+        (xy 37.820608 49.266847)
+        (xy 37.815396 49.306439)
+        (xy 37.802683 49.403)
+        (xy 37.803544 49.40954)
+        (xy 37.816378 49.507018)
+        (xy 37.821469 49.545691)
+        (xy 37.876545 49.678658)
+        (xy 37.96416 49.79284)
+        (xy 37.969391 49.796854)
+        (xy 37.969392 49.796855)
+        (xy 38.061816 49.867775)
+        (xy 38.078341 49.880455)
+        (xy 38.211309 49.935531)
+        (xy 38.217845 49.936392)
+        (xy 38.217847 49.936392)
+        (xy 38.232045 49.938261)
+        (xy 38.288163 49.965028)
+        (xy 38.317829 50.019667)
+        (xy 38.309714 50.08131)
+        (xy 38.266916 50.126409)
+        (xy 38.232045 50.137739)
+        (xy 38.217847 50.139608)
+        (xy 38.217845 50.139608)
+        (xy 38.211309 50.140469)
+        (xy 38.078342 50.195545)
+        (xy 37.96416 50.28316)
+        (xy 37.876545 50.397342)
+        (xy 37.821469 50.530309)
+        (xy 37.820608 50.536845)
+        (xy 37.820608 50.536847)
+        (xy 37.805937 50.648282)
+        (xy 37.802683 50.673)
+        (xy 37.803544 50.67954)
+        (xy 37.816558 50.778386)
+        (xy 37.821469 50.815691)
+        (xy 37.876545 50.948658)
+        (xy 37.96416 51.06284)
+        (xy 37.969391 51.066854)
+        (xy 37.969392 51.066855)
+        (xy 38.073111 51.146442)
+        (xy 38.078341 51.150455)
+        (xy 38.211309 51.205531)
+        (xy 38.217845 51.206392)
+        (xy 38.217847 51.206392)
+        (xy 38.34746 51.223456)
+        (xy 38.354 51.224317)
+        (xy 38.36054 51.223456)
+        (xy 38.362994 51.223456)
+        (xy 38.422125 51.242669)
+        (xy 38.45867 51.292969)
+        (xy 38.45867 51.355143)
+        (xy 38.434129 51.395191)
+        (xy 37.625481 52.203839)
+        (xy 37.619011 52.209768)
+        (xy 37.588761 52.235151)
+        (xy 37.58436 52.242774)
+        (xy 37.584359 52.242775)
+        (xy 37.569019 52.269343)
+        (xy 37.564305 52.276742)
+        (xy 37.546709 52.301873)
+        (xy 37.54166 52.309084)
+        (xy 37.539383 52.317582)
+        (xy 37.536876 52.322957)
+        (xy 37.534847 52.328531)
+        (xy 37.530449 52.336149)
+        (xy 37.528922 52.344811)
+        (xy 37.528921 52.344813)
+        (xy 37.523591 52.375042)
+        (xy 37.521694 52.383597)
+        (xy 37.517161 52.400517)
+        (xy 37.483301 52.452659)
+        (xy 37.460907 52.466383)
+        (xy 37.42434 52.482663)
+        (xy 37.385111 52.511165)
+        (xy 37.297758 52.574631)
+        (xy 37.281709 52.586291)
+        (xy 37.238572 52.6342)
+        (xy 37.1749 52.704915)
+        (xy 37.16374 52.717309)
+        (xy 37.075589 52.869991)
+        (xy 37.021109 53.037664)
+        (xy 37.00268 53.213)
+        (xy 37.003231 53.218242)
+        (xy 37.016787 53.347212)
+        (xy 37.021109 53.388336)
+        (xy 37.075589 53.556009)
+        (xy 37.16374 53.708691)
+        (xy 37.167271 53.712612)
+        (xy 37.167272 53.712614)
+        (xy 37.17203 53.717898)
+        (xy 37.281709 53.839709)
+        (xy 37.285975 53.842809)
+        (xy 37.285979 53.842812)
+        (xy 37.286673 53.843316)
+        (xy 37.286927 53.843665)
+        (xy 37.289894 53.846337)
+        (xy 37.289326 53.846968)
+        (xy 37.323216 53.893617)
+        (xy 37.323213 53.955792)
+        (xy 37.286665 54.00609)
+        (xy 37.227538 54.0253)
+        (xy 35.924462 54.0253)
+        (xy 35.865331 54.006087)
+        (xy 35.828786 53.955787)
+        (xy 35.828786 53.893613)
+        (xy 35.862674 53.846968)
+        (xy 35.862106 53.846337)
+        (xy 35.865073 53.843665)
+        (xy 35.865327 53.843316)
+        (xy 35.866021 53.842812)
+        (xy 35.866025 53.842809)
+        (xy 35.870291 53.839709)
+        (xy 35.97997 53.717898)
+        (xy 35.984728 53.712614)
+        (xy 35.984729 53.712612)
+        (xy 35.98826 53.708691)
+        (xy 36.076411 53.556009)
+        (xy 36.130891 53.388336)
+        (xy 36.135214 53.347212)
+        (xy 36.148769 53.218242)
+        (xy 36.14932 53.213)
+        (xy 36.130891 53.037664)
+        (xy 36.129262 53.03265)
+        (xy 36.090246 52.91257)
+        (xy 36.090246 52.850396)
+        (xy 36.126791 52.800096)
+        (xy 36.141585 52.79118)
+        (xy 36.18628 52.769236)
+        (xy 36.186281 52.769235)
+        (xy 36.193744 52.765571)
+        (xy 36.276934 52.682235)
+        (xy 36.328646 52.576445)
+        (xy 36.338169 52.511167)
+        (xy 36.338174 52.511136)
+        (xy 36.338174 52.511129)
+        (xy 36.3387 52.507527)
+        (xy 36.338699 52.140474)
+        (xy 36.328467 52.070955)
+        (xy 36.276571 51.965256)
+        (xy 36.269901 51.958597)
+        (xy 36.21838 51.907167)
+        (xy 36.193235 51.882066)
+        (xy 36.087445 51.830354)
+        (xy 36.060779 51.826464)
+        (xy 36.022136 51.820826)
+        (xy 36.022129 51.820826)
+        (xy 36.018527 51.8203)
+        (xy 35.249692 51.8203)
+        (xy 34.473474 51.820301)
+        (xy 34.403955 51.830533)
+        (xy 34.356159 51.854)
+        (xy 34.30572 51.878764)
+        (xy 34.305719 51.878765)
+        (xy 34.298256 51.882429)
+        (xy 34.215066 51.965765)
+        (xy 34.163354 52.071555)
+        (xy 34.162227 52.079282)
+        (xy 34.153831 52.136835)
+        (xy 34.1533 52.140473)
+        (xy 34.153301 52.507526)
+        (xy 34.153837 52.511165)
+        (xy 34.153837 52.511167)
+        (xy 34.163177 52.574631)
+        (xy 34.152779 52.63593)
+        (xy 34.108336 52.679409)
+        (xy 34.046824 52.688462)
+        (xy 33.98784 52.65541)
+        (xy 33.909979 52.566155)
+        (xy 33.901025 52.558093)
+        (xy 33.771701 52.467203)
+        (xy 33.761086 52.461511)
+        (xy 33.613819 52.404095)
+        (xy 33.602144 52.401098)
+        (xy 33.481615 52.385229)
+        (xy 33.475065 52.3848)
+        (xy 33.024933 52.3848)
+        (xy 33.012043 52.388988)
+        (xy 33.009 52.393177)
+        (xy 33.009 52.945067)
+        (xy 33.013188 52.957957)
+        (xy 33.017377 52.961)
+        (xy 34.108794 52.961)
+        (xy 34.121104 52.957)
+        (xy 34.121479 52.94747)
+        (xy 34.097356 52.846989)
+        (xy 34.091041 52.830008)
+        (xy 34.093862 52.828959)
+        (xy 34.085802 52.779424)
+        (xy 34.113795 52.723908)
+        (xy 34.169073 52.695448)
+        (xy 34.230522 52.704915)
+        (xy 34.256301 52.723544)
+        (xy 34.269531 52.736752)
+        (xy 34.292882 52.760062)
+        (xy 34.292884 52.760064)
+        (xy 34.298765 52.765934)
+        (xy 34.404555 52.817646)
+        (xy 34.427893 52.821051)
+        (xy 34.483629 52.848596)
+        (xy 34.512531 52.903644)
+        (xy 34.509046 52.951682)
+        (xy 34.481109 53.037664)
+        (xy 34.46268 53.213)
+        (xy 34.463231 53.218242)
+        (xy 34.476787 53.347212)
+        (xy 34.481109 53.388336)
+        (xy 34.535589 53.556009)
+        (xy 34.62374 53.708691)
+        (xy 34.627271 53.712612)
+        (xy 34.627272 53.712614)
+        (xy 34.63203 53.717898)
+        (xy 34.741709 53.839709)
+        (xy 34.745975 53.842809)
+        (xy 34.745979 53.842812)
+        (xy 34.746673 53.843316)
+        (xy 34.746927 53.843665)
+        (xy 34.749894 53.846337)
+        (xy 34.749326 53.846968)
+        (xy 34.783216 53.893617)
+        (xy 34.783213 53.955792)
+        (xy 34.746665 54.00609)
+        (xy 34.687538 54.0253)
+        (xy 27.2283 54.0253)
+        (xy 27.169169 54.006087)
+        (xy 27.132624 53.955787)
+        (xy 27.1277 53.9247)
+        (xy 27.1277 53.22853)
+        (xy 27.462521 53.22853)
+        (xy 27.486644 53.329011)
+        (xy 27.490846 53.34031)
+        (xy 27.563345 53.480774)
+        (xy 27.570108 53.490726)
+        (xy 27.674024 53.609848)
+        (xy 27.682975 53.617907)
+        (xy 27.812299 53.708797)
+        (xy 27.822914 53.714489)
+        (xy 27.970181 53.771905)
+        (xy 27.981856 53.774902)
+        (xy 28.102385 53.790771)
+        (xy 28.108935 53.7912)
+        (xy 28.559067 53.7912)
+        (xy 28.571957 53.787012)
+        (xy 28.575 53.782823)
+        (xy 28.575 53.775267)
+        (xy 28.829 53.775267)
+        (xy 28.833188 53.788157)
+        (xy 28.837377 53.7912)
+        (xy 29.291659 53.7912)
+        (xy 29.297687 53.790836)
+        (xy 29.414947 53.776647)
+        (xy 29.426639 53.773775)
+        (xy 29.574515 53.717898)
+        (xy 29.585177 53.712324)
+        (xy 29.715454 53.622785)
+        (xy 29.724483 53.614825)
+        (xy 29.829638 53.496803)
+        (xy 29.836511 53.486914)
+        (xy 29.910479 53.347212)
+        (xy 29.914793 53.335974)
+        (xy 29.941297 53.230454)
+        (xy 29.941166 53.22853)
+        (xy 31.642521 53.22853)
+        (xy 31.666644 53.329011)
+        (xy 31.670846 53.34031)
+        (xy 31.743345 53.480774)
+        (xy 31.750108 53.490726)
+        (xy 31.854024 53.609848)
+        (xy 31.862975 53.617907)
+        (xy 31.992299 53.708797)
+        (xy 32.002914 53.714489)
+        (xy 32.150181 53.771905)
+        (xy 32.161856 53.774902)
+        (xy 32.282385 53.790771)
+        (xy 32.288935 53.7912)
+        (xy 32.739067 53.7912)
+        (xy 32.751957 53.787012)
+        (xy 32.755 53.782823)
+        (xy 32.755 53.775267)
+        (xy 33.009 53.775267)
+        (xy 33.013188 53.788157)
+        (xy 33.017377 53.7912)
+        (xy 33.471659 53.7912)
+        (xy 33.477687 53.790836)
+        (xy 33.594947 53.776647)
+        (xy 33.606639 53.773775)
+        (xy 33.754515 53.717898)
+        (xy 33.765177 53.712324)
+        (xy 33.895454 53.622785)
+        (xy 33.904483 53.614825)
+        (xy 34.009638 53.496803)
+        (xy 34.016511 53.486914)
+        (xy 34.090479 53.347212)
+        (xy 34.094793 53.335974)
+        (xy 34.121297 53.230454)
+        (xy 34.120429 53.217714)
+        (xy 34.110996 53.215)
+        (xy 33.024933 53.215)
+        (xy 33.012043 53.219188)
+        (xy 33.009 53.223377)
+        (xy 33.009 53.775267)
+        (xy 32.755 53.775267)
+        (xy 32.755 53.230933)
+        (xy 32.750812 53.218043)
+        (xy 32.746623 53.215)
+        (xy 31.655206 53.215)
+        (xy 31.642896 53.219)
+        (xy 31.642521 53.22853)
+        (xy 29.941166 53.22853)
+        (xy 29.940429 53.217714)
+        (xy 29.930996 53.215)
+        (xy 28.844933 53.215)
+        (xy 28.832043 53.219188)
+        (xy 28.829 53.223377)
+        (xy 28.829 53.775267)
+        (xy 28.575 53.775267)
+        (xy 28.575 53.230933)
+        (xy 28.570812 53.218043)
+        (xy 28.566623 53.215)
+        (xy 27.475206 53.215)
+        (xy 27.462896 53.219)
+        (xy 27.462521 53.22853)
+        (xy 27.1277 53.22853)
+        (xy 27.1277 52.945546)
+        (xy 27.462703 52.945546)
+        (xy 27.463571 52.958286)
+        (xy 27.473004 52.961)
+        (xy 28.559067 52.961)
+        (xy 28.571957 52.956812)
+        (xy 28.575 52.952623)
+        (xy 28.575 52.945067)
+        (xy 28.829 52.945067)
+        (xy 28.833188 52.957957)
+        (xy 28.837377 52.961)
+        (xy 29.928794 52.961)
+        (xy 29.941104 52.957)
+        (xy 29.941479 52.94747)
+        (xy 29.941017 52.945546)
+        (xy 31.642703 52.945546)
+        (xy 31.643571 52.958286)
+        (xy 31.653004 52.961)
+        (xy 32.739067 52.961)
+        (xy 32.751957 52.956812)
+        (xy 32.755 52.952623)
+        (xy 32.755 52.400733)
+        (xy 32.750812 52.387843)
+        (xy 32.746623 52.3848)
+        (xy 32.561516 52.3848)
+        (xy 32.502385 52.365587)
+        (xy 32.46584 52.315287)
+        (xy 32.46584 52.253113)
+        (xy 32.502385 52.202813)
+        (xy 32.529995 52.189466)
+        (xy 32.530374 52.189414)
+        (xy 32.667816 52.129938)
+        (xy 32.7842 52.035691)
+        (xy 32.870953 51.913618)
+        (xy 32.880269 51.887744)
+        (xy 32.896317 51.843166)
+        (xy 32.921682 51.772713)
+        (xy 32.93265 51.623356)
+        (xy 32.921234 51.56674)
+        (xy 32.904405 51.483275)
+        (xy 32.904405 51.483274)
+        (xy 32.903049 51.476551)
+        (xy 32.83506 51.343115)
+        (xy 32.771983 51.274519)
+        (xy 32.738336 51.237928)
+        (xy 32.738335 51.237927)
+        (xy 32.733692 51.232878)
+        (xy 32.606412 51.153961)
+        (xy 32.599829 51.152049)
+        (xy 32.599828 51.152048)
+        (xy 32.565675 51.142126)
+        (xy 32.4626 51.11218)
+        (xy 32.457347 51.111794)
+        (xy 32.457346 51.111794)
+        (xy 32.456133 51.111705)
+        (xy 32.451979 51.1114)
+        (xy 32.344485 51.1114)
+        (xy 32.341093 51.111865)
+        (xy 32.341088 51.111865)
+        (xy 32.240421 51.125655)
+        (xy 32.24042 51.125655)
+        (xy 32.233626 51.126586)
+        (xy 32.096184 51.186062)
+        (xy 31.9798 51.280309)
+        (xy 31.893047 51.402382)
+        (xy 31.890726 51.40883)
+        (xy 31.890724 51.408833)
+        (xy 31.87517 51.452036)
+        (xy 31.842318 51.543287)
+        (xy 31.833799 51.659305)
+        (xy 31.833305 51.666027)
+        (xy 31.820817 51.696629)
+        (xy 31.823186 51.69835)
+        (xy 31.840414 51.737597)
+        (xy 31.84918 51.781069)
+        (xy 31.860951 51.839449)
+        (xy 31.864065 51.84556)
+        (xy 31.864065 51.845561)
+        (xy 31.885658 51.887939)
+        (xy 31.92894 51.972885)
+        (xy 31.933583 51.977934)
+        (xy 32.019672 52.071555)
+        (xy 32.030308 52.083122)
+        (xy 32.157588 52.162039)
+        (xy 32.164171 52.163951)
+        (xy 32.164172 52.163952)
+        (xy 32.26489 52.193213)
+        (xy 32.316314 52.22816)
+        (xy 32.337374 52.286659)
+        (xy 32.320028 52.346365)
+        (xy 32.270901 52.384472)
+        (xy 32.248909 52.38969)
+        (xy 32.169053 52.399353)
+        (xy 32.157361 52.402225)
+        (xy 32.009485 52.458102)
+        (xy 31.998823 52.463676)
+        (xy 31.868546 52.553215)
+        (xy 31.859517 52.561175)
+        (xy 31.754362 52.679197)
+        (xy 31.747489 52.689086)
+        (xy 31.673521 52.828788)
+        (xy 31.669207 52.840026)
+        (xy 31.642703 52.945546)
+        (xy 29.941017 52.945546)
+        (xy 29.917356 52.846989)
+        (xy 29.913154 52.83569)
+        (xy 29.840655 52.695226)
+        (xy 29.833892 52.685274)
+        (xy 29.729976 52.566152)
+        (xy 29.721025 52.558093)
+        (xy 29.591701 52.467203)
+        (xy 29.581086 52.461511)
+        (xy 29.433819 52.404095)
+        (xy 29.422144 52.401098)
+        (xy 29.301615 52.385229)
+        (xy 29.295065 52.3848)
+        (xy 28.844933 52.3848)
+        (xy 28.832043 52.388988)
+        (xy 28.829 52.393177)
+        (xy 28.829 52.945067)
+        (xy 28.575 52.945067)
+        (xy 28.575 52.400733)
+        (xy 28.570812 52.387843)
+        (xy 28.566623 52.3848)
+        (xy 28.112341 52.3848)
+        (xy 28.106313 52.385164)
+        (xy 27.989053 52.399353)
+        (xy 27.977361 52.402225)
+        (xy 27.829485 52.458102)
+        (xy 27.818823 52.463676)
+        (xy 27.688546 52.553215)
+        (xy 27.679517 52.561175)
+        (xy 27.574362 52.679197)
+        (xy 27.567489 52.689086)
+        (xy 27.493521 52.828788)
+        (xy 27.489207 52.840026)
+        (xy 27.462703 52.945546)
+        (xy 27.1277 52.945546)
+        (xy 27.1277 52.235752)
+        (xy 30.334801 52.235752)
+        (xy 30.335418 52.243601)
+        (xy 30.349442 52.33215)
+        (xy 30.354277 52.347029)
+        (xy 30.408665 52.453771)
+        (xy 30.417859 52.466426)
+        (xy 30.502574 52.551141)
+        (xy 30.515229 52.560335)
+        (xy 30.621974 52.614724)
+        (xy 30.63685 52.619558)
+        (xy 30.725384 52.63358)
+        (xy 30.733256 52.6342)
+        (xy 30.845067 52.6342)
+        (xy 30.857957 52.630012)
+        (xy 30.861 52.625823)
+        (xy 30.861 52.618266)
+        (xy 31.115 52.618266)
+        (xy 31.119188 52.631156)
+        (xy 31.123377 52.634199)
+        (xy 31.242752 52.634199)
+        (xy 31.250601 52.633582)
+        (xy 31.33915 52.619558)
+        (xy 31.354029 52.614723)
+        (xy 31.460771 52.560335)
+        (xy 31.473426 52.551141)
+        (xy 31.558141 52.466426)
+        (xy 31.567335 52.453771)
+        (xy 31.621724 52.347026)
+        (xy 31.626558 52.33215)
+        (xy 31.64058 52.243616)
+        (xy 31.6412 52.235744)
+        (xy 31.6412 52.123933)
+        (xy 31.637012 52.111043)
+        (xy 31.632823 52.108)
+        (xy 31.130933 52.108)
+        (xy 31.118043 52.112188)
+        (xy 31.115 52.116377)
+        (xy 31.115 52.618266)
+        (xy 30.861 52.618266)
+        (xy 30.861 52.123933)
+        (xy 30.856812 52.111043)
+        (xy 30.852623 52.108)
+        (xy 30.350734 52.108)
+        (xy 30.337844 52.112188)
+        (xy 30.334801 52.116377)
+        (xy 30.334801 52.235752)
+        (xy 27.1277 52.235752)
+        (xy 27.1277 51.958597)
+        (xy 27.146913 51.899466)
+        (xy 27.197213 51.862921)
+        (xy 27.259387 51.862921)
+        (xy 27.28743 51.877209)
+        (xy 27.289276 51.87855)
+        (xy 27.294875 51.884149)
+        (xy 27.323978 51.898977)
+        (xy 27.408816 51.942205)
+        (xy 27.40882 51.942206)
+        (xy 27.415873 51.9458)
+        (xy 27.423694 51.947039)
+        (xy 27.423695 51.947039)
+        (xy 27.512349 51.961081)
+        (xy 27.512355 51.961081)
+        (xy 27.51626 51.9617)
+        (xy 28.03374 51.9617)
+        (xy 28.037645 51.961081)
+        (xy 28.037651 51.961081)
+        (xy 28.126305 51.947039)
+        (xy 28.126306 51.947039)
+        (xy 28.134127 51.9458)
+        (xy 28.14118 51.942206)
+        (xy 28.141184 51.942205)
+        (xy 28.226022 51.898977)
+        (xy 28.255125 51.884149)
+        (xy 28.351149 51.788125)
+        (xy 28.382673 51.726256)
+        (xy 28.409205 51.674184)
+        (xy 28.409206 51.67418)
+        (xy 28.4128 51.667127)
+        (xy 28.414039 51.659305)
+        (xy 28.428081 51.570651)
+        (xy 28.428081 51.570645)
+        (xy 28.4287 51.56674)
+        (xy 28.4287 51.562752)
+        (xy 28.721801 51.562752)
+        (xy 28.722418 51.570601)
+        (xy 28.736442 51.65915)
+        (xy 28.741277 51.674029)
+        (xy 28.795665 51.780771)
+        (xy 28.804859 51.793426)
+        (xy 28.889574 51.878141)
+        (xy 28.902229 51.887335)
+        (xy 29.008974 51.941724)
+        (xy 29.02385 51.946558)
+        (xy 29.112384 51.96058)
+        (xy 29.120256 51.9612)
+        (xy 29.232067 51.9612)
+        (xy 29.244957 51.957012)
+        (xy 29.248 51.952823)
+        (xy 29.248 51.945266)
+        (xy 29.502 51.945266)
+        (xy 29.506188 51.958156)
+        (xy 29.510377 51.961199)
+        (xy 29.629752 51.961199)
+        (xy 29.637601 51.960582)
+        (xy 29.72615 51.946558)
+        (xy 29.741029 51.941723)
+        (xy 29.847771 51.887335)
+        (xy 29.860426 51.878141)
+        (xy 29.9005 51.838067)
+        (xy 30.3348 51.838067)
+        (xy 30.338988 51.850957)
+        (xy 30.343177 51.854)
+        (xy 30.845067 51.854)
+        (xy 30.857957 51.849812)
+        (xy 30.861 51.845623)
+        (xy 30.861 51.838067)
+        (xy 31.115 51.838067)
+        (xy 31.119188 51.850957)
+        (xy 31.123377 51.854)
+        (xy 31.625266 51.854)
+        (xy 31.638156 51.849812)
+        (xy 31.641199 51.845623)
+        (xy 31.641199 51.757481)
+        (xy 31.654229 51.717379)
+        (xy 31.647476 51.711672)
+        (xy 31.633614 51.674397)
+        (xy 31.626559 51.629856)
+        (xy 31.621723 51.614971)
+        (xy 31.567335 51.508229)
+        (xy 31.558141 51.495574)
+        (xy 31.473426 51.410859)
+        (xy 31.460771 51.401665)
+        (xy 31.354026 51.347276)
+        (xy 31.33915 51.342442)
+        (xy 31.250616 51.32842)
+        (xy 31.242744 51.3278)
+        (xy 31.130933 51.3278)
+        (xy 31.118043 51.331988)
+        (xy 31.115 51.336177)
+        (xy 31.115 51.838067)
+        (xy 30.861 51.838067)
+        (xy 30.861 51.343734)
+        (xy 30.856812 51.330844)
+        (xy 30.852623 51.327801)
+        (xy 30.733248 51.327801)
+        (xy 30.725399 51.328418)
+        (xy 30.63685 51.342442)
+        (xy 30.621971 51.347277)
+        (xy 30.515229 51.401665)
+        (xy 30.502574 51.410859)
+        (xy 30.417859 51.495574)
+        (xy 30.408665 51.508229)
+        (xy 30.354276 51.614974)
+        (xy 30.349442 51.62985)
+        (xy 30.33542 51.718384)
+        (xy 30.3348 51.726256)
+        (xy 30.3348 51.838067)
+        (xy 29.9005 51.838067)
+        (xy 29.945141 51.793426)
+        (xy 29.954335 51.780771)
+        (xy 30.008724 51.674026)
+        (xy 30.013558 51.65915)
+        (xy 30.02758 51.570616)
+        (xy 30.0282 51.562744)
+        (xy 30.0282 51.450933)
+        (xy 30.024012 51.438043)
+        (xy 30.019823 51.435)
+        (xy 29.517933 51.435)
+        (xy 29.505043 51.439188)
+        (xy 29.502 51.443377)
+        (xy 29.502 51.945266)
+        (xy 29.248 51.945266)
+        (xy 29.248 51.450933)
+        (xy 29.243812 51.438043)
+        (xy 29.239623 51.435)
+        (xy 28.737734 51.435)
+        (xy 28.724844 51.439188)
+        (xy 28.721801 51.443377)
+        (xy 28.721801 51.562752)
+        (xy 28.4287 51.562752)
+        (xy 28.4287 51.04926)
+        (xy 28.414064 50.95685)
+        (xy 28.414039 50.956695)
+        (xy 28.414039 50.956694)
+        (xy 28.4128 50.948873)
+        (xy 28.409206 50.94182)
+        (xy 28.409205 50.941816)
+        (xy 28.354744 50.834931)
+        (xy 28.351149 50.827875)
+        (xy 28.341708 50.818434)
+        (xy 28.313483 50.763037)
+        (xy 28.323209 50.701629)
+        (xy 28.367173 50.657665)
+        (xy 28.412844 50.6467)
+        (xy 28.578095 50.646699)
+        (xy 28.737864 50.646699)
+        (xy 28.796995 50.665912)
+        (xy 28.83354 50.716212)
+        (xy 28.83354 50.778386)
+        (xy 28.808999 50.818434)
+        (xy 28.804859 50.822574)
+        (xy 28.795665 50.835229)
+        (xy 28.741276 50.941974)
+        (xy 28.736442 50.95685)
+        (xy 28.72242 51.045384)
+        (xy 28.7218 51.053256)
+        (xy 28.7218 51.165067)
+        (xy 28.725988 51.177957)
+        (xy 28.730177 51.181)
+        (xy 29.232067 51.181)
+        (xy 29.244957 51.176812)
+        (xy 29.248 51.172623)
+        (xy 29.248 51.165067)
+        (xy 29.502 51.165067)
+        (xy 29.506188 51.177957)
+        (xy 29.510377 51.181)
+        (xy 30.012266 51.181)
+        (xy 30.025156 51.176812)
+        (xy 30.028199 51.172623)
+        (xy 30.028199 51.053248)
+        (xy 30.027582 51.045399)
+        (xy 30.013558 50.95685)
+        (xy 30.008723 50.941971)
+        (xy 29.954335 50.835229)
+        (xy 29.945141 50.822574)
+        (xy 29.860426 50.737859)
+        (xy 29.847771 50.728665)
+        (xy 29.741026 50.674276)
+        (xy 29.72615 50.669442)
+        (xy 29.637616 50.65542)
+        (xy 29.629744 50.6548)
+        (xy 29.517933 50.6548)
+        (xy 29.505043 50.658988)
+        (xy 29.502 50.663177)
+        (xy 29.502 51.165067)
+        (xy 29.248 51.165067)
+        (xy 29.248 50.670734)
+        (xy 29.243812 50.657844)
+        (xy 29.239623 50.654801)
+        (xy 29.120248 50.654801)
+        (xy 29.108452 50.655729)
+        (xy 29.108291 50.65368)
+        (xy 29.054419 50.645134)
+        (xy 29.010466 50.601159)
+        (xy 29.000755 50.539748)
+        (xy 29.016225 50.501945)
+        (xy 29.016934 50.501235)
+        (xy 29.068646 50.395445)
+        (xy 29.0787 50.326527)
+        (xy 29.0787 50.15687)
+        (xy 29.097913 50.097739)
+        (xy 29.148213 50.061194)
+        (xy 29.210387 50.061194)
+        (xy 29.240541 50.077059)
+        (xy 29.315341 50.134455)
+        (xy 29.448309 50.189531)
+        (xy 29.454845 50.190392)
+        (xy 29.454847 50.190392)
+        (xy 29.58446 50.207456)
+        (xy 29.591 50.208317)
+        (xy 29.59754 50.207456)
+        (xy 29.727153 50.190392)
+        (xy 29.727155 50.190392)
+        (xy 29.733691 50.189531)
+        (xy 29.866659 50.134455)
+        (xy 29.907731 50.102939)
+        (xy 29.975608 50.050855)
+        (xy 29.975609 50.050854)
+        (xy 29.98084 50.04684)
+        (xy 30.068455 49.932658)
+        (xy 30.123531 49.799691)
+        (xy 30.128818 49.759538)
+        (xy 30.141456 49.66354)
+        (xy 30.142317 49.657)
+        (xy 30.125723 49.530955)
+        (xy 30.124392 49.520847)
+        (xy 30.124392 49.520845)
+        (xy 30.123531 49.514309)
+        (xy 30.068455 49.381342)
+        (xy 29.98084 49.26716)
+        (xy 29.963972 49.254216)
+        (xy 29.871889 49.183558)
+        (xy 29.871888 49.183558)
+        (xy 29.866659 49.179545)
+        (xy 29.733691 49.124469)
+        (xy 29.727155 49.123608)
+        (xy 29.727153 49.123608)
+        (xy 29.59754 49.106544)
+        (xy 29.591 49.105683)
+        (xy 29.58446 49.106544)
+        (xy 29.454847 49.123608)
+        (xy 29.454845 49.123608)
+        (xy 29.448309 49.124469)
+        (xy 29.315342 49.179545)
+        (xy 29.240538 49.236944)
+        (xy 29.181933 49.257698)
+        (xy 29.122319 49.240039)
+        (xy 29.084469 49.190713)
+        (xy 29.078699 49.157132)
+        (xy 29.078699 49.084474)
+        (xy 29.068467 49.014955)
+        (xy 29.043444 48.963989)
+        (xy 29.020236 48.91672)
+        (xy 29.020235 48.916719)
+        (xy 29.016571 48.909256)
+        (xy 28.991143 48.883872)
+        (xy 28.939118 48.831939)
+        (xy 28.933235 48.826066)
+        (xy 28.827445 48.774354)
+        (xy 28.800779 48.770464)
+        (xy 28.762136 48.764826)
+        (xy 28.762129 48.764826)
+        (xy 28.758527 48.7643)
+        (xy 28.575903 48.7643)
+        (xy 28.391474 48.764301)
+        (xy 28.321955 48.774533)
+        (xy 28.304698 48.783006)
+        (xy 28.22372 48.822764)
+        (xy 28.223719 48.822765)
+        (xy 28.216256 48.826429)
+        (xy 28.210382 48.832313)
+        (xy 28.210381 48.832314)
+        (xy 28.182072 48.860673)
+        (xy 28.133066 48.909765)
+        (xy 28.129415 48.917234)
+        (xy 28.108915 48.959173)
+        (xy 28.081354 49.015555)
+        (xy 28.080227 49.023282)
+        (xy 28.071831 49.080835)
+        (xy 28.0713 49.084473)
+        (xy 28.0713 49.30718)
+        (xy 28.052087 49.366311)
+        (xy 28.013216 49.398354)
+        (xy 28.012082 49.398883)
+        (xy 28.003584 49.40116)
+        (xy 27.996376 49.406207)
+        (xy 27.996374 49.406208)
+        (xy 27.971242 49.423805)
+        (xy 27.963843 49.428519)
+        (xy 27.937275 49.443859)
+        (xy 27.929651 49.448261)
+        (xy 27.923994 49.455003)
+        (xy 27.904268 49.478511)
+        (xy 27.898339 49.484981)
+        (xy 27.554481 49.828839)
+        (xy 27.548011 49.834768)
+        (xy 27.517761 49.860151)
+        (xy 27.51336 49.867774)
+        (xy 27.513359 49.867775)
+        (xy 27.498019 49.894343)
+        (xy 27.493305 49.901742)
+        (xy 27.475927 49.926562)
+        (xy 27.47066 49.934084)
+        (xy 27.468383 49.942582)
+        (xy 27.465876 49.947957)
+        (xy 27.463847 49.953531)
+        (xy 27.459449 49.961149)
+        (xy 27.457922 49.969811)
+        (xy 27.457921 49.969813)
+        (xy 27.452591 50.000042)
+        (xy 27.450691 50.008608)
+        (xy 27.443298 50.0362)
+        (xy 27.440476 50.046733)
+        (xy 27.441243 50.055501)
+        (xy 27.443917 50.086065)
+        (xy 27.4443 50.094833)
+        (xy 27.4443 50.594068)
+        (xy 27.425087 50.653199)
+        (xy 27.389371 50.683703)
+        (xy 27.352048 50.70272)
+        (xy 27.294875 50.731851)
+        (xy 27.289276 50.73745)
+        (xy 27.28743 50.738791)
+        (xy 27.228298 50.758003)
+        (xy 27.169167 50.738789)
+        (xy 27.132623 50.688488)
+        (xy 27.1277 50.657403)
+        (xy 27.1277 48.802551)
+        (xy 27.146913 48.74342)
+        (xy 27.197213 48.706875)
+        (xy 27.259387 48.706875)
+        (xy 27.272479 48.712171)
+        (xy 27.365685 48.757731)
+        (xy 27.380427 48.762287)
+        (xy 27.437913 48.770674)
+        (xy 27.445166 48.7712)
+        (xy 27.482067 48.7712)
+        (xy 27.494957 48.767012)
+        (xy 27.498 48.762823)
+        (xy 27.498 48.755266)
+        (xy 27.752 48.755266)
+        (xy 27.756188 48.768156)
+        (xy 27.760377 48.771199)
+        (xy 27.804798 48.771199)
+        (xy 27.812116 48.770663)
+        (xy 27.870164 48.76212)
+        (xy 27.884917 48.757535)
+        (xy 27.975985 48.712823)
+        (xy 27.989324 48.703273)
+        (xy 28.06065 48.631823)
+        (xy 28.070173 48.618472)
+        (xy 28.114731 48.527315)
+        (xy 28.119287 48.512573)
+        (xy 28.127674 48.455087)
+        (xy 28.1282 48.447834)
+        (xy 28.1282 47.973433)
+        (xy 28.124012 47.960543)
+        (xy 28.119823 47.9575)
+        (xy 27.767933 47.9575)
+        (xy 27.755043 47.961688)
+        (xy 27.752 47.965877)
+        (xy 27.752 48.755266)
+        (xy 27.498 48.755266)
+        (xy 27.498 47.8041)
+        (xy 27.517213 47.744969)
+        (xy 27.567513 47.708424)
+        (xy 27.5986 47.7035)
+        (xy 28.112266 47.7035)
+        (xy 28.125156 47.699312)
+        (xy 28.128199 47.695123)
+        (xy 28.128199 47.213202)
+        (xy 28.127663 47.205884)
+        (xy 28.11912 47.147836)
+        (xy 28.114535 47.133083)
+        (xy 28.069823 47.042015)
+        (xy 28.060273 47.028676)
+        (xy 27.988823 46.95735)
+        (xy 27.975473 46.947829)
+        (xy 27.970053 46.945179)
+        (xy 27.925367 46.901949)
+        (xy 27.914624 46.84071)
+        (xy 27.941929 46.784853)
+        (xy 27.996851 46.755712)
+        (xy 28.014233 46.754199)
+        (xy 28.029752 46.754199)
+        (xy 28.037601 46.753582)
+        (xy 28.12615 46.739558)
+        (xy 28.141029 46.734723)
+        (xy 28.247771 46.680335)
+        (xy 28.260426 46.671141)
+        (xy 28.345141 46.586426)
+        (xy 28.354335 46.573771)
+        (xy 28.408724 46.467026)
+        (xy 28.413558 46.45215)
+        (xy 28.42758 46.363616)
+        (xy 28.427885 46.35974)
+        (xy 28.7213 46.35974)
+        (xy 28.721919 46.363645)
+        (xy 28.721919 46.363651)
+        (xy 28.735961 46.452305)
+        (xy 28.7372 46.460127)
+        (xy 28.740794 46.46718)
+        (xy 28.740795 46.467184)
+        (xy 28.784023 46.552022)
+        (xy 28.798851 46.581125)
+        (xy 28.894875 46.677149)
+        (xy 28.901931 46.680744)
+        (xy 29.008816 46.735205)
+        (xy 29.00882 46.735206)
+        (xy 29.015873 46.7388)
+        (xy 29.023694 46.740039)
+        (xy 29.023695 46.740039)
+        (xy 29.043324 46.743148)
+        (xy 29.109438 46.753619)
+        (xy 29.164835 46.781845)
+        (xy 29.193061 46.837242)
+        (xy 29.1943 46.85298)
+        (xy 29.1943 46.881717)
+        (xy 29.175087 46.940848)
+        (xy 29.164897 46.952789)
+        (xy 29.088941 47.028879)
+        (xy 29.088939 47.028881)
+        (xy 29.083066 47.034765)
+        (xy 29.031354 47.140555)
+        (xy 29.030227 47.148282)
+        (xy 29.024198 47.18961)
+        (xy 29.0213 47.209473)
+        (xy 29.021301 48.451526)
+        (xy 29.031533 48.521045)
+        (xy 29.037321 48.532833)
+        (xy 29.079368 48.618472)
+        (xy 29.083429 48.626744)
+        (xy 29.166765 48.709934)
+        (xy 29.272555 48.761646)
+        (xy 29.294429 48.764837)
+        (xy 29.337864 48.771174)
+        (xy 29.337871 48.771174)
+        (xy 29.341473 48.7717)
+        (xy 29.524097 48.7717)
+        (xy 29.708526 48.771699)
+        (xy 29.778045 48.761467)
+        (xy 29.829011 48.736444)
+        (xy 29.87628 48.713236)
+        (xy 29.876281 48.713235)
+        (xy 29.883744 48.709571)
+        (xy 29.892165 48.701136)
+        (xy 29.93629 48.656933)
+        (xy 29.966934 48.626235)
+        (xy 30.018646 48.520445)
+        (xy 30.025096 48.476231)
+        (xy 30.028174 48.455136)
+        (xy 30.028174 48.455129)
+        (xy 30.0287 48.451527)
+        (xy 30.028699 47.209474)
+        (xy 30.028163 47.20583)
+        (xy 30.025776 47.18961)
+        (xy 30.036175 47.128312)
+        (xy 30.067603 47.092556)
+        (xy 30.080258 47.083695)
+        (xy 30.087657 47.078981)
+        (xy 30.114225 47.063641)
+        (xy 30.114226 47.06364)
+        (xy 30.121849 47.059239)
+        (xy 30.147232 47.028989)
+        (xy 30.153161 47.022519)
+        (xy 30.173498 47.002182)
+        (xy 30.228896 46.973956)
+        (xy 30.290304 46.983682)
+        (xy 30.334268 47.027646)
+        (xy 30.343994 47.089054)
+        (xy 30.342998 47.095342)
+        (xy 30.3343 47.15026)
+        (xy 30.3343 47.66774)
+        (xy 30.334919 47.671645)
+        (xy 30.334919 47.671651)
+        (xy 30.347075 47.748395)
+        (xy 30.3502 47.768127)
+        (xy 30.353794 47.77518)
+        (xy 30.353795 47.775184)
+        (xy 30.392215 47.850586)
+        (xy 30.411851 47.889125)
+        (xy 30.507875 47.985149)
+        (xy 30.514931 47.988744)
+        (xy 30.621816 48.043205)
+        (xy 30.62182 48.043206)
+        (xy 30.628873 48.0468)
+        (xy 30.636694 48.048039)
+        (xy 30.636695 48.048039)
+        (xy 30.725349 48.062081)
+        (xy 30.725355 48.062081)
+        (xy 30.72926 48.0627)
+        (xy 31.10975 48.0627)
+        (xy 31.168881 48.081913)
+        (xy 31.205426 48.132213)
+        (xy 31.205426 48.194387)
+        (xy 31.180885 48.234435)
+        (xy 31.148481 48.266839)
+        (xy 31.142011 48.272768)
+        (xy 31.111761 48.298151)
+        (xy 31.10736 48.305774)
+        (xy 31.107359 48.305775)
+        (xy 31.092019 48.332343)
+        (xy 31.087305 48.339742)
+        (xy 31.069709 48.364873)
+        (xy 31.06466 48.372084)
+        (xy 31.062383 48.380582)
+        (xy 31.059876 48.385957)
+        (xy 31.057847 48.391531)
+        (xy 31.053449 48.399149)
+        (xy 31.051922 48.407811)
+        (xy 31.051921 48.407813)
+        (xy 31.046591 48.438042)
+        (xy 31.044691 48.446608)
+        (xy 31.043373 48.451527)
+        (xy 31.034476 48.484733)
+        (xy 31.035243 48.493501)
+        (xy 31.037917 48.524065)
+        (xy 31.0383 48.532833)
+        (xy 31.0383 48.91817)
+        (xy 31.019087 48.977301)
+        (xy 30.998943 48.99798)
+        (xy 30.97916 49.01316)
+        (xy 30.891545 49.127342)
+        (xy 30.836469 49.260309)
+        (xy 30.835608 49.266845)
+        (xy 30.835608 49.266847)
+        (xy 30.830396 49.306439)
+        (xy 30.817683 49.403)
+        (xy 30.818544 49.40954)
+        (xy 30.831378 49.507018)
+        (xy 30.836469 49.545691)
+        (xy 30.851513 49.58201)
+        (xy 30.854078 49.588203)
+        (xy 30.858955 49.650186)
+        (xy 30.826469 49.703198)
+        (xy 30.769027 49.72699)
+        (xy 30.761135 49.7273)
+        (xy 30.72926 49.7273)
+        (xy 30.725355 49.727919)
+        (xy 30.725349 49.727919)
+        (xy 30.636695 49.741961)
+        (xy 30.636694 49.741961)
+        (xy 30.628873 49.7432)
+        (xy 30.62182 49.746794)
+        (xy 30.621816 49.746795)
+        (xy 30.536978 49.790023)
+        (xy 30.507875 49.804851)
+        (xy 30.411851 49.900875)
+        (xy 30.397023 49.929978)
+        (xy 30.353795 50.014816)
+        (xy 30.353794 50.01482)
+        (xy 30.3502 50.021873)
+        (xy 30.348961 50.029694)
+        (xy 30.348961 50.029695)
+        (xy 30.337314 50.103233)
+        (xy 30.3343 50.12226)
+        (xy 30.3343 50.63974)
+        (xy 30.334919 50.643645)
+        (xy 30.334919 50.643651)
+        (xy 30.348547 50.729693)
+        (xy 30.3502 50.740127)
+        (xy 30.353794 50.74718)
+        (xy 30.353795 50.747184)
+        (xy 30.391806 50.821784)
+        (xy 30.411851 50.861125)
+        (xy 30.507875 50.957149)
+        (xy 30.514931 50.960744)
+        (xy 30.621816 51.015205)
+        (xy 30.62182 51.015206)
+        (xy 30.628873 51.0188)
+        (xy 30.636694 51.020039)
+        (xy 30.636695 51.020039)
+        (xy 30.725349 51.034081)
+        (xy 30.725355 51.034081)
+        (xy 30.72926 51.0347)
+        (xy 31.24674 51.0347)
+        (xy 31.250645 51.034081)
+        (xy 31.250651 51.034081)
+        (xy 31.339305 51.020039)
+        (xy 31.339306 51.020039)
+        (xy 31.347127 51.0188)
+        (xy 31.35418 51.015206)
+        (xy 31.354184 51.015205)
+        (xy 31.461069 50.960744)
+        (xy 31.468125 50.957149)
+        (xy 31.564149 50.861125)
+        (xy 31.612297 50.766629)
+        (xy 31.65626 50.722665)
+        (xy 31.701932 50.7117)
+        (xy 31.999924 50.7117)
+        (xy 32.061165 50.732489)
+        (xy 32.104107 50.76544)
+        (xy 32.104113 50.765444)
+        (xy 32.109341 50.769455)
+        (xy 32.242309 50.824531)
+        (xy 32.248845 50.825392)
+        (xy 32.248847 50.825392)
+        (xy 32.37846 50.842456)
+        (xy 32.385 50.843317)
+        (xy 32.39154 50.842456)
+        (xy 32.521153 50.825392)
+        (xy 32.521155 50.825392)
+        (xy 32.527691 50.824531)
+        (xy 32.660659 50.769455)
+        (xy 32.665889 50.765442)
+        (xy 32.769608 50.685855)
+        (xy 32.769609 50.685854)
+        (xy 32.77484 50.68184)
+        (xy 32.862455 50.567658)
+        (xy 32.917531 50.434691)
+        (xy 32.924116 50.384674)
+        (xy 32.950883 50.328556)
+        (xy 33.005522 50.29889)
+        (xy 33.067165 50.307005)
+        (xy 33.09499 50.32667)
+        (xy 34.042839 51.274519)
+        (xy 34.048768 51.280989)
+        (xy 34.074151 51.311239)
+        (xy 34.081774 51.31564)
+        (xy 34.081775 51.315641)
+        (xy 34.108343 51.330981)
+        (xy 34.115742 51.335695)
+        (xy 34.132284 51.347277)
+        (xy 34.148084 51.35834)
+        (xy 34.156583 51.360618)
+        (xy 34.164561 51.364338)
+        (xy 34.164323 51.364847)
+        (xy 34.173796 51.368771)
+        (xy 34.175122 51.369536)
+        (xy 34.173159 51.372939)
+        (xy 34.206339 51.398938)
+        (xy 34.206924 51.398519)
+        (xy 34.208356 51.400519)
+        (xy 34.208425 51.400573)
+        (xy 34.208553 51.400794)
+        (xy 34.211764 51.405279)
+        (xy 34.215429 51.412744)
+        (xy 34.221313 51.418618)
+        (xy 34.221314 51.418619)
+        (xy 34.237724 51.435)
+        (xy 34.298765 51.495934)
+        (xy 34.306234 51.499585)
+        (xy 34.395638 51.543287)
+        (xy 34.404555 51.547646)
+        (xy 34.431221 51.551536)
+        (xy 34.469864 51.557174)
+        (xy 34.469871 51.557174)
+        (xy 34.473473 51.5577)
+        (xy 35.242308 51.5577)
+        (xy 36.018526 51.557699)
+        (xy 36.088045 51.547467)
+        (xy 36.167963 51.508229)
+        (xy 36.18628 51.499236)
+        (xy 36.186281 51.499235)
+        (xy 36.193744 51.495571)
+        (xy 36.206019 51.483275)
+        (xy 36.238304 51.450933)
+        (xy 36.276934 51.412235)
+        (xy 36.308687 51.347276)
+        (xy 36.325217 51.31346)
+        (xy 36.328646 51.306445)
+        (xy 36.333088 51.275997)
+        (xy 36.338174 51.241136)
+        (xy 36.338174 51.241129)
+        (xy 36.3387 51.237527)
+        (xy 36.338699 50.870474)
+        (xy 36.328467 50.800955)
+        (xy 36.294761 50.732305)
+        (xy 36.280236 50.70272)
+        (xy 36.280235 50.702719)
+        (xy 36.276571 50.695256)
+        (xy 36.263132 50.68184)
+        (xy 36.224875 50.643651)
+        (xy 36.193235 50.612066)
+        (xy 36.170922 50.601159)
+        (xy 36.09446 50.563783)
+        (xy 36.087445 50.560354)
+        (xy 36.060779 50.556464)
+        (xy 36.022136 50.550826)
+        (xy 36.022129 50.550826)
+        (xy 36.018527 50.5503)
+        (xy 35.249692 50.5503)
+        (xy 34.473474 50.550301)
+        (xy 34.403955 50.560533)
+        (xy 34.396935 50.56398)
+        (xy 34.396934 50.56398)
+        (xy 34.37482 50.574837)
+        (xy 34.313274 50.583651)
+        (xy 34.259349 50.555669)
+        (xy 32.692891 48.989211)
+        (xy 32.664665 48.933813)
+        (xy 32.664287 48.904948)
+        (xy 32.670116 48.860673)
+        (xy 32.696883 48.804556)
+        (xy 32.751523 48.774889)
+        (xy 32.813166 48.783006)
+        (xy 32.84099 48.80267)
+        (xy 34.042839 50.004519)
+        (xy 34.048768 50.010989)
+        (xy 34.074151 50.041239)
+        (xy 34.081774 50.04564)
+        (xy 34.081775 50.045641)
+        (xy 34.108343 50.060981)
+        (xy 34.115742 50.065695)
+        (xy 34.138044 50.08131)
+        (xy 34.148084 50.08834)
+        (xy 34.156583 50.090618)
+        (xy 34.164561 50.094338)
+        (xy 34.164323 50.094847)
+        (xy 34.173796 50.098771)
+        (xy 34.175122 50.099536)
+        (xy 34.173159 50.102939)
+        (xy 34.206339 50.128938)
+        (xy 34.206924 50.128519)
+        (xy 34.208356 50.130519)
+        (xy 34.208425 50.130573)
+        (xy 34.208553 50.130794)
+        (xy 34.211764 50.135279)
+        (xy 34.215429 50.142744)
+        (xy 34.221313 50.148618)
+        (xy 34.221314 50.148619)
+        (xy 34.25479 50.182036)
+        (xy 34.298765 50.225934)
+        (xy 34.404555 50.277646)
+        (xy 34.431221 50.281536)
+        (xy 34.469864 50.287174)
+        (xy 34.469871 50.287174)
+        (xy 34.473473 50.2877)
+        (xy 35.242308 50.2877)
+        (xy 36.018526 50.287699)
+        (xy 36.088045 50.277467)
+        (xy 36.139011 50.252444)
+        (xy 36.18628 50.229236)
+        (xy 36.186281 50.229235)
+        (xy 36.193744 50.225571)
+        (xy 36.219707 50.199563)
+        (xy 36.255608 50.163598)
+        (xy 36.276934 50.142235)
+        (xy 36.328646 50.036445)
+        (xy 36.33285 50.007627)
+        (xy 36.338174 49.971136)
+        (xy 36.338174 49.971129)
+        (xy 36.3387 49.967527)
+        (xy 36.338699 49.600474)
+        (xy 36.328467 49.530955)
+        (xy 36.290152 49.452917)
+        (xy 36.280236 49.43272)
+        (xy 36.280235 49.432719)
+        (xy 36.276571 49.425256)
+        (xy 36.260828 49.40954)
+        (xy 36.226026 49.3748)
+        (xy 36.193235 49.342066)
+        (xy 36.181951 49.33655)
+        (xy 36.09446 49.293783)
+        (xy 36.087445 49.290354)
+        (xy 36.060779 49.286464)
+        (xy 36.022136 49.280826)
+        (xy 36.022129 49.280826)
+        (xy 36.018527 49.2803)
+        (xy 35.249692 49.2803)
+        (xy 34.473474 49.280301)
+        (xy 34.403955 49.290533)
+        (xy 34.396935 49.29398)
+        (xy 34.396934 49.29398)
+        (xy 34.37482 49.304837)
+        (xy 34.313274 49.313651)
+        (xy 34.259349 49.285669)
+        (xy 33.667478 48.693798)
+        (xy 34.153801 48.693798)
+        (xy 34.154337 48.701116)
+        (xy 34.16288 48.759164)
+        (xy 34.167465 48.773917)
+        (xy 34.212177 48.864985)
+        (xy 34.221727 48.878324)
+        (xy 34.293177 48.94965)
+        (xy 34.306528 48.959173)
+        (xy 34.397685 49.003731)
+        (xy 34.412427 49.008287)
+        (xy 34.469913 49.016674)
+        (xy 34.477166 49.0172)
+        (xy 35.103067 49.0172)
+        (xy 35.115957 49.013012)
+        (xy 35.119 49.008823)
+        (xy 35.119 49.001266)
+        (xy 35.373 49.001266)
+        (xy 35.377188 49.014156)
+        (xy 35.381377 49.017199)
+        (xy 36.014798 49.017199)
+        (xy 36.022116 49.016663)
+        (xy 36.080164 49.00812)
+        (xy 36.094917 49.003535)
+        (xy 36.185985 48.958823)
+        (xy 36.199324 48.949273)
+        (xy 36.27065 48.877823)
+        (xy 36.280173 48.864472)
+        (xy 36.324731 48.773315)
+        (xy 36.329287 48.758573)
+        (xy 36.337674 48.701087)
+        (xy 36.3382 48.693834)
+        (xy 36.3382 48.656933)
+        (xy 36.334012 48.644043)
+        (xy 36.329823 48.641)
+        (xy 35.388933 48.641)
+        (xy 35.376043 48.645188)
+        (xy 35.373 48.649377)
+        (xy 35.373 49.001266)
+        (xy 35.119 49.001266)
+        (xy 35.119 48.656933)
+        (xy 35.114812 48.644043)
+        (xy 35.110623 48.641)
+        (xy 34.169734 48.641)
+        (xy 34.156844 48.645188)
+        (xy 34.153801 48.649377)
+        (xy 34.153801 48.693798)
+        (xy 33.667478 48.693798)
+        (xy 33.344747 48.371067)
+        (xy 34.1538 48.371067)
+        (xy 34.157988 48.383957)
+        (xy 34.162177 48.387)
+        (xy 35.103067 48.387)
+        (xy 35.115957 48.382812)
+        (xy 35.119 48.378623)
+        (xy 35.119 48.371067)
+        (xy 35.373 48.371067)
+        (xy 35.377188 48.383957)
+        (xy 35.381377 48.387)
+        (xy 36.322266 48.387)
+        (xy 36.335156 48.382812)
+        (xy 36.338199 48.378623)
+        (xy 36.338199 48.334202)
+        (xy 36.337663 48.326884)
+        (xy 36.32912 48.268836)
+        (xy 36.324535 48.254083)
+        (xy 36.279823 48.163015)
+        (xy 36.270273 48.149676)
+        (xy 36.198823 48.07835)
+        (xy 36.185472 48.068827)
+        (xy 36.094315 48.024269)
+        (xy 36.079573 48.019713)
+        (xy 36.022087 48.011326)
+        (xy 36.014834 48.0108)
+        (xy 35.388933 48.0108)
+        (xy 35.376043 48.014988)
+        (xy 35.373 48.019177)
+        (xy 35.373 48.371067)
+        (xy 35.119 48.371067)
+        (xy 35.119 48.026734)
+        (xy 35.114812 48.013844)
+        (xy 35.110623 48.010801)
+        (xy 34.477202 48.010801)
+        (xy 34.469884 48.011337)
+        (xy 34.411836 48.01988)
+        (xy 34.397083 48.024465)
+        (xy 34.306015 48.069177)
+        (xy 34.292676 48.078727)
+        (xy 34.22135 48.150177)
+        (xy 34.211827 48.163528)
+        (xy 34.167269 48.254685)
+        (xy 34.162713 48.269427)
+        (xy 34.154326 48.326913)
+        (xy 34.1538 48.334166)
+        (xy 34.1538 48.371067)
+        (xy 33.344747 48.371067)
+        (xy 32.86125 47.88757)
+        (xy 32.855321 47.8811)
+        (xy 32.850896 47.875826)
+        (xy 32.829938 47.85085)
+        (xy 32.825985 47.848568)
+        (xy 32.794299 47.797859)
+        (xy 32.798637 47.735836)
+        (xy 32.812096 47.712287)
+        (xy 32.862455 47.646658)
+        (xy 32.917531 47.513691)
+        (xy 32.919171 47.501239)
+        (xy 32.935456 47.37754)
+        (xy 32.936317 47.371)
+        (xy 32.917531 47.228309)
+        (xy 32.89862 47.182652)
+        (xy 32.864978 47.101432)
+        (xy 32.864976 47.101429)
+        (xy 32.862455 47.095342)
+        (xy 32.858688 47.090433)
+        (xy 32.845796 47.029786)
+        (xy 32.871084 46.972987)
+        (xy 32.924928 46.941899)
+        (xy 32.945845 46.9397)
+        (xy 33.34935 46.9397)
+        (xy 33.408481 46.958913)
+        (xy 33.420485 46.969165)
+        (xy 33.673535 47.222216)
+        (xy 33.915844 47.464525)
+        (xy 33.921773 47.470995)
+        (xy 33.936645 47.488718)
+        (xy 33.947151 47.501239)
+        (xy 33.954772 47.505639)
+        (xy 33.981333 47.520974)
+        (xy 33.988735 47.525689)
+        (xy 34.021084 47.54834)
+        (xy 34.029581 47.550617)
+        (xy 34.034957 47.553124)
+        (xy 34.040531 47.555153)
+        (xy 34.048149 47.559551)
+        (xy 34.056811 47.561078)
+        (xy 34.056813 47.561079)
+        (xy 34.087042 47.566409)
+        (xy 34.095608 47.568309)
+        (xy 34.119461 47.5747)
+        (xy 34.133733 47.578524)
+        (xy 34.142501 47.577757)
+        (xy 34.151269 47.578524)
+        (xy 34.151089 47.58058)
+        (xy 34.200441 47.591974)
+        (xy 34.219699 47.607006)
+        (xy 34.226577 47.613872)
+        (xy 34.292882 47.680062)
+        (xy 34.292884 47.680064)
+        (xy 34.298765 47.685934)
+        (xy 34.404555 47.737646)
+        (xy 34.431221 47.741536)
+        (xy 34.469864 47.747174)
+        (xy 34.469871 47.747174)
+        (xy 34.473473 47.7477)
+        (xy 35.242308 47.7477)
+        (xy 36.018526 47.747699)
+        (xy 36.088045 47.737467)
+        (xy 36.165757 47.699312)
+        (xy 36.18628 47.689236)
+        (xy 36.186281 47.689235)
+        (xy 36.193744 47.685571)
+        (xy 36.219707 47.659563)
+        (xy 36.271061 47.608118)
+        (xy 36.276934 47.602235)
+        (xy 36.316656 47.520974)
+        (xy 36.325217 47.50346)
+        (xy 36.328646 47.496445)
+        (xy 36.3387 47.427527)
+        (xy 36.338699 47.060474)
+        (xy 36.328467 46.990955)
+        (xy 36.290152 46.912917)
+        (xy 36.280236 46.89272)
+        (xy 36.280235 46.892719)
+        (xy 36.276571 46.885256)
+        (xy 36.260828 46.86954)
+        (xy 36.199118 46.807939)
+        (xy 36.193235 46.802066)
+        (xy 36.185766 46.798415)
+        (xy 36.09446 46.753783)
+        (xy 36.087445 46.750354)
+        (xy 36.060779 46.746464)
+        (xy 36.022136 46.740826)
+        (xy 36.022129 46.740826)
+        (xy 36.018527 46.7403)
+        (xy 35.249692 46.7403)
+        (xy 34.473474 46.740301)
+        (xy 34.403955 46.750533)
+        (xy 34.304064 46.799577)
+        (xy 34.304062 46.799578)
+        (xy 34.298256 46.802429)
+        (xy 34.297827 46.801556)
+        (xy 34.245733 46.818082)
+        (xy 34.186737 46.798456)
+        (xy 34.1753 46.788619)
+        (xy 33.775161 46.388481)
+        (xy 33.769232 46.382011)
+        (xy 33.753826 46.363651)
+        (xy 33.743849 46.351761)
+        (xy 33.736225 46.347359)
+        (xy 33.709657 46.332019)
+        (xy 33.702258 46.327305)
+        (xy 33.677127 46.309709)
+        (xy 33.677126 46.309709)
+        (xy 33.669916 46.30466)
+        (xy 33.661418 46.302383)
+        (xy 33.656043 46.299876)
+        (xy 33.650469 46.297847)
+        (xy 33.642851 46.293449)
+        (xy 33.634189 46.291922)
+        (xy 33.634187 46.291921)
+        (xy 33.603958 46.286591)
+        (xy 33.595392 46.284691)
+        (xy 33.565769 46.276754)
+        (xy 33.557267 46.274476)
+        (xy 33.548499 46.275243)
+        (xy 33.517935 46.277917)
+        (xy 33.509167 46.2783)
+        (xy 32.960375 46.2783)
+        (xy 32.901244 46.259087)
+        (xy 32.864699 46.208787)
+        (xy 32.864699 46.146613)
+        (xy 32.869016 46.136343)
+        (xy 32.870953 46.133618)
+        (xy 32.921682 45.992713)
+        (xy 32.93265 45.843356)
+        (xy 32.921987 45.790473)
+        (xy 34.1533 45.790473)
+        (xy 34.153301 46.157526)
+        (xy 34.163533 46.227045)
+        (xy 34.177598 46.255691)
+        (xy 34.209866 46.321413)
+        (xy 34.215429 46.332744)
+        (xy 34.221313 46.338618)
+        (xy 34.221314 46.338619)
+        (xy 34.238469 46.355744)
+        (xy 34.298765 46.415934)
+        (xy 34.404555 46.467646)
+        (xy 34.431221 46.471536)
+        (xy 34.469864 46.477174)
+        (xy 34.469871 46.477174)
+        (xy 34.473473 46.4777)
+        (xy 35.242308 46.4777)
+        (xy 36.018526 46.477699)
+        (xy 36.088045 46.467467)
+        (xy 36.139011 46.442444)
+        (xy 36.18628 46.419236)
+        (xy 36.186281 46.419235)
+        (xy 36.193744 46.415571)
+        (xy 36.219707 46.389563)
+        (xy 36.271061 46.338118)
+        (xy 36.276934 46.332235)
+        (xy 36.328646 46.226445)
+        (xy 36.338053 46.161963)
+        (xy 36.338174 46.161136)
+        (xy 36.338174 46.161129)
+        (xy 36.3387 46.157527)
+        (xy 36.338699 45.790474)
+        (xy 36.328467 45.720955)
+        (xy 36.290152 45.642917)
+        (xy 36.280236 45.62272)
+        (xy 36.280235 45.622719)
+        (xy 36.276571 45.615256)
+        (xy 36.260828 45.59954)
+        (xy 36.224338 45.563115)
+        (xy 36.193235 45.532066)
+        (xy 36.17112 45.521256)
+        (xy 36.09446 45.483783)
+        (xy 36.087445 45.480354)
+        (xy 36.060779 45.476464)
+        (xy 36.022136 45.470826)
+        (xy 36.022129 45.470826)
+        (xy 36.018527 45.4703)
+        (xy 35.249692 45.4703)
+        (xy 34.473474 45.470301)
+        (xy 34.403955 45.480533)
+        (xy 34.372459 45.495997)
+        (xy 34.30572 45.528764)
+        (xy 34.305719 45.528765)
+        (xy 34.298256 45.532429)
+        (xy 34.292382 45.538313)
+        (xy 34.292381 45.538314)
+        (xy 34.276475 45.554248)
+        (xy 34.215066 45.615765)
+        (xy 34.211415 45.623234)
+        (xy 34.190478 45.666067)
+        (xy 34.163354 45.721555)
+        (xy 34.161397 45.734971)
+        (xy 34.153831 45.786835)
+        (xy 34.1533 45.790473)
+        (xy 32.921987 45.790473)
+        (xy 32.921259 45.786864)
+        (xy 32.904405 45.703275)
+        (xy 32.904405 45.703274)
+        (xy 32.903049 45.696551)
+        (xy 32.894085 45.678957)
+        (xy 32.838174 45.569227)
+        (xy 32.83506 45.563115)
+        (xy 32.759122 45.480533)
+        (xy 32.738336 45.457928)
+        (xy 32.738335 45.457927)
+        (xy 32.733692 45.452878)
+        (xy 32.606412 45.373961)
+        (xy 32.599829 45.372049)
+        (xy 32.599828 45.372048)
+        (xy 32.518451 45.348406)
+        (xy 32.467027 45.313458)
+        (xy 32.445967 45.25496)
+        (xy 32.463313 45.195254)
+        (xy 32.51244 45.157147)
+        (xy 32.546517 45.1512)
+        (xy 32.739067 45.1512)
+        (xy 32.751957 45.147012)
+        (xy 32.755 45.142823)
+        (xy 32.755 45.135267)
+        (xy 33.009 45.135267)
+        (xy 33.013188 45.148157)
+        (xy 33.017377 45.1512)
+        (xy 33.471659 45.1512)
+        (xy 33.477687 45.150836)
+        (xy 33.594947 45.136647)
+        (xy 33.606639 45.133775)
+        (xy 33.754515 45.077898)
+        (xy 33.765177 45.072324)
+        (xy 33.895454 44.982785)
+        (xy 33.904483 44.974825)
+        (xy 33.985775 44.883586)
+        (xy 34.039456 44.852217)
+        (xy 34.101323 44.858392)
+        (xy 34.147745 44.899753)
+        (xy 34.160415 44.93586)
+        (xy 34.162394 44.94931)
+        (xy 34.162395 44.949313)
+        (xy 34.163533 44.957045)
+        (xy 34.166979 44.964063)
+        (xy 34.209866 45.051413)
+        (xy 34.215429 45.062744)
+        (xy 34.221313 45.068618)
+        (xy 34.221314 45.068619)
+        (xy 34.25479 45.102036)
+        (xy 34.298765 45.145934)
+        (xy 34.306234 45.149585)
+        (xy 34.358794 45.175277)
+        (xy 34.404555 45.197646)
+        (xy 34.431221 45.201536)
+        (xy 34.469864 45.207174)
+        (xy 34.469871 45.207174)
+        (xy 34.473473 45.2077)
+        (xy 35.242308 45.2077)
+        (xy 36.018526 45.207699)
+        (xy 36.088045 45.197467)
+        (xy 36.143088 45.170442)
+        (xy 36.18628 45.149236)
+        (xy 36.186281 45.149235)
+        (xy 36.193744 45.145571)
+        (xy 36.202653 45.136647)
+        (xy 36.265317 45.073872)
+        (xy 36.276934 45.062235)
+        (xy 36.328646 44.956445)
+        (xy 36.332536 44.929779)
+        (xy 36.338174 44.891136)
+        (xy 36.338174 44.891129)
+        (xy 36.3387 44.887527)
+        (xy 36.338699 44.520474)
+        (xy 36.328467 44.450955)
+        (xy 36.290152 44.372917)
+        (xy 36.280236 44.35272)
+        (xy 36.280235 44.352719)
+        (xy 36.276571 44.345256)
+        (xy 36.252273 44.321)
+        (xy 36.199118 44.267939)
+        (xy 36.193235 44.262066)
+        (xy 36.087445 44.210354)
+        (xy 36.057942 44.20605)
+        (xy 36.022136 44.200826)
+        (xy 36.022129 44.200826)
+        (xy 36.018527 44.2003)
+        (xy 35.471983 44.2003)
+        (xy 35.412852 44.181087)
+        (xy 35.392172 44.160941)
+        (xy 35.318856 44.065394)
+        (xy 35.31484 44.06016)
+        (xy 35.300409 44.049086)
+        (xy 35.205889 43.976558)
+        (xy 35.205888 43.976558)
+        (xy 35.200659 43.972545)
+        (xy 35.067691 43.917469)
+        (xy 35.061155 43.916608)
+        (xy 35.061153 43.916608)
+        (xy 34.93154 43.899544)
+        (xy 34.925 43.898683)
+        (xy 34.91846 43.899544)
+        (xy 34.788847 43.916608)
+        (xy 34.788845 43.916608)
+        (xy 34.782309 43.917469)
+        (xy 34.649342 43.972545)
+        (xy 34.53516 44.06016)
+        (xy 34.447545 44.174342)
+        (xy 34.446548 44.173577)
+        (xy 34.405809 44.21026)
+        (xy 34.403955 44.210533)
+        (xy 34.350294 44.23688)
+        (xy 34.30572 44.258764)
+        (xy 34.305719 44.258765)
+        (xy 34.298256 44.262429)
+        (xy 34.292382 44.268313)
+        (xy 34.292381 44.268314)
+        (xy 34.274074 44.286653)
+        (xy 34.218701 44.314928)
+        (xy 34.157283 44.305255)
+        (xy 34.113281 44.261329)
+        (xy 34.105056 44.239064)
+        (xy 34.097353 44.206976)
+        (xy 34.093158 44.195698)
+        (xy 34.020655 44.055226)
+        (xy 34.013892 44.045274)
+        (xy 33.909976 43.926152)
+        (xy 33.901025 43.918093)
+        (xy 33.771701 43.827203)
+        (xy 33.761086 43.821511)
+        (xy 33.613819 43.764095)
+        (xy 33.602144 43.761098)
+        (xy 33.481615 43.745229)
+        (xy 33.475065 43.7448)
+        (xy 33.024933 43.7448)
+        (xy 33.012043 43.748988)
+        (xy 33.009 43.753177)
+        (xy 33.009 45.135267)
+        (xy 32.755 45.135267)
+        (xy 32.755 44.590933)
+        (xy 32.750812 44.578043)
+        (xy 32.746623 44.575)
+        (xy 31.655206 44.575)
+        (xy 31.642896 44.579)
+        (xy 31.642521 44.58853)
+        (xy 31.666644 44.689011)
+        (xy 31.670846 44.70031)
+        (xy 31.743345 44.840774)
+        (xy 31.750108 44.850726)
+        (xy 31.854024 44.969848)
+        (xy 31.862975 44.977907)
+        (xy 31.992299 45.068797)
+        (xy 32.002914 45.074489)
+        (xy 32.150181 45.131905)
+        (xy 32.161855 45.134902)
+        (xy 32.243883 45.145702)
+        (xy 32.3 45.172469)
+        (xy 32.329667 45.227109)
+        (xy 32.321551 45.288751)
+        (xy 32.278753 45.33385)
+        (xy 32.244405 45.345109)
+        (xy 32.233626 45.346586)
+        (xy 32.096184 45.406062)
+        (xy 31.9798 45.500309)
+        (xy 31.893047 45.622382)
+        (xy 31.890726 45.62883)
+        (xy 31.890724 45.628833)
+        (xy 31.877319 45.666067)
+        (xy 31.842318 45.763287)
+        (xy 31.835028 45.862562)
+        (xy 31.831497 45.910643)
+        (xy 31.825862 45.92445)
+        (xy 31.840415 45.957602)
+        (xy 31.846314 45.986855)
+        (xy 31.860951 46.059449)
+        (xy 31.864065 46.06556)
+        (xy 31.864065 46.065561)
+        (xy 31.897932 46.132029)
+        (xy 31.907658 46.193438)
+        (xy 31.879432 46.248835)
+        (xy 31.824034 46.277062)
+        (xy 31.808297 46.2783)
+        (xy 31.725632 46.2783)
+        (xy 31.666501 46.259087)
+        (xy 31.629956 46.208787)
+        (xy 31.626271 46.161963)
+        (xy 31.64058 46.071616)
+        (xy 31.6412 46.063744)
+        (xy 31.6412 45.977486)
+        (xy 31.647567 45.957892)
+        (xy 31.645668 45.956287)
+        (xy 31.637995 45.939758)
+        (xy 31.632823 45.936)
+        (xy 30.350734 45.936)
+        (xy 30.337844 45.940188)
+        (xy 30.334801 45.944377)
+        (xy 30.334801 46.063752)
+        (xy 30.335418 46.071599)
+        (xy 30.34973 46.161963)
+        (xy 30.340003 46.223372)
+        (xy 30.296039 46.267336)
+        (xy 30.250368 46.2783)
+        (xy 30.1293 46.2783)
+        (xy 30.070169 46.259087)
+        (xy 30.033624 46.208787)
+        (xy 30.0287 46.1777)
+        (xy 30.0287 45.84226)
+        (xy 30.02781 45.836635)
+        (xy 30.014039 45.749695)
+        (xy 30.014039 45.749694)
+        (xy 30.0128 45.741873)
+        (xy 30.009206 45.73482)
+        (xy 30.009205 45.734816)
+        (xy 29.974175 45.666067)
+        (xy 30.3348 45.666067)
+        (xy 30.338988 45.678957)
+        (xy 30.343177 45.682)
+        (xy 30.845067 45.682)
+        (xy 30.857957 45.677812)
+        (xy 30.861 45.673623)
+        (xy 30.861 45.666067)
+        (xy 31.115 45.666067)
+        (xy 31.119188 45.678957)
+        (xy 31.123377 45.682)
+        (xy 31.625266 45.682)
+        (xy 31.638156 45.677812)
+        (xy 31.641199 45.673623)
+        (xy 31.641199 45.554248)
+        (xy 31.640582 45.546399)
+        (xy 31.626558 45.45785)
+        (xy 31.621723 45.442971)
+        (xy 31.567335 45.336229)
+        (xy 31.558141 45.323574)
+        (xy 31.473426 45.238859)
+        (xy 31.460771 45.229665)
+        (xy 31.354026 45.175276)
+        (xy 31.33915 45.170442)
+        (xy 31.250616 45.15642)
+        (xy 31.242744 45.1558)
+        (xy 31.130933 45.1558)
+        (xy 31.118043 45.159988)
+        (xy 31.115 45.164177)
+        (xy 31.115 45.666067)
+        (xy 30.861 45.666067)
+        (xy 30.861 45.171734)
+        (xy 30.856812 45.158844)
+        (xy 30.852623 45.155801)
+        (xy 30.733248 45.155801)
+        (xy 30.725399 45.156418)
+        (xy 30.63685 45.170442)
+        (xy 30.621971 45.175277)
+        (xy 30.515229 45.229665)
+        (xy 30.502574 45.238859)
+        (xy 30.417859 45.323574)
+        (xy 30.408665 45.336229)
+        (xy 30.354276 45.442974)
+        (xy 30.349442 45.45785)
+        (xy 30.33542 45.546384)
+        (xy 30.3348 45.554256)
+        (xy 30.3348 45.666067)
+        (xy 29.974175 45.666067)
+        (xy 29.954744 45.627931)
+        (xy 29.951149 45.620875)
+        (xy 29.855125 45.524851)
+        (xy 29.820383 45.507149)
+        (xy 29.741184 45.466795)
+        (xy 29.74118 45.466794)
+        (xy 29.734127 45.4632)
+        (xy 29.726306 45.461961)
+        (xy 29.726305 45.461961)
+        (xy 29.637651 45.447919)
+        (xy 29.637645 45.447919)
+        (xy 29.63374 45.4473)
+        (xy 29.11626 45.4473)
+        (xy 29.112355 45.447919)
+        (xy 29.112349 45.447919)
+        (xy 29.023695 45.461961)
+        (xy 29.023694 45.461961)
+        (xy 29.015873 45.4632)
+        (xy 29.00882 45.466794)
+        (xy 29.008816 45.466795)
+        (xy 28.929617 45.507149)
+        (xy 28.894875 45.524851)
+        (xy 28.798851 45.620875)
+        (xy 28.795256 45.627931)
+        (xy 28.740795 45.734816)
+        (xy 28.740794 45.73482)
+        (xy 28.7372 45.741873)
+        (xy 28.735961 45.749694)
+        (xy 28.735961 45.749695)
+        (xy 28.722191 45.836635)
+        (xy 28.7213 45.84226)
+        (xy 28.7213 46.35974)
+        (xy 28.427885 46.35974)
+        (xy 28.4282 46.355744)
+        (xy 28.4282 46.243933)
+        (xy 28.424012 46.231043)
+        (xy 28.419823 46.228)
+        (xy 27.7486 46.228)
+        (xy 27.689469 46.208787)
+        (xy 27.652924 46.158487)
+        (xy 27.648 46.1274)
+        (xy 27.648 45.958067)
+        (xy 27.902 45.958067)
+        (xy 27.906188 45.970957)
+        (xy 27.910377 45.974)
+        (xy 28.412266 45.974)
+        (xy 28.425156 45.969812)
+        (xy 28.428199 45.965623)
+        (xy 28.428199 45.846248)
+        (xy 28.427582 45.838399)
+        (xy 28.413558 45.74985)
+        (xy 28.408723 45.734971)
+        (xy 28.354335 45.628229)
+        (xy 28.345141 45.615574)
+        (xy 28.260426 45.530859)
+        (xy 28.247771 45.521665)
+        (xy 28.141026 45.467276)
+        (xy 28.12615 45.462442)
+        (xy 28.037616 45.44842)
+        (xy 28.029744 45.4478)
+        (xy 27.917933 45.4478)
+        (xy 27.905043 45.451988)
+        (xy 27.902 45.456177)
+        (xy 27.902 45.958067)
+        (xy 27.648 45.958067)
+        (xy 27.648 45.463734)
+        (xy 27.643812 45.450844)
+        (xy 27.639623 45.447801)
+        (xy 27.520248 45.447801)
+        (xy 27.512399 45.448418)
+        (xy 27.42385 45.462442)
+        (xy 27.408971 45.467277)
+        (xy 27.302229 45.521665)
+        (xy 27.287431 45.532416)
+        (xy 27.2283 45.551629)
+        (xy 27.169168 45.532416)
+        (xy 27.132624 45.482116)
+        (xy 27.1277 45.451029)
+        (xy 27.1277 44.58853)
+        (xy 27.462521 44.58853)
+        (xy 27.486644 44.689011)
+        (xy 27.490846 44.70031)
+        (xy 27.563345 44.840774)
+        (xy 27.570108 44.850726)
+        (xy 27.674024 44.969848)
+        (xy 27.682975 44.977907)
+        (xy 27.812299 45.068797)
+        (xy 27.822914 45.074489)
+        (xy 27.970181 45.131905)
+        (xy 27.981856 45.134902)
+        (xy 28.102385 45.150771)
+        (xy 28.108935 45.1512)
+        (xy 28.559067 45.1512)
+        (xy 28.571957 45.147012)
+        (xy 28.575 45.142823)
+        (xy 28.575 45.135267)
+        (xy 28.829 45.135267)
+        (xy 28.833188 45.148157)
+        (xy 28.837377 45.1512)
+        (xy 29.291659 45.1512)
+        (xy 29.297687 45.150836)
+        (xy 29.414947 45.136647)
+        (xy 29.426639 45.133775)
+        (xy 29.574515 45.077898)
+        (xy 29.585177 45.072324)
+        (xy 29.715454 44.982785)
+        (xy 29.724483 44.974825)
+        (xy 29.829638 44.856803)
+        (xy 29.836511 44.846914)
+        (xy 29.910479 44.707212)
+        (xy 29.914793 44.695974)
+        (xy 29.941297 44.590454)
+        (xy 29.940429 44.577714)
+        (xy 29.930996 44.575)
+        (xy 28.844933 44.575)
+        (xy 28.832043 44.579188)
+        (xy 28.829 44.583377)
+        (xy 28.829 45.135267)
+        (xy 28.575 45.135267)
+        (xy 28.575 44.590933)
+        (xy 28.570812 44.578043)
+        (xy 28.566623 44.575)
+        (xy 27.475206 44.575)
+        (xy 27.462896 44.579)
+        (xy 27.462521 44.58853)
+        (xy 27.1277 44.58853)
+        (xy 27.1277 44.305546)
+        (xy 27.462703 44.305546)
+        (xy 27.463571 44.318286)
+        (xy 27.473004 44.321)
+        (xy 28.559067 44.321)
+        (xy 28.571957 44.316812)
+        (xy 28.575 44.312623)
+        (xy 28.575 44.305067)
+        (xy 28.829 44.305067)
+        (xy 28.833188 44.317957)
+        (xy 28.837377 44.321)
+        (xy 29.928794 44.321)
+        (xy 29.941104 44.317)
+        (xy 29.941479 44.30747)
+        (xy 29.941017 44.305546)
+        (xy 31.642703 44.305546)
+        (xy 31.643571 44.318286)
+        (xy 31.653004 44.321)
+        (xy 32.739067 44.321)
+        (xy 32.751957 44.316812)
+        (xy 32.755 44.312623)
+        (xy 32.755 43.760733)
+        (xy 32.750812 43.747843)
+        (xy 32.746623 43.7448)
+        (xy 32.292341 43.7448)
+        (xy 32.286313 43.745164)
+        (xy 32.169053 43.759353)
+        (xy 32.157361 43.762225)
+        (xy 32.009485 43.818102)
+        (xy 31.998823 43.823676)
+        (xy 31.868546 43.913215)
+        (xy 31.859517 43.921175)
+        (xy 31.754362 44.039197)
+        (xy 31.747489 44.049086)
+        (xy 31.673521 44.188788)
+        (xy 31.669207 44.200026)
+        (xy 31.642703 44.305546)
+        (xy 29.941017 44.305546)
+        (xy 29.917356 44.206989)
+        (xy 29.913154 44.19569)
+        (xy 29.840655 44.055226)
+        (xy 29.833892 44.045274)
+        (xy 29.729976 43.926152)
+        (xy 29.721025 43.918093)
+        (xy 29.591701 43.827203)
+        (xy 29.581086 43.821511)
+        (xy 29.433819 43.764095)
+        (xy 29.422144 43.761098)
+        (xy 29.301615 43.745229)
+        (xy 29.295065 43.7448)
+        (xy 28.844933 43.7448)
+        (xy 28.832043 43.748988)
+        (xy 28.829 43.753177)
+        (xy 28.829 44.305067)
+        (xy 28.575 44.305067)
+        (xy 28.575 43.760733)
+        (xy 28.570812 43.747843)
+        (xy 28.566623 43.7448)
+        (xy 28.112341 43.7448)
+        (xy 28.106313 43.745164)
+        (xy 27.989053 43.759353)
+        (xy 27.977361 43.762225)
+        (xy 27.829485 43.818102)
+        (xy 27.818823 43.823676)
+        (xy 27.688546 43.913215)
+        (xy 27.679517 43.921175)
+        (xy 27.574362 44.039197)
+        (xy 27.567489 44.049086)
+        (xy 27.493521 44.188788)
+        (xy 27.489207 44.200026)
+        (xy 27.462703 44.305546)
+        (xy 27.1277 44.305546)
+        (xy 27.1277 43.6113)
+        (xy 27.146913 43.552169)
+        (xy 27.197213 43.515624)
+        (xy 27.2283 43.5107)
+        (xy 41.8343 43.5107)
+      )
+    )
+  )
+)

+ 75 - 0
dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_prl

@@ -0,0 +1,75 @@
+{
+  "board": {
+    "active_layer": 31,
+    "active_layer_preset": "",
+    "auto_track_width": true,
+    "hidden_nets": [],
+    "high_contrast_mode": 0,
+    "net_color_mode": 1,
+    "opacity": {
+      "pads": 1.0,
+      "tracks": 1.0,
+      "vias": 1.0,
+      "zones": 0.3100000023841858
+    },
+    "ratsnest_display_mode": 0,
+    "selection_filter": {
+      "dimensions": true,
+      "footprints": true,
+      "graphics": true,
+      "keepouts": true,
+      "lockedItems": true,
+      "otherItems": true,
+      "pads": true,
+      "text": true,
+      "tracks": true,
+      "vias": true,
+      "zones": true
+    },
+    "visible_items": [
+      0,
+      1,
+      2,
+      3,
+      4,
+      5,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28,
+      29,
+      30,
+      32,
+      33,
+      34,
+      35,
+      36
+    ],
+    "visible_layers": "7fcffff_80000001",
+    "zone_display_mode": 0
+  },
+  "meta": {
+    "filename": "d11-nano-dbg.kicad_prl",
+    "version": 3
+  },
+  "project": {
+    "files": []
+  }
+}

+ 435 - 0
dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_pro

@@ -0,0 +1,435 @@
+{
+  "board": {
+    "design_settings": {
+      "defaults": {
+        "board_outline_line_width": 0.09999999999999999,
+        "copper_line_width": 0.19999999999999998,
+        "copper_text_italic": false,
+        "copper_text_size_h": 1.5,
+        "copper_text_size_v": 1.5,
+        "copper_text_thickness": 0.3,
+        "copper_text_upright": false,
+        "courtyard_line_width": 0.049999999999999996,
+        "dimension_precision": 4,
+        "dimension_units": 3,
+        "dimensions": {
+          "arrow_length": 1270000,
+          "extension_offset": 500000,
+          "keep_text_aligned": true,
+          "suppress_zeroes": false,
+          "text_position": 0,
+          "units_format": 1
+        },
+        "fab_line_width": 0.09999999999999999,
+        "fab_text_italic": false,
+        "fab_text_size_h": 1.0,
+        "fab_text_size_v": 1.0,
+        "fab_text_thickness": 0.15,
+        "fab_text_upright": false,
+        "other_line_width": 0.15,
+        "other_text_italic": false,
+        "other_text_size_h": 1.0,
+        "other_text_size_v": 1.0,
+        "other_text_thickness": 0.15,
+        "other_text_upright": false,
+        "pads": {
+          "drill": 0.762,
+          "height": 1.524,
+          "width": 1.524
+        },
+        "silk_line_width": 0.15,
+        "silk_text_italic": false,
+        "silk_text_size_h": 1.0,
+        "silk_text_size_v": 1.0,
+        "silk_text_thickness": 0.15,
+        "silk_text_upright": false,
+        "zones": {
+          "45_degree_only": false,
+          "min_clearance": 0.2032
+        }
+      },
+      "diff_pair_dimensions": [
+        {
+          "gap": 0.0,
+          "via_gap": 0.0,
+          "width": 0.0
+        }
+      ],
+      "drc_exclusions": [],
+      "meta": {
+        "version": 2
+      },
+      "rule_severities": {
+        "annular_width": "error",
+        "clearance": "error",
+        "copper_edge_clearance": "error",
+        "courtyards_overlap": "error",
+        "diff_pair_gap_out_of_range": "error",
+        "diff_pair_uncoupled_length_too_long": "error",
+        "drill_out_of_range": "error",
+        "duplicate_footprints": "warning",
+        "extra_footprint": "warning",
+        "footprint_type_mismatch": "error",
+        "hole_clearance": "error",
+        "hole_near_hole": "error",
+        "invalid_outline": "error",
+        "item_on_disabled_layer": "error",
+        "items_not_allowed": "error",
+        "length_out_of_range": "error",
+        "malformed_courtyard": "error",
+        "microvia_drill_out_of_range": "error",
+        "missing_courtyard": "ignore",
+        "missing_footprint": "warning",
+        "net_conflict": "warning",
+        "npth_inside_courtyard": "ignore",
+        "padstack": "error",
+        "pth_inside_courtyard": "ignore",
+        "shorting_items": "error",
+        "silk_over_copper": "ignore",
+        "silk_overlap": "ignore",
+        "skew_out_of_range": "error",
+        "through_hole_pad_without_hole": "error",
+        "too_many_vias": "error",
+        "track_dangling": "warning",
+        "track_width": "error",
+        "tracks_crossing": "error",
+        "unconnected_items": "error",
+        "unresolved_variable": "error",
+        "via_dangling": "warning",
+        "zone_has_empty_net": "error",
+        "zones_intersect": "error"
+      },
+      "rules": {
+        "allow_blind_buried_vias": false,
+        "allow_microvias": false,
+        "max_error": 0.0050799999999999994,
+        "min_clearance": 0.0,
+        "min_copper_edge_clearance": 0.0,
+        "min_hole_clearance": 0.0,
+        "min_hole_to_hole": 0.254,
+        "min_microvia_diameter": 0.127,
+        "min_microvia_drill": 0.1016,
+        "min_silk_clearance": 0.0,
+        "min_through_hole_diameter": 0.3302,
+        "min_track_width": 0.254,
+        "min_via_annular_width": 0.17779999999999999,
+        "min_via_diameter": 0.3302,
+        "solder_mask_clearance": 0.0,
+        "solder_mask_min_width": 0.0,
+        "use_height_for_length_calcs": true
+      },
+      "track_widths": [
+        0.0,
+        0.2032,
+        0.254
+      ],
+      "via_dimensions": [
+        {
+          "diameter": 0.0,
+          "drill": 0.0
+        }
+      ],
+      "zones_allow_external_fillets": false,
+      "zones_use_no_outline": true
+    },
+    "layer_presets": []
+  },
+  "boards": [],
+  "cvpcb": {
+    "equivalence_files": []
+  },
+  "erc": {
+    "erc_exclusions": [],
+    "meta": {
+      "version": 0
+    },
+    "pin_map": [
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        2,
+        2,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        1,
+        0,
+        1,
+        2
+      ],
+      [
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        2,
+        1,
+        1,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        1,
+        1,
+        1,
+        1,
+        1,
+        0,
+        1,
+        1,
+        1,
+        1,
+        1,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        1,
+        2,
+        0,
+        0,
+        1,
+        0,
+        2,
+        2,
+        2,
+        2
+      ],
+      [
+        0,
+        2,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        1,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        0,
+        0,
+        2
+      ],
+      [
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2
+      ]
+    ],
+    "rule_severities": {
+      "bus_definition_conflict": "error",
+      "bus_entry_needed": "error",
+      "bus_label_syntax": "error",
+      "bus_to_bus_conflict": "error",
+      "bus_to_net_conflict": "error",
+      "different_unit_footprint": "error",
+      "different_unit_net": "error",
+      "duplicate_reference": "error",
+      "duplicate_sheet_names": "error",
+      "extra_units": "error",
+      "global_label_dangling": "warning",
+      "hier_label_mismatch": "error",
+      "label_dangling": "error",
+      "lib_symbol_issues": "warning",
+      "multiple_net_names": "warning",
+      "net_not_bus_member": "warning",
+      "no_connect_connected": "warning",
+      "no_connect_dangling": "warning",
+      "pin_not_connected": "ignore",
+      "pin_not_driven": "error",
+      "pin_to_pin": "error",
+      "power_pin_not_driven": "error",
+      "similar_labels": "warning",
+      "unannotated": "error",
+      "unit_value_mismatch": "error",
+      "unresolved_variable": "error",
+      "wire_dangling": "error"
+    }
+  },
+  "libraries": {
+    "pinned_footprint_libs": [],
+    "pinned_symbol_libs": []
+  },
+  "meta": {
+    "filename": "saml11-debug.kicad_pro",
+    "version": 1
+  },
+  "net_settings": {
+    "classes": [
+      {
+        "bus_width": 12.0,
+        "clearance": 0.1905,
+        "diff_pair_gap": 0.254,
+        "diff_pair_via_gap": 0.25,
+        "diff_pair_width": 0.254,
+        "line_style": 0,
+        "microvia_diameter": 0.254,
+        "microvia_drill": 0.1016,
+        "name": "Default",
+        "pcb_color": "rgba(0, 0, 0, 0.000)",
+        "schematic_color": "rgba(0, 0, 0, 0.000)",
+        "track_width": 0.254,
+        "via_diameter": 0.6858,
+        "via_drill": 0.3302,
+        "wire_width": 6.0
+      }
+    ],
+    "meta": {
+      "version": 2
+    },
+    "net_colors": null
+  },
+  "pcbnew": {
+    "last_paths": {
+      "gencad": "",
+      "idf": "",
+      "netlist": "",
+      "specctra_dsn": "",
+      "step": "",
+      "vrml": ""
+    },
+    "page_layout_descr_file": "pcb.kicad_wks"
+  },
+  "schematic": {
+    "annotate_start_num": 0,
+    "drawing": {
+      "default_line_thickness": 6.0,
+      "default_text_size": 50.0,
+      "field_names": [],
+      "intersheets_ref_own_page": false,
+      "intersheets_ref_prefix": "",
+      "intersheets_ref_short": false,
+      "intersheets_ref_show": true,
+      "intersheets_ref_suffix": "",
+      "junction_size_choice": 3,
+      "label_size_ratio": 0.375,
+      "pin_symbol_size": 25.0,
+      "text_offset_ratio": 0.15
+    },
+    "legacy_lib_dir": "",
+    "legacy_lib_list": [],
+    "meta": {
+      "version": 1
+    },
+    "net_format_name": "",
+    "ngspice": {
+      "fix_include_paths": true,
+      "fix_passive_vals": false,
+      "meta": {
+        "version": 0
+      },
+      "model_mode": 0,
+      "workbook_filename": ""
+    },
+    "page_layout_descr_file": "sch.kicad_wks",
+    "plot_directory": "output/",
+    "spice_adjust_passive_values": false,
+    "spice_external_command": "spice \"%I\"",
+    "subpart_first_id": 65,
+    "subpart_id_separator": 0
+  },
+  "sheets": [
+    [
+      "9538e4ed-27e6-4c37-b989-9859dc0d49e8",
+      ""
+    ]
+  ],
+  "text_variables": {}
+}

+ 1673 - 0
dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.kicad_sch

@@ -0,0 +1,1673 @@
+(kicad_sch (version 20211123) (generator eeschema)
+
+  (uuid 9538e4ed-27e6-4c37-b989-9859dc0d49e8)
+
+  (paper "USLetter")
+
+  (title_block
+    (date "2022-04-07")
+    (rev "1")
+  )
+
+  (lib_symbols
+    (symbol "ataradov_conn:Conn-5x2" (pin_names (offset 0.635)) (in_bom yes) (on_board yes)
+      (property "Reference" "J?" (id 0) (at 0 7.62 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "Conn-5x2" (id 1) (at 0 -7.62 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Footprint" "ataradov_conn:Header-5x2-2.54mm" (id 2) (at 0 -10.16 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 29.21 13.97 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "Conn-5x2_0_1"
+        (rectangle (start -3.81 6.35) (end 3.81 -6.35)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "Conn-5x2_1_1"
+        (pin passive line (at -6.35 5.08 0) (length 2.54)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 -5.08 180) (length 2.54)
+          (name "10" (effects (font (size 1.27 1.27))))
+          (number "10" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 5.08 180) (length 2.54)
+          (name "2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 2.54 0) (length 2.54)
+          (name "3" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 2.54 180) (length 2.54)
+          (name "4" (effects (font (size 1.27 1.27))))
+          (number "4" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 0 0) (length 2.54)
+          (name "5" (effects (font (size 1.27 1.27))))
+          (number "5" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 0 180) (length 2.54)
+          (name "6" (effects (font (size 1.27 1.27))))
+          (number "6" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 -2.54 0) (length 2.54)
+          (name "7" (effects (font (size 1.27 1.27))))
+          (number "7" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 -2.54 180) (length 2.54)
+          (name "8" (effects (font (size 1.27 1.27))))
+          (number "8" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 -5.08 0) (length 2.54)
+          (name "9" (effects (font (size 1.27 1.27))))
+          (number "9" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_conn:USB-C" (pin_numbers hide) (in_bom yes) (on_board yes)
+      (property "Reference" "J?" (id 0) (at 0 12.7 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "USB-C" (id 1) (at 0 -15.24 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_conn:USB-C" (id 2) (at 0 -17.78 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 3.81 -5.08 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "USB-C_0_1"
+        (rectangle (start -5.08 11.43) (end 5.08 -13.97)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "USB-C_1_1"
+        (pin bidirectional line (at 7.62 -2.54 180) (length 2.54)
+          (name "CC1" (effects (font (size 1.27 1.27))))
+          (number "CC1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 -5.08 180) (length 2.54)
+          (name "CC2" (effects (font (size 1.27 1.27))))
+          (number "CC2" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 5.08 180) (length 2.54)
+          (name "D+" (effects (font (size 1.27 1.27))))
+          (number "D+1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 2.54 180) (length 2.54)
+          (name "D+" (effects (font (size 1.27 1.27))))
+          (number "D+2" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 10.16 180) (length 2.54)
+          (name "D-" (effects (font (size 1.27 1.27))))
+          (number "D-1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 7.62 180) (length 2.54)
+          (name "D-" (effects (font (size 1.27 1.27))))
+          (number "D-2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -10.16 0) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "GND1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -12.7 0) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "GND2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 2.54 0) (length 2.54)
+          (name "S1" (effects (font (size 1.27 1.27))))
+          (number "S1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 0 0) (length 2.54)
+          (name "S2" (effects (font (size 1.27 1.27))))
+          (number "S2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -2.54 0) (length 2.54)
+          (name "S3" (effects (font (size 1.27 1.27))))
+          (number "S3" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -5.08 0) (length 2.54)
+          (name "S4" (effects (font (size 1.27 1.27))))
+          (number "S4" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 -10.16 180) (length 2.54)
+          (name "SBU1" (effects (font (size 1.27 1.27))))
+          (number "SBU1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 -12.7 180) (length 2.54)
+          (name "SBU2" (effects (font (size 1.27 1.27))))
+          (number "SBU2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 10.16 0) (length 2.54)
+          (name "VBUS" (effects (font (size 1.27 1.27))))
+          (number "VBUS1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 7.62 0) (length 2.54)
+          (name "VBUS" (effects (font (size 1.27 1.27))))
+          (number "VBUS2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_led:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "LED?" (id 0) (at 0 2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "LED" (id 1) (at 0 -2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_smd:0603" (id 2) (at 0 -4.2164 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 4.699 -4.191 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "LED_0_1"
+        (polyline
+          (pts
+            (xy 1.27 1.27)
+            (xy 1.27 -1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.1336 1.2192)
+            (xy 2.4892 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.794 1.524)
+            (xy 2.2352 1.1684)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.794 1.524)
+            (xy 2.4384 0.9652)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 3.2004 1.2192)
+            (xy 3.556 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 3.8608 1.524)
+            (xy 3.302 1.1684)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 3.8608 1.524)
+            (xy 3.4544 0.9652)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.27 1.27)
+            (xy -1.27 -1.27)
+            (xy 1.27 0)
+            (xy -1.27 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 1.6256 0.3556)
+            (xy 2.794 1.524)
+            (xy 2.1336 1.2192)
+            (xy 2.794 1.524)
+            (xy 2.4892 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.6924 0.3556)
+            (xy 3.8608 1.524)
+            (xy 3.2004 1.2192)
+            (xy 3.8608 1.524)
+            (xy 3.556 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "LED_1_1"
+        (pin passive line (at -3.81 0 0) (length 2.54)
+          (name "A" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 3.81 0 180) (length 2.54)
+          (name "K" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_mcu:ATSAMD11C" (in_bom yes) (on_board yes)
+      (property "Reference" "IC?" (id 0) (at 0 11.43 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "ATSAMD11C" (id 1) (at 0 -11.43 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_ic:SOIC-14" (id 2) (at 0 -13.97 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "ATSAMD11C_0_1"
+        (rectangle (start -10.16 10.16) (end 10.16 -10.16)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "ATSAMD11C_1_1"
+        (pin bidirectional line (at -12.7 2.54 0) (length 2.54)
+          (name "PA5" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -12.7 -7.62 0) (length 2.54)
+          (name "PA25/DP" (effects (font (size 1.27 1.27))))
+          (number "10" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 12.7 -7.62 180) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "11" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 12.7 7.62 180) (length 2.54)
+          (name "VDD" (effects (font (size 1.27 1.27))))
+          (number "12" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -12.7 7.62 0) (length 2.54)
+          (name "PA2" (effects (font (size 1.27 1.27))))
+          (number "13" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -12.7 5.08 0) (length 2.54)
+          (name "PA4" (effects (font (size 1.27 1.27))))
+          (number "14" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -12.7 0 0) (length 2.54)
+          (name "PA8" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -12.7 -2.54 0) (length 2.54)
+          (name "PA9" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 12.7 5.08 180) (length 2.54)
+          (name "PA14" (effects (font (size 1.27 1.27))))
+          (number "4" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 12.7 2.54 180) (length 2.54)
+          (name "PA15" (effects (font (size 1.27 1.27))))
+          (number "5" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 12.7 0 180) (length 2.54)
+          (name "PA28/RST" (effects (font (size 1.27 1.27))))
+          (number "6" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 12.7 -2.54 180) (length 2.54)
+          (name "PA30/SCK" (effects (font (size 1.27 1.27))))
+          (number "7" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 12.7 -5.08 180) (length 2.54)
+          (name "PA31/SIO" (effects (font (size 1.27 1.27))))
+          (number "8" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -12.7 -5.08 0) (length 2.54)
+          (name "PA24/DM" (effects (font (size 1.27 1.27))))
+          (number "9" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_misc:TestPoint" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
+      (property "Reference" "TP?" (id 0) (at 2.54 0 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Value" "TestPoint" (id 1) (at 7.62 0 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Footprint" "ataradov_misc:TestPoint-1.27mm" (id 2) (at 0 -2.54 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "TestPoint_0_1"
+        (circle (center 1.778 0) (radius 0.508)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type outline))
+        )
+      )
+      (symbol "TestPoint_1_1"
+        (pin passive line (at 0 0 0) (length 1.78)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_pwr:+3V3" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+      (property "Reference" "#PWR" (id 0) (at 0 4.445 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "+3V3" (id 1) (at 0 2.286 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "+3V3_0_1"
+        (polyline
+          (pts
+            (xy -1.905 1.27)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 1.27)
+            (xy 1.905 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "+3V3_1_1"
+        (pin power_in line (at 0 0 90) (length 0) hide
+          (name "+3V3" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_pwr:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+      (property "Reference" "#PWR" (id 0) (at 0 -4.445 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "GND" (id 1) (at 0 -2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "GND_0_1"
+        (polyline
+          (pts
+            (xy -1.905 -1.27)
+            (xy 1.905 -1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 -1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "GND_1_1"
+        (pin power_in line (at 0 0 270) (length 0) hide
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_pwr:VBUS" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+      (property "Reference" "#PWR" (id 0) (at 0 4.445 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "VBUS" (id 1) (at 0 2.286 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "VBUS_0_1"
+        (polyline
+          (pts
+            (xy -1.905 1.27)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 1.27)
+            (xy 1.905 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "VBUS_1_1"
+        (pin power_in line (at 0 0 90) (length 0) hide
+          (name "VBUS" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_rlc:C" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
+      (property "Reference" "C?" (id 0) (at 0.635 1.905 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Value" "C" (id 1) (at 0.635 -2.032 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Footprint" "ataradov_smd:0603" (id 2) (at 3.81 0 90)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "C_0_1"
+        (polyline
+          (pts
+            (xy -1.905 -0.508)
+            (xy 1.905 -0.508)
+          )
+          (stroke (width 0.5) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.905 0.508)
+            (xy 1.905 0.508)
+          )
+          (stroke (width 0.5) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "C_1_1"
+        (pin passive line (at 0 -2.54 90) (length 1.905)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 0 2.54 270) (length 1.905)
+          (name "2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_rlc:R" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
+      (property "Reference" "R?" (id 0) (at 0 2.032 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "R" (id 1) (at 0 0 0)
+        (effects (font (size 1.016 1.016)))
+      )
+      (property "Footprint" "ataradov_smd:0603" (id 2) (at -0.508 -2.54 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "R_0_1"
+        (rectangle (start -2.54 1.016) (end 2.54 -1.016)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "R_1_1"
+        (pin passive line (at -3.81 0 0) (length 1.27)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 3.81 0 180) (length 1.27)
+          (name "2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_vreg:SC662K" (in_bom yes) (on_board yes)
+      (property "Reference" "IC?" (id 0) (at 0 6.35 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "SC662K" (id 1) (at 0 -3.81 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_ic:SOT-23" (id 2) (at 0 -6.35 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "SC662K_0_1"
+        (rectangle (start -5.08 5.08) (end 5.08 -2.54)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "SC662K_1_1"
+        (pin power_in line (at -7.62 0 0) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_out line (at 7.62 2.54 180) (length 2.54)
+          (name "OUT" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at -7.62 2.54 0) (length 2.54)
+          (name "IN" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "power:PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "#FLG" (id 0) (at 0 1.905 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "PWR_FLAG" (id 1) (at 0 3.81 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "~" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_keywords" "power-flag" (id 4) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_description" "Special symbol for telling ERC where power comes from" (id 5) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "PWR_FLAG_0_0"
+        (pin power_out line (at 0 0 90) (length 0)
+          (name "pwr" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+      (symbol "PWR_FLAG_0_1"
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 1.27)
+            (xy -1.016 1.905)
+            (xy 0 2.54)
+            (xy 1.016 1.905)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+    )
+  )
+
+  (junction (at 72.39 71.12) (diameter 0) (color 0 0 0 0)
+    (uuid 13d14e22-7292-41c0-9503-e5c838361880)
+  )
+  (junction (at 72.39 68.58) (diameter 0) (color 0 0 0 0)
+    (uuid 3c41d82b-8405-4bfa-a9b5-f504becca4d7)
+  )
+  (junction (at 73.66 140.97) (diameter 0) (color 0 0 0 0)
+    (uuid 3f840ba8-88b8-4fc1-9c5c-292bbf94852b)
+  )
+  (junction (at 72.39 66.04) (diameter 0) (color 0 0 0 0)
+    (uuid 76d2fb0a-3949-4e96-a961-14367f8572ee)
+  )
+  (junction (at 72.39 55.88) (diameter 0) (color 0 0 0 0)
+    (uuid 7fa06e3f-644b-4b8a-acdd-46e2d6710ad7)
+  )
+  (junction (at 72.39 76.2) (diameter 0) (color 0 0 0 0)
+    (uuid 8d2d06c3-f3f9-4ba0-a25d-ef3f4dad3b9c)
+  )
+  (junction (at 147.32 55.88) (diameter 0) (color 0 0 0 0)
+    (uuid a6b0c3e4-0579-450a-9127-c31fb00c6692)
+  )
+  (junction (at 123.19 55.88) (diameter 0) (color 0 0 0 0)
+    (uuid a9696e43-3f81-4aa9-901f-150c6a0da3d7)
+  )
+  (junction (at 72.39 78.74) (diameter 0) (color 0 0 0 0)
+    (uuid b9f44169-38d2-4c75-8abc-ce01699774bb)
+  )
+  (junction (at 73.66 146.05) (diameter 0) (color 0 0 0 0)
+    (uuid c685073c-060b-41bd-aef7-91581b60c04b)
+  )
+  (junction (at 91.44 55.88) (diameter 0) (color 0 0 0 0)
+    (uuid d921ac40-acc6-423b-bfd8-c4851f3883ca)
+  )
+  (junction (at 91.44 60.96) (diameter 0) (color 0 0 0 0)
+    (uuid d957b265-4dfb-490e-8451-4fc54cc0fe94)
+  )
+
+  (wire (pts (xy 123.19 57.15) (xy 123.19 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 00633d47-9cbf-492d-bed4-85a8385cc5e4)
+  )
+  (wire (pts (xy 73.66 140.97) (xy 73.66 146.05))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 02ffca82-9430-4918-93a4-4370ded5af16)
+  )
+  (wire (pts (xy 88.9 71.12) (xy 93.98 71.12))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 080225d7-b073-4739-bf27-52f996e870be)
+  )
+  (wire (pts (xy 157.48 107.95) (xy 157.48 109.22))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 0bd27bb8-242f-4f0c-b5bf-1666e2009b71)
+  )
+  (wire (pts (xy 72.39 66.04) (xy 72.39 68.58))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 0cf40dd7-5817-483f-9d11-57a41b4ec132)
+  )
+  (wire (pts (xy 73.66 76.2) (xy 72.39 76.2))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 149525fb-328d-4bc6-83a1-83ed50c576b9)
+  )
+  (wire (pts (xy 99.06 68.58) (xy 99.06 72.39))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 1e63d159-a08a-443a-9fec-75c3c939d0b8)
+  )
+  (wire (pts (xy 157.48 114.3) (xy 160.02 114.3))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 2053487d-8135-4150-8098-928878d79142)
+  )
+  (wire (pts (xy 88.9 60.96) (xy 91.44 60.96))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 27cb0520-7d2d-45d1-943f-75311e6ac411)
+  )
+  (wire (pts (xy 199.39 110.49) (xy 201.93 110.49))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 2b8e51a2-b877-4660-a06f-e208ecf2ebac)
+  )
+  (wire (pts (xy 123.19 55.88) (xy 129.54 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 2f4d43f0-2c6f-40e4-b01b-d9f5f61213cf)
+  )
+  (wire (pts (xy 72.39 78.74) (xy 72.39 80.01))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 3c398f38-0d9a-4978-b0a3-bd2faaea9705)
+  )
+  (wire (pts (xy 73.66 138.43) (xy 76.2 138.43))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 3e9ef03e-9ff3-480b-993f-f00dcbda371b)
+  )
+  (wire (pts (xy 129.54 58.42) (xy 129.54 62.23))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 405e3491-1bb6-428b-81af-a8e410c94587)
+  )
+  (wire (pts (xy 157.48 116.84) (xy 160.02 116.84))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 4b8f23bc-3221-466e-8944-5461659b33a2)
+  )
+  (wire (pts (xy 132.08 111.76) (xy 129.54 111.76))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 4c340a85-603d-40bd-aa7a-a206f8627a35)
+  )
+  (wire (pts (xy 144.78 55.88) (xy 147.32 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 57de946c-8327-4e29-98fc-79d1179075c8)
+  )
+  (wire (pts (xy 88.9 68.58) (xy 99.06 68.58))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 5c40247e-5f02-469b-86e7-d7bb4f416cca)
+  )
+  (wire (pts (xy 129.54 114.3) (xy 132.08 114.3))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 5e43ff9e-afd4-4018-850d-662e08fd363b)
+  )
+  (wire (pts (xy 72.39 54.61) (xy 72.39 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 6699bb4c-e4d5-435e-9693-9c0516d322ad)
+  )
+  (wire (pts (xy 91.44 55.88) (xy 91.44 58.42))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 676dea48-0023-4cd1-a945-6994803a4f1b)
+  )
+  (wire (pts (xy 129.54 119.38) (xy 132.08 119.38))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 6a22192a-ff02-4d29-8aef-02d4d06ce5e1)
+  )
+  (wire (pts (xy 72.39 68.58) (xy 72.39 71.12))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 6b66a4fe-82c2-484e-b2b0-47e7ab549c52)
+  )
+  (wire (pts (xy 73.66 111.76) (xy 74.93 111.76))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 716cacd2-b62a-4296-9422-65b195c5029c)
+  )
+  (wire (pts (xy 147.32 57.15) (xy 147.32 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 731a378f-d234-4844-a1f0-f3e544bd6f27)
+  )
+  (wire (pts (xy 72.39 58.42) (xy 73.66 58.42))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 7b88745f-7df0-4577-b301-892773fe28e9)
+  )
+  (wire (pts (xy 72.39 78.74) (xy 73.66 78.74))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 7ceb1d65-5421-484d-87aa-13924aaae756)
+  )
+  (wire (pts (xy 157.48 121.92) (xy 160.02 121.92))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 7e16e382-e5f2-42f1-85f5-065b6d074030)
+  )
+  (wire (pts (xy 199.39 115.57) (xy 201.93 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 834b4e0b-e168-46bc-bb3f-e06dabfaa33c)
+  )
+  (wire (pts (xy 88.9 138.43) (xy 91.44 138.43))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 89261ac5-0564-4b1d-b017-242319b5fdb2)
+  )
+  (wire (pts (xy 88.9 58.42) (xy 91.44 58.42))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 906dec88-c6ae-4ac4-8821-e17d38435018)
+  )
+  (wire (pts (xy 129.54 116.84) (xy 132.08 116.84))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 934a13c2-54f2-4a76-824a-c770d27d3511)
+  )
+  (wire (pts (xy 88.9 135.89) (xy 91.44 135.89))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 974ddbc9-f8ee-4dc4-b05a-e1877f699b31)
+  )
+  (wire (pts (xy 91.44 55.88) (xy 93.98 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 9e66e55e-a977-46a0-89e3-16e50d413452)
+  )
+  (wire (pts (xy 72.39 71.12) (xy 72.39 76.2))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 9eafe17c-038c-473c-8052-312ba858c39c)
+  )
+  (wire (pts (xy 72.39 55.88) (xy 73.66 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 9f32c03c-5ae6-4101-8e07-770072f65cc0)
+  )
+  (wire (pts (xy 157.48 124.46) (xy 157.48 125.73))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a26e6b1b-0a07-473f-831c-21c2c3b390b9)
+  )
+  (wire (pts (xy 93.98 72.39) (xy 93.98 71.12))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a3feaa53-0740-4255-8bbb-e470492ffb35)
+  )
+  (wire (pts (xy 88.9 55.88) (xy 91.44 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a7dee156-9cb7-4378-88c2-445b299bdb4b)
+  )
+  (wire (pts (xy 73.66 113.03) (xy 73.66 111.76))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a8ecb82a-a930-4b75-a49f-6cfed974c3b2)
+  )
+  (wire (pts (xy 123.19 54.61) (xy 123.19 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a9cc9122-0c5d-492f-a732-d8fe9ef5c243)
+  )
+  (wire (pts (xy 72.39 76.2) (xy 72.39 78.74))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b06665ba-7a4d-414f-b0a4-f93d2cb82c1e)
+  )
+  (wire (pts (xy 72.39 68.58) (xy 73.66 68.58))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b18669f1-8123-45cb-b648-5a45107310c2)
+  )
+  (wire (pts (xy 73.66 146.05) (xy 76.2 146.05))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b2f1d7d4-9f26-4775-98bf-e2d379b9aa15)
+  )
+  (wire (pts (xy 72.39 55.88) (xy 72.39 58.42))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b3fd1879-6f20-4ba4-bd92-ac5be440ec16)
+  )
+  (wire (pts (xy 72.39 71.12) (xy 73.66 71.12))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b76bd2c4-f6ae-4bb6-96d7-d909c747e724)
+  )
+  (wire (pts (xy 129.54 121.92) (xy 132.08 121.92))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b8a5dc52-7eab-44b5-89c7-1bcb7bf04bc5)
+  )
+  (wire (pts (xy 88.9 63.5) (xy 91.44 63.5))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid bda5bd79-46d0-470f-978e-3a8f830bb866)
+  )
+  (wire (pts (xy 157.48 111.76) (xy 160.02 111.76))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid c02296bb-8160-4717-8315-3d29dace2c7f)
+  )
+  (wire (pts (xy 91.44 60.96) (xy 93.98 60.96))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid c31da7ac-0e84-49c9-a671-1085a8d3b053)
+  )
+  (wire (pts (xy 90.17 111.76) (xy 92.71 111.76))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid cc0dc745-9b61-4cd3-81f7-5853b83d005b)
+  )
+  (wire (pts (xy 73.66 138.43) (xy 73.66 140.97))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d1aec2ed-ddb3-4d19-acc4-fb896cfbc372)
+  )
+  (wire (pts (xy 73.66 140.97) (xy 76.2 140.97))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d3ba23cf-b750-40ae-a9d8-5fe48da4ee2d)
+  )
+  (wire (pts (xy 72.39 66.04) (xy 73.66 66.04))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d48a1f87-90e2-4ea0-aae2-d1ddc0abc032)
+  )
+  (wire (pts (xy 157.48 119.38) (xy 160.02 119.38))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid dbf868ea-9434-48d0-aa76-bef7f902a821)
+  )
+  (wire (pts (xy 88.9 140.97) (xy 91.44 140.97))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid de79fa3b-5a21-4aa0-b062-88deb8e9dcc0)
+  )
+  (wire (pts (xy 147.32 54.61) (xy 147.32 55.88))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid dee29706-d442-4ee4-95b9-3db6d1df4fb2)
+  )
+  (wire (pts (xy 91.44 60.96) (xy 91.44 63.5))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e1e8ab93-53e2-49b4-80f5-4568cb3bae24)
+  )
+  (wire (pts (xy 73.66 146.05) (xy 73.66 147.32))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e340fb45-4e18-4168-a6d4-82c73c910a23)
+  )
+  (wire (pts (xy 72.39 63.5) (xy 72.39 66.04))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid ec35aedc-0227-4426-b6e5-73130c121b8b)
+  )
+  (wire (pts (xy 73.66 63.5) (xy 72.39 63.5))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid ef34c09e-65f0-4b13-841b-8f0b0585a46d)
+  )
+  (wire (pts (xy 88.9 146.05) (xy 91.44 146.05))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f150141e-fd7a-4d6e-86b3-aac3c5be0358)
+  )
+  (wire (pts (xy 88.9 143.51) (xy 91.44 143.51))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f59a2f9e-8c80-4895-ba5f-24a5623e1940)
+  )
+  (wire (pts (xy 199.39 113.03) (xy 201.93 113.03))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid fa2a1528-acb3-48a1-9e97-b7cad95e8f50)
+  )
+  (wire (pts (xy 129.54 124.46) (xy 132.08 124.46))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid fdb404c9-5607-4f4e-961f-aaa1814b16ca)
+  )
+
+  (text "Copyright (c) 2022, Alex Taradov <alex@taradov.com>\nFirmware source code is available at https://github.com/ataradov"
+    (at 13.97 201.93 0)
+    (effects (font (size 2 2)) (justify left bottom))
+    (uuid 50d092a1-cb48-4b36-9419-53ddb3f8fa14)
+  )
+
+  (label "RESET" (at 91.44 146.05 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 0225db91-a163-4a58-be52-eeb95876d0a2)
+  )
+  (label "RESET" (at 129.54 114.3 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 0f09a254-c97e-4a49-8d13-aa6e8a474a8c)
+  )
+  (label "SWDIO{slash}TMS" (at 91.44 135.89 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 0fb39ecb-bdaa-4a44-932c-00ba235f9106)
+  )
+  (label "SWCLK{slash}TCK" (at 91.44 138.43 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 267bc4c9-4a57-49fb-9a86-3c3394033036)
+  )
+  (label "TDO" (at 129.54 119.38 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 3fa02667-3249-405c-b9cf-e27e456460f6)
+  )
+  (label "USB_DP" (at 93.98 60.96 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 406284fa-6bb4-4270-a795-ab760f09e09f)
+  )
+  (label "DBG_RESET" (at 199.39 113.03 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 41b12ede-4402-4c73-8d6f-022bcfc153d3)
+  )
+  (label "USB_DP" (at 129.54 124.46 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 5759d820-3866-4228-8b37-97f569241e89)
+  )
+  (label "USB_DM" (at 93.98 55.88 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 6928b21e-2cf1-44b8-b5c8-be68c3e55645)
+  )
+  (label "DBG_RESET" (at 160.02 116.84 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 697d909a-e6fc-428c-aba5-823fe93fa5a6)
+  )
+  (label "DBG_SWCLK" (at 160.02 119.38 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 6e1db7e3-4b71-4806-8c9e-112e2d4ec47d)
+  )
+  (label "DBG_SWDIO" (at 160.02 121.92 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 7374600e-6b12-40c9-bddb-81c2c0dd958f)
+  )
+  (label "SWDIO{slash}TMS" (at 160.02 114.3 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 84fc0eb0-584a-4153-8a28-03bf18d72fe9)
+  )
+  (label "DBG_SWCLK" (at 199.39 110.49 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 88655a05-ccea-498e-9be2-fd3ccdea92e2)
+  )
+  (label "TDO" (at 91.44 140.97 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 8b64048c-7fa8-4958-981f-2eaeeac8f9af)
+  )
+  (label "SWCLK{slash}TCK" (at 160.02 111.76 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 9d4a9182-5300-48aa-a5a4-edf55896fc62)
+  )
+  (label "TDI" (at 129.54 116.84 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid adbb91e5-fc98-4c11-b5cc-41655d290c8d)
+  )
+  (label "DBG_SWDIO" (at 199.39 115.57 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid ae2f6ccf-5df0-4d19-b53c-1c652197c3af)
+  )
+  (label "DAP_STATUS" (at 92.71 111.76 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid b733bd6d-60a4-4819-949f-403e8cd0b45d)
+  )
+  (label "TDI" (at 91.44 143.51 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid bf012cd6-b906-4e5b-af0c-c074a0c1d6a0)
+  )
+  (label "DAP_STATUS" (at 129.54 111.76 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid e8217ef5-eef7-4a47-ad84-fb66c9b3469f)
+  )
+  (label "USB_DM" (at 129.54 121.92 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid e83de5ae-0187-4a90-9f8d-b8a5bfc8d184)
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 147.32 59.69 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 03c058db-b9f4-404f-9c24-1f1dab858e28)
+    (property "Reference" "C2" (id 0) (at 147.955 57.785 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 147.955 61.722 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 151.13 59.69 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 147.32 59.69 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 0a7d999d-c76d-4114-8820-795cba286d73))
+    (pin "2" (uuid c3d6d463-954a-4c29-9ddb-4bb57be684cb))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 93.98 80.01 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 05e9ef89-9155-44fd-8508-5e0c3fb064ae)
+    (property "Reference" "#PWR010" (id 0) (at 93.98 84.455 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 93.98 82.55 0))
+    (property "Footprint" "" (id 2) (at 93.98 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 93.98 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid af33b692-45d2-4586-8e95-e4c4b30ce752))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 73.66 113.03 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 0757abbd-54c6-4c08-a50f-6bd1d1a846df)
+    (property "Reference" "#PWR013" (id 0) (at 73.66 117.475 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 73.66 115.57 0))
+    (property "Footprint" "" (id 2) (at 73.66 113.03 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 73.66 113.03 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 372dddc1-cb4f-4294-9fc4-ca7f615d3d36))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 147.32 62.23 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 26820f5c-8822-4371-879b-2c5fdeb709c6)
+    (property "Reference" "#PWR08" (id 0) (at 147.32 66.675 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 147.32 64.77 0))
+    (property "Footprint" "" (id 2) (at 147.32 62.23 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 147.32 62.23 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 3bef0362-242d-46c4-b651-9d41a3c29516))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 93.98 76.2 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 35477d2d-d398-4f18-becb-e7baa5331236)
+    (property "Reference" "R1" (id 0) (at 91.948 76.2 0))
+    (property "Value" "" (id 1) (at 93.98 76.2 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 96.52 76.708 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 93.98 76.2 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid aef499ec-a824-4421-9454-07582d251979))
+    (pin "2" (uuid c6669998-ea80-4d30-b026-ce57aa91ad9f))
+  )
+
+  (symbol (lib_id "ataradov_misc:TestPoint") (at 201.93 113.03 0) (mirror x) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6173c660-2127-4241-96b1-bfeb7449ff5f)
+    (property "Reference" "TP2" (id 0) (at 204.47 113.03 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "RST" (id 1) (at 209.55 113.03 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_misc:TestPoint-1.27mm-SMD" (id 2) (at 201.93 110.49 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 201.93 113.03 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid f3c120bd-69cb-4894-8bb2-219d2612edf6))
+  )
+
+  (symbol (lib_id "power:PWR_FLAG") (at 175.26 54.61 180) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 65803744-5fc3-48eb-aeb5-74da1b7d8a05)
+    (property "Reference" "#FLG01" (id 0) (at 175.26 56.515 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "PWR_FLAG" (id 1) (at 175.26 58.42 0))
+    (property "Footprint" "" (id 2) (at 175.26 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 175.26 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid a25e7a0e-3568-41c7-8781-638712835b6d))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 147.32 54.61 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6b77c6b8-330f-44c5-82f1-264745164425)
+    (property "Reference" "#PWR03" (id 0) (at 147.32 50.165 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 147.32 52.324 0))
+    (property "Footprint" "" (id 2) (at 147.32 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 147.32 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 544f0905-f177-4c0c-b536-d1ae7c0db5ae))
+  )
+
+  (symbol (lib_id "ataradov_led:LED") (at 86.36 111.76 0) (mirror y) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6bc6f722-72ae-42d6-be95-2b8bf65cd61e)
+    (property "Reference" "LED1" (id 0) (at 86.36 109.22 0))
+    (property "Value" "Orange" (id 1) (at 86.36 114.3 0))
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 86.36 115.9764 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 81.661 115.951 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 1caee53e-2f65-44a1-b0a6-628f6771d0f3))
+    (pin "2" (uuid d54c882f-01a3-47ff-b805-a1cce42998db))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 99.06 76.2 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6e18622d-ab16-46d3-8547-8e9d6c8c3481)
+    (property "Reference" "R2" (id 0) (at 97.028 76.2 0))
+    (property "Value" "" (id 1) (at 99.06 76.2 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 101.6 76.708 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 99.06 76.2 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid a2d8cec1-70fc-41aa-8ef4-4a25f56b53e0))
+    (pin "2" (uuid 5fbb5b31-843e-4091-87eb-d5903ebdb358))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 157.48 125.73 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 7374bcb7-15af-4d0f-999a-8281ae765e32)
+    (property "Reference" "#PWR015" (id 0) (at 157.48 130.175 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 157.48 128.27 0))
+    (property "Footprint" "" (id 2) (at 157.48 125.73 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 157.48 125.73 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid bb245c7e-ec50-452a-a17f-bf93af815a5a))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 123.19 62.23 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 739b591f-ee89-4e4b-a089-6321966edc77)
+    (property "Reference" "#PWR06" (id 0) (at 123.19 66.675 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 123.19 64.77 0))
+    (property "Footprint" "" (id 2) (at 123.19 62.23 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 123.19 62.23 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 0ddd913a-01fd-481e-b154-5f1b5423e9cd))
+  )
+
+  (symbol (lib_id "ataradov_pwr:VBUS") (at 175.26 54.61 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 795c085a-5839-4b20-9612-e1f68b728c60)
+    (property "Reference" "#PWR04" (id 0) (at 175.26 50.165 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "VBUS" (id 1) (at 175.26 52.324 0))
+    (property "Footprint" "" (id 2) (at 175.26 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 175.26 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 951cf345-da87-4fdd-b04a-95e684d5e266))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 157.48 107.95 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 7e3716c6-bd4b-4b73-bf20-cfdce2a449e5)
+    (property "Reference" "#PWR012" (id 0) (at 157.48 103.505 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 157.48 105.664 0))
+    (property "Footprint" "" (id 2) (at 157.48 107.95 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 157.48 107.95 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid d611e538-085f-4765-90b4-94ca28ea34f0))
+  )
+
+  (symbol (lib_id "ataradov_misc:TestPoint") (at 201.93 115.57 0) (mirror x) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 87a0447f-dae7-4542-8125-f968e31d4a91)
+    (property "Reference" "TP3" (id 0) (at 204.47 115.57 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "SIO" (id 1) (at 209.55 115.57 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_misc:TestPoint-1.27mm-SMD" (id 2) (at 201.93 113.03 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 201.93 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid b81c865d-107f-4ae5-bc0f-296174c9d79b))
+  )
+
+  (symbol (lib_id "ataradov_conn:Conn-5x2") (at 82.55 140.97 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 906df0a0-5839-47c0-b332-cec00bfc8d50)
+    (property "Reference" "J2" (id 0) (at 82.55 133.35 0))
+    (property "Value" "" (id 1) (at 82.55 148.59 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Footprint" "" (id 2) (at 82.55 151.13 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 111.76 127 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid de759948-161e-4bbe-93f4-670a576de500))
+    (pin "10" (uuid caa4298d-02d5-4f80-9b9d-47f1bd739f15))
+    (pin "2" (uuid eea8afc9-500b-4e96-9580-ce3dbde5cd58))
+    (pin "3" (uuid 0a742bb2-0657-47bc-9dea-e70308e1113a))
+    (pin "4" (uuid 9a87bfc4-c304-4037-8ceb-f6545574a9e8))
+    (pin "5" (uuid 8b398452-7864-4ae1-87b2-f3c31f993db8))
+    (pin "6" (uuid bea25862-abba-489f-bceb-f737bbb678c5))
+    (pin "7" (uuid 4ce03590-e0e1-4703-b46c-7b385c2aeba2))
+    (pin "8" (uuid f294a229-6752-4bf0-afcf-4e666738928a))
+    (pin "9" (uuid 5b9a3805-90b0-44a6-a86e-5b6c07ff9037))
+  )
+
+  (symbol (lib_id "ataradov_conn:USB-C") (at 81.28 66.04 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 9b533e2a-a396-4b85-abf3-b4e562338c74)
+    (property "Reference" "J1" (id 0) (at 81.28 53.34 0))
+    (property "Value" "" (id 1) (at 81.28 81.28 0))
+    (property "Footprint" "" (id 2) (at 81.28 83.82 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 85.09 71.12 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "CC1" (uuid 7f9b3afe-36aa-4100-8eb1-fe067dbbac71))
+    (pin "CC2" (uuid da17c545-f7d6-4b7a-b32a-9980c1fdd5ea))
+    (pin "D+1" (uuid ceeaa25e-5dd0-4b0b-abeb-d03824759358))
+    (pin "D+2" (uuid a7f9e962-df3d-48ec-bb65-e4cd721b1fdb))
+    (pin "D-1" (uuid ae41ddc8-040a-4a4c-a52c-c9a78e4e42c9))
+    (pin "D-2" (uuid 4d3f805b-53d2-4562-81c5-c956db5aea1d))
+    (pin "GND1" (uuid 3abc7d0d-7f0b-4ca9-ad83-e4dc3d16650e))
+    (pin "GND2" (uuid eee0e712-9905-455b-9345-42af9d32ddf8))
+    (pin "S1" (uuid 6995d692-6799-4a4b-8ee5-526e62999268))
+    (pin "S2" (uuid 3407777c-d948-490d-a2f0-b3ad3390e217))
+    (pin "S3" (uuid f4ad0534-361a-4967-ab71-475e6d58c79b))
+    (pin "S4" (uuid 765e88c2-7918-4daa-8f5e-e11a684828f1))
+    (pin "SBU1" (uuid 7c289ea3-a8eb-4bf9-bc4d-6cc10ec3f1c3))
+    (pin "SBU2" (uuid 0fa66da5-0371-4282-aa61-1dab22b21bd0))
+    (pin "VBUS1" (uuid c417a097-3716-42e2-a277-85bd091132c6))
+    (pin "VBUS2" (uuid d9f9cd76-2103-4a02-8698-c124fe624175))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 184.15 55.88 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid a4dc6caf-b167-4179-b6fc-f87da0aed1f2)
+    (property "Reference" "#PWR05" (id 0) (at 184.15 60.325 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 184.15 58.42 0))
+    (property "Footprint" "" (id 2) (at 184.15 55.88 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 184.15 55.88 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 9fef8c21-7687-44b2-9ae5-c73b7fddcb3d))
+  )
+
+  (symbol (lib_id "ataradov_misc:TestPoint") (at 201.93 110.49 0) (mirror x) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid bc214495-6305-49a3-bba3-3efe658c8dd7)
+    (property "Reference" "TP1" (id 0) (at 204.47 110.49 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "SCK" (id 1) (at 209.55 110.49 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_misc:TestPoint-1.27mm-SMD" (id 2) (at 201.93 107.95 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 201.93 110.49 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 7f901230-db95-48f1-ae4e-c62dd2ac69be))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 78.74 111.76 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid c594dcf2-f562-4ebf-9380-711463f31929)
+    (property "Reference" "R3" (id 0) (at 78.74 109.728 0))
+    (property "Value" "20K" (id 1) (at 78.74 111.76 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 78.232 114.3 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 78.74 111.76 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 23443ffc-e38c-4bb1-83e7-faaa59cc3785))
+    (pin "2" (uuid e75e898f-9689-4e61-8182-ec9e9a207da3))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 129.54 62.23 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid c860c4e9-3ddd-4065-857c-b9aedc01e6ad)
+    (property "Reference" "#PWR07" (id 0) (at 129.54 66.675 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 129.54 64.77 0))
+    (property "Footprint" "" (id 2) (at 129.54 62.23 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 129.54 62.23 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid ed1f5df2-cfb6-4083-a9e5-5d196546ef9b))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 72.39 80.01 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid d2299eed-477d-40aa-a7fd-92b8ce1c4acf)
+    (property "Reference" "#PWR09" (id 0) (at 72.39 84.455 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 72.39 82.55 0))
+    (property "Footprint" "" (id 2) (at 72.39 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 72.39 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 201d29c8-a0c2-462d-859b-6663f4546f75))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 99.06 80.01 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid dd61e408-7346-40a4-9cb9-99cd36090419)
+    (property "Reference" "#PWR011" (id 0) (at 99.06 84.455 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 99.06 82.55 0))
+    (property "Footprint" "" (id 2) (at 99.06 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 99.06 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 6a2c7e89-94bb-4d4b-9a3d-5734b3add4f2))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 123.19 59.69 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e06501c8-2845-4054-9787-05ce88080176)
+    (property "Reference" "C1" (id 0) (at 123.825 57.785 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 123.825 61.722 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 127 59.69 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 123.19 59.69 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid b1505178-62d2-4d69-88ca-4f0742d8c5a2))
+    (pin "2" (uuid 61f79dbe-baa7-4106-9905-30750859d682))
+  )
+
+  (symbol (lib_id "ataradov_vreg:SC662K") (at 137.16 58.42 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e254f06c-00a2-4056-b804-b955996fa3d5)
+    (property "Reference" "IC1" (id 0) (at 137.16 52.07 0))
+    (property "Value" "SC662K-3.3" (id 1) (at 137.16 62.23 0))
+    (property "Footprint" "ataradov_ic:SOT-23" (id 2) (at 137.16 64.77 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 137.16 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 907de315-5217-430d-b87e-7673d46e929e))
+    (pin "2" (uuid fa214dfc-a5ff-4252-a326-6f007fc38fde))
+    (pin "3" (uuid 44e9d130-6d17-4ee2-b86d-7a2ffde0c0ff))
+  )
+
+  (symbol (lib_id "ataradov_pwr:VBUS") (at 72.39 54.61 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e92fc636-6f09-4bcf-996b-40649153e556)
+    (property "Reference" "#PWR01" (id 0) (at 72.39 50.165 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "VBUS" (id 1) (at 72.39 52.324 0))
+    (property "Footprint" "" (id 2) (at 72.39 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 72.39 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid fd6083ca-e8b1-4b71-9edd-8b06964fad29))
+  )
+
+  (symbol (lib_id "ataradov_mcu:ATSAMD11C") (at 144.78 116.84 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e9485002-0b5c-4f78-8d49-67004f0e4d8e)
+    (property "Reference" "IC2" (id 0) (at 144.78 105.41 0))
+    (property "Value" "ATSAMD11C" (id 1) (at 144.78 128.27 0))
+    (property "Footprint" "ataradov_ic:SOIC-14" (id 2) (at 144.78 130.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 144.78 116.84 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 9d78b31d-4604-41f8-bd2f-6bf3c6f87fcd))
+    (pin "10" (uuid 0f59edd7-091a-4b03-9db4-f89c4aa2ce4b))
+    (pin "11" (uuid 6efc737d-5135-429a-aae1-4335391c7bac))
+    (pin "12" (uuid 0e04b0ed-ca5f-42bc-97c7-7b04bb57f514))
+    (pin "13" (uuid 12fefc7a-f21a-476e-82ac-997696b2b60a))
+    (pin "14" (uuid 4f528367-4751-43d7-ba58-d03bc3b75f4a))
+    (pin "2" (uuid 74d14a6f-b874-4afa-ad65-39b56f4a32f6))
+    (pin "3" (uuid f98fc2f0-80e4-4d83-a86d-fdfc8aa394a0))
+    (pin "4" (uuid 5594bf53-47e6-4576-b174-45ab94b82260))
+    (pin "5" (uuid 3eb4c8a6-373f-4727-aee6-c561980ec54b))
+    (pin "6" (uuid 954cd08a-048f-483e-958c-dbe0db840f6b))
+    (pin "7" (uuid 07709db1-af60-4425-ba05-9c0d19a65145))
+    (pin "8" (uuid 8967ff6c-b2ae-4efc-90ef-0dbcc74e6b71))
+    (pin "9" (uuid 81d84ff2-5e6b-4ed1-9a8f-e1c4aa71e796))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 73.66 147.32 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid ec2382c6-f67b-4899-959e-d04de4aba0e2)
+    (property "Reference" "#PWR016" (id 0) (at 73.66 151.765 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 73.66 149.86 0))
+    (property "Footprint" "" (id 2) (at 73.66 147.32 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 73.66 147.32 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid f602f74b-e606-42d0-aab7-713f25f1f15d))
+  )
+
+  (symbol (lib_id "power:PWR_FLAG") (at 184.15 55.88 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid f43c2fc6-cae3-4670-bdc3-d8ccd28d5859)
+    (property "Reference" "#FLG02" (id 0) (at 184.15 53.975 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "PWR_FLAG" (id 1) (at 184.15 52.07 0))
+    (property "Footprint" "" (id 2) (at 184.15 55.88 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 184.15 55.88 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 09274162-ac4a-4d4a-a141-bf8c133f61f6))
+  )
+
+  (symbol (lib_id "ataradov_pwr:VBUS") (at 123.19 54.61 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid fdfdc927-8119-42ff-858e-0c98d51b2e84)
+    (property "Reference" "#PWR02" (id 0) (at 123.19 50.165 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "VBUS" (id 1) (at 123.19 52.324 0))
+    (property "Footprint" "" (id 2) (at 123.19 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 123.19 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid d245a507-8a19-481d-a05d-417eb2477646))
+  )
+
+  (sheet_instances
+    (path "/" (page "1"))
+  )
+
+  (symbol_instances
+    (path "/65803744-5fc3-48eb-aeb5-74da1b7d8a05"
+      (reference "#FLG01") (unit 1) (value "PWR_FLAG") (footprint "")
+    )
+    (path "/f43c2fc6-cae3-4670-bdc3-d8ccd28d5859"
+      (reference "#FLG02") (unit 1) (value "PWR_FLAG") (footprint "")
+    )
+    (path "/e92fc636-6f09-4bcf-996b-40649153e556"
+      (reference "#PWR01") (unit 1) (value "VBUS") (footprint "")
+    )
+    (path "/fdfdc927-8119-42ff-858e-0c98d51b2e84"
+      (reference "#PWR02") (unit 1) (value "VBUS") (footprint "")
+    )
+    (path "/6b77c6b8-330f-44c5-82f1-264745164425"
+      (reference "#PWR03") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/795c085a-5839-4b20-9612-e1f68b728c60"
+      (reference "#PWR04") (unit 1) (value "VBUS") (footprint "")
+    )
+    (path "/a4dc6caf-b167-4179-b6fc-f87da0aed1f2"
+      (reference "#PWR05") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/739b591f-ee89-4e4b-a089-6321966edc77"
+      (reference "#PWR06") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/c860c4e9-3ddd-4065-857c-b9aedc01e6ad"
+      (reference "#PWR07") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/26820f5c-8822-4371-879b-2c5fdeb709c6"
+      (reference "#PWR08") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/d2299eed-477d-40aa-a7fd-92b8ce1c4acf"
+      (reference "#PWR09") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/05e9ef89-9155-44fd-8508-5e0c3fb064ae"
+      (reference "#PWR010") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/dd61e408-7346-40a4-9cb9-99cd36090419"
+      (reference "#PWR011") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/7e3716c6-bd4b-4b73-bf20-cfdce2a449e5"
+      (reference "#PWR012") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/0757abbd-54c6-4c08-a50f-6bd1d1a846df"
+      (reference "#PWR013") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/7374bcb7-15af-4d0f-999a-8281ae765e32"
+      (reference "#PWR015") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/ec2382c6-f67b-4899-959e-d04de4aba0e2"
+      (reference "#PWR016") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/e06501c8-2845-4054-9787-05ce88080176"
+      (reference "C1") (unit 1) (value "1uF") (footprint "ataradov_smd:0603")
+    )
+    (path "/03c058db-b9f4-404f-9c24-1f1dab858e28"
+      (reference "C2") (unit 1) (value "1uF") (footprint "ataradov_smd:0603")
+    )
+    (path "/e254f06c-00a2-4056-b804-b955996fa3d5"
+      (reference "IC1") (unit 1) (value "SC662K-3.3") (footprint "ataradov_ic:SOT-23")
+    )
+    (path "/e9485002-0b5c-4f78-8d49-67004f0e4d8e"
+      (reference "IC2") (unit 1) (value "ATSAMD11C") (footprint "ataradov_ic:SOIC-14")
+    )
+    (path "/9b533e2a-a396-4b85-abf3-b4e562338c74"
+      (reference "J1") (unit 1) (value "USB-C") (footprint "ataradov_conn:USB-C")
+    )
+    (path "/906df0a0-5839-47c0-b332-cec00bfc8d50"
+      (reference "J2") (unit 1) (value "Conn-5x2") (footprint "ataradov_conn:Header-5x2-1.27mm-SMD")
+    )
+    (path "/6bc6f722-72ae-42d6-be95-2b8bf65cd61e"
+      (reference "LED1") (unit 1) (value "Orange") (footprint "ataradov_smd:0603")
+    )
+    (path "/35477d2d-d398-4f18-becb-e7baa5331236"
+      (reference "R1") (unit 1) (value "5.1K") (footprint "ataradov_smd:0603")
+    )
+    (path "/6e18622d-ab16-46d3-8547-8e9d6c8c3481"
+      (reference "R2") (unit 1) (value "5.1K") (footprint "ataradov_smd:0603")
+    )
+    (path "/c594dcf2-f562-4ebf-9380-711463f31929"
+      (reference "R3") (unit 1) (value "20K") (footprint "ataradov_smd:0603")
+    )
+    (path "/bc214495-6305-49a3-bba3-3efe658c8dd7"
+      (reference "TP1") (unit 1) (value "SCK") (footprint "ataradov_misc:TestPoint-1.27mm-SMD")
+    )
+    (path "/6173c660-2127-4241-96b1-bfeb7449ff5f"
+      (reference "TP2") (unit 1) (value "RST") (footprint "ataradov_misc:TestPoint-1.27mm-SMD")
+    )
+    (path "/87a0447f-dae7-4542-8125-f968e31d4a91"
+      (reference "TP3") (unit 1) (value "SIO") (footprint "ataradov_misc:TestPoint-1.27mm-SMD")
+    )
+  )
+)

binární
dap_link/lib/free-dap/hardware/d11-nano-dbg/d11-nano-dbg.pdf


+ 5 - 0
dap_link/lib/free-dap/hardware/d11-nano-dbg/pcb.kicad_wks

@@ -0,0 +1,5 @@
+(kicad_wks (version 20210606) (generator pl_editor)
+  (setup (textsize 1.5 1.5)(linewidth 0.15)(textlinewidth 0.15)
+  (left_margin 10)(right_margin 10)(top_margin 10)(bottom_margin 10))
+  (line (name "segm1:Line") (start 0 0) (end 0 0))
+)

+ 15 - 0
dap_link/lib/free-dap/hardware/d11-nano-dbg/sch.kicad_wks

@@ -0,0 +1,15 @@
+(kicad_wks (version 20210606) (generator pl_editor)
+  (setup (textsize 1.5 1.5)(linewidth 0.15)(textlinewidth 0.15)
+  (left_margin 10)(right_margin 10)(top_margin 10)(bottom_margin 10))
+  (rect (name "") (start 0 0 ltcorner) (end 0 0) (repeat 2) (incrx 2) (incry 2))
+  (line (name "") (start 50 2 ltcorner) (end 50 0 ltcorner) (repeat 30) (incrx 50))
+  (tbtext "1" (name "") (pos 25 1 ltcorner) (font (size 1.3 1.3)) (repeat 100) (incrx 50))
+  (line (name "") (start 50 2 lbcorner) (end 50 0 lbcorner) (repeat 30) (incrx 50))
+  (tbtext "1" (name "") (pos 25 1 lbcorner) (font (size 1.3 1.3)) (repeat 100) (incrx 50))
+  (line (name "") (start 0 50 ltcorner) (end 2 50 ltcorner) (repeat 30) (incry 50))
+  (tbtext "A" (name "") (pos 1 25 ltcorner) (font (size 1.3 1.3)) (justify center) (repeat 100) (incry 50))
+  (line (name "") (start 0 50 rtcorner) (end 2 50 rtcorner) (repeat 30) (incry 50))
+  (tbtext "A" (name "") (pos 1 25 rtcorner) (font (size 1.3 1.3)) (justify center) (repeat 100) (incry 50))
+  (tbtext "${TITLE}${SHEETNAME} ${FILENAME}, rev ${REVISION} (${ISSUE_DATE}), page ${#} of ${##}" (name "") (pos 3 4) (justify right) (comment "Sheet id")
+)
+)

+ 700 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp.brd

@@ -0,0 +1,700 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="26.086" y2="0" width="0.1524" layer="20"/>
+<wire x1="26.086" y1="0" x2="26.086" y2="11.166" width="0.1524" layer="20"/>
+<wire x1="26.086" y1="11.166" x2="0" y2="11.166" width="0.1524" layer="20"/>
+<wire x1="0" y1="11.166" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="19.05" y="10.414" size="0.762" layer="28" font="vector" rot="MR180" align="bottom-center">4/13/19</text>
+<text x="20.574" y="1.27" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">1</text>
+<text x="16.51" y="3.302" size="1.27" layer="28" font="vector" rot="MR270" align="bottom-center">AT</text>
+<circle x="21.336" y="1.27" radius="0.254" width="0.508" layer="27"/>
+<circle x="21.336" y="1.27" radius="0.254" width="0.508" layer="28"/>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.397"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.397"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.7" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.7" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
+<pad name="1" x="0" y="0" drill="1.016" shape="octagon"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="2" x="-0.4" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="3" x="0.4" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="4" x="1.2" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="5" x="1.2" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="6" x="0.4" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="7" x="-0.4" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="8" x="-1.2" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.258" x2="1.778" y2="-1.258" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.258" x2="-1.778" y2="-1.258" width="0.1016" layer="21"/>
+<wire x1="-1.766" y1="1.27" x2="1.766" y2="1.27" width="0.1016" layer="21"/>
+<wire x1="-1.766" y1="-1.27" x2="1.766" y2="-1.27" width="0.1016" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="OSHPark *">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="6mil"/>
+<param name="mdSmdVia" value="6mil"/>
+<param name="mdSmdSmd" value="6mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="15mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="6mil"/>
+<param name="msDrill" value="13mil"/>
+<param name="msMicroVia" value="13mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="100mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="10mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="IC2" library="ataradov_mcu" package="SO-14" value="ATSAMD11C" x="10.414" y="6.35" smashed="yes" rot="MR270">
+<attribute name="NAME" x="10.414" y="11.176" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="15.494" y="8.636" rot="R90"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="8.128" y="8.636" smashed="yes" rot="R270">
+<attribute name="NAME" x="9.144" y="8.636" size="1.27" layer="25" font="vector" rot="R270" align="bottom-center"/>
+</element>
+<element name="IC1" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="11.938" y="8.636" smashed="yes" rot="R90">
+<attribute name="NAME" x="9.652" y="8.636" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="7.874" y="1.524" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="12.954" y="1.524" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="10.414" y="1.524" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="5.334" y="1.524" rot="MR0"/>
+<element name="J1" library="ataradov_conn" package="HEADER-5X2-1.27MM" value="HEADER-5X2-TH-1.27" x="19.304" y="5.588" rot="R90"/>
+<element name="J2" library="ataradov_conn" package="USB-B-MICRO-SMT-SHELL-TH" value="" x="0" y="5.588"/>
+<element name="R1" library="ataradov_rlc" package="SMD0603" value="470" x="9.398" y="3.048" rot="R270"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="" x="7.366" y="3.048" rot="R90"/>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="470" x="11.43" y="3.048" rot="R270"/>
+<element name="LED2" library="ataradov_led" package="SMD0603" value="" x="13.462" y="3.048" rot="R90"/>
+<element name="J3" library="ataradov_conn" package="PIN-TH" value="RX" x="22.606" y="8.128" smashed="yes" rot="R90">
+<attribute name="NAME" x="21.082" y="8.128" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="25.654" y="8.89" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="J4" library="ataradov_conn" package="PIN-TH" value="TX" x="22.606" y="5.588" smashed="yes" rot="R90">
+<attribute name="NAME" x="21.082" y="5.588" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="25.654" y="5.588" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="J5" library="ataradov_conn" package="PIN-TH" value="GND" x="22.606" y="3.048" smashed="yes" rot="R90">
+<attribute name="NAME" x="21.082" y="3.048" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="25.654" y="2.286" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="RN1" library="ataradov_rlc" package="SMD0603-X4" value="100" x="15.748" y="6.858" rot="MR90"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC1" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="IC2" pad="11"/>
+<contactref element="TP4" pad="1"/>
+<contactref element="J1" pad="3"/>
+<contactref element="J1" pad="5"/>
+<contactref element="J2" pad="5"/>
+<polygon width="0.254" layer="16" isolate="0.254">
+<vertex x="0" y="11.176"/>
+<vertex x="26.162" y="11.176"/>
+<vertex x="26.162" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<polygon width="0.254" layer="1" isolate="0.254">
+<vertex x="0" y="11.176"/>
+<vertex x="26.162" y="11.176"/>
+<vertex x="26.162" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<via x="1.524" y="7.366" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="11.684" y="1.016" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="22.606" y="10.16" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="1.524" y="3.81" extent="1-16" drill="0.508" diameter="0.254"/>
+<contactref element="LED2" pad="2"/>
+<contactref element="LED1" pad="2"/>
+<contactref element="J1" pad="9"/>
+<contactref element="J5" pad="1"/>
+<via x="9.144" y="1.016" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="3.81" y="10.16" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="3.81" y="1.016" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="22.606" y="1.016" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="6.604" y="1.016" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="14.224" y="1.016" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="9.652" y="6.096" extent="1-16" drill="0.508" diameter="0.254"/>
+</signal>
+<signal name="N$1">
+<contactref element="IC2" pad="9"/>
+<contactref element="J2" pad="2"/>
+<via x="2.032" y="5.588" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="7.814" y1="3.81" x2="6.604" y2="3.81" width="0.254" layer="16"/>
+<wire x1="6.604" y1="3.81" x2="6.096" y2="4.318" width="0.254" layer="16"/>
+<wire x1="6.096" y1="4.318" x2="2.54" y2="4.318" width="0.254" layer="16"/>
+<wire x1="2.032" y1="5.588" x2="2.682" y2="6.238" width="0.254" layer="1"/>
+<wire x1="2.682" y1="6.238" x2="4.825" y2="6.238" width="0.254" layer="1"/>
+<wire x1="2.54" y1="4.318" x2="2.032" y2="4.826" width="0.254" layer="16"/>
+<wire x1="2.032" y1="4.826" x2="2.032" y2="5.588" width="0.254" layer="16"/>
+</signal>
+<signal name="N$2">
+<contactref element="IC2" pad="10"/>
+<contactref element="J2" pad="3"/>
+<via x="3.302" y="5.334" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="7.814" y1="5.08" x2="3.556" y2="5.08" width="0.254" layer="16"/>
+<wire x1="3.556" y1="5.08" x2="3.302" y2="5.334" width="0.254" layer="16"/>
+<wire x1="4.825" y1="5.588" x2="3.556" y2="5.588" width="0.254" layer="1"/>
+<wire x1="3.556" y1="5.588" x2="3.302" y2="5.334" width="0.254" layer="1"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC1" pad="3"/>
+<contactref element="IC1" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="J2" pad="1"/>
+<wire x1="4.825" y1="6.888" x2="11.968" y2="6.888" width="0.254" layer="1"/>
+<wire x1="11.968" y1="6.888" x2="12.192" y2="7.112" width="0.254" layer="1"/>
+<wire x1="12.192" y1="7.112" x2="12.192" y2="7.62" width="0.254" layer="1"/>
+<wire x1="12.192" y1="7.62" x2="12.192" y2="9.398" width="0.254" layer="1"/>
+<wire x1="12.192" y1="9.398" x2="12.38" y2="9.586" width="0.254" layer="1"/>
+<wire x1="12.38" y1="9.586" x2="13.238" y2="9.586" width="0.254" layer="1"/>
+<wire x1="13.238" y1="7.686" x2="13.172" y2="7.62" width="0.254" layer="1"/>
+<wire x1="13.172" y1="7.62" x2="12.192" y2="7.62" width="0.254" layer="1"/>
+<wire x1="13.238" y1="9.586" x2="15.344" y2="9.586" width="0.254" layer="1"/>
+<wire x1="15.344" y1="9.586" x2="15.494" y2="9.436" width="0.254" layer="1"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC1" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC2" pad="12"/>
+<via x="9.398" y="7.874" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="7.814" y1="7.62" x2="9.144" y2="7.62" width="0.254" layer="16"/>
+<wire x1="9.144" y1="7.62" x2="9.398" y2="7.874" width="0.254" layer="16"/>
+<wire x1="10.638" y1="7.686" x2="9.586" y2="7.686" width="0.254" layer="1"/>
+<wire x1="9.586" y1="7.686" x2="9.398" y2="7.874" width="0.254" layer="1"/>
+<wire x1="8.128" y1="7.836" x2="9.36" y2="7.836" width="0.254" layer="1"/>
+<wire x1="9.36" y1="7.836" x2="9.398" y2="7.874" width="0.254" layer="1"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="IC2" pad="8"/>
+<contactref element="TP1" pad="1"/>
+<wire x1="7.814" y1="2.54" x2="7.874" y2="2.48" width="0.254" layer="16"/>
+<wire x1="7.874" y1="2.48" x2="7.874" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="PA02">
+<contactref element="IC2" pad="13"/>
+<contactref element="R1" pad="1"/>
+<via x="10.16" y="4.826" extent="1-16" drill="0.508" diameter="0.508"/>
+<wire x1="10.16" y1="4.826" x2="10.414" y2="5.08" width="0.254" layer="16"/>
+<wire x1="7.814" y1="8.89" x2="10.16" y2="8.89" width="0.254" layer="16"/>
+<wire x1="10.16" y1="8.89" x2="10.414" y2="8.636" width="0.254" layer="16"/>
+<wire x1="10.414" y1="8.636" x2="10.414" y2="5.08" width="0.254" layer="16"/>
+<wire x1="9.398" y1="3.848" x2="9.398" y2="4.572" width="0.254" layer="1"/>
+<wire x1="9.398" y1="4.572" x2="9.652" y2="4.826" width="0.254" layer="1"/>
+<wire x1="9.652" y1="4.826" x2="10.16" y2="4.826" width="0.254" layer="1"/>
+</signal>
+<signal name="PA04">
+<contactref element="IC2" pad="14"/>
+<contactref element="R2" pad="1"/>
+<via x="11.176" y="5.334" extent="1-16" drill="0.508" diameter="0.508"/>
+<wire x1="11.176" y1="5.334" x2="11.176" y2="9.906" width="0.254" layer="16"/>
+<wire x1="7.814" y1="10.16" x2="10.922" y2="10.16" width="0.254" layer="16"/>
+<wire x1="10.922" y1="10.16" x2="11.176" y2="9.906" width="0.254" layer="16"/>
+<wire x1="11.43" y1="3.848" x2="11.43" y2="5.08" width="0.254" layer="1"/>
+<wire x1="11.43" y1="5.08" x2="11.176" y2="5.334" width="0.254" layer="1"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="IC2" pad="7"/>
+<contactref element="TP2" pad="1"/>
+<wire x1="13.014" y1="2.54" x2="12.954" y2="2.48" width="0.254" layer="16"/>
+<wire x1="12.954" y1="2.48" x2="12.954" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="IC2" pad="6"/>
+<contactref element="TP3" pad="1"/>
+<wire x1="13.014" y1="3.81" x2="11.684" y2="3.81" width="0.254" layer="16"/>
+<wire x1="11.684" y1="3.81" x2="10.414" y2="2.54" width="0.254" layer="16"/>
+<wire x1="10.414" y1="2.54" x2="10.414" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="T_SWDIO">
+<contactref element="J1" pad="2"/>
+<contactref element="RN1" pad="8"/>
+<wire x1="18.669" y1="3.048" x2="17.272" y2="3.048" width="0.254" layer="16"/>
+<wire x1="17.272" y1="3.048" x2="16.373" y2="3.947" width="0.254" layer="16"/>
+<wire x1="16.373" y1="3.947" x2="16.373" y2="5.658" width="0.254" layer="16"/>
+</signal>
+<signal name="T_SWCLK">
+<contactref element="J1" pad="4"/>
+<contactref element="RN1" pad="7"/>
+<wire x1="18.669" y1="4.318" x2="18.034" y2="4.318" width="0.254" layer="16"/>
+<wire x1="18.034" y1="4.318" x2="17.526" y2="4.826" width="0.254" layer="16"/>
+<wire x1="17.526" y1="4.826" x2="17.526" y2="6.096" width="0.254" layer="16"/>
+<wire x1="17.526" y1="6.096" x2="17.164" y2="6.458" width="0.254" layer="16"/>
+<wire x1="17.164" y1="6.458" x2="16.373" y2="6.458" width="0.254" layer="16"/>
+</signal>
+<signal name="T_RESET">
+<contactref element="J1" pad="10"/>
+<contactref element="RN1" pad="6"/>
+<wire x1="18.669" y1="8.128" x2="17.78" y2="8.128" width="0.254" layer="16"/>
+<wire x1="17.78" y1="8.128" x2="16.91" y2="7.258" width="0.254" layer="16"/>
+<wire x1="16.91" y1="7.258" x2="16.373" y2="7.258" width="0.254" layer="16"/>
+</signal>
+<signal name="PA14">
+<contactref element="IC2" pad="4"/>
+<contactref element="RN1" pad="2"/>
+<wire x1="13.014" y1="6.35" x2="13.122" y2="6.458" width="0.254" layer="16"/>
+<wire x1="13.122" y1="6.458" x2="15.123" y2="6.458" width="0.254" layer="16"/>
+</signal>
+<signal name="PA15">
+<contactref element="IC2" pad="5"/>
+<contactref element="RN1" pad="1"/>
+<wire x1="13.014" y1="5.08" x2="14.986" y2="5.08" width="0.254" layer="16"/>
+<wire x1="14.986" y1="5.08" x2="15.123" y2="5.217" width="0.254" layer="16"/>
+<wire x1="15.123" y1="5.217" x2="15.123" y2="5.658" width="0.254" layer="16"/>
+</signal>
+<signal name="PA09">
+<contactref element="IC2" pad="3"/>
+<contactref element="RN1" pad="3"/>
+<wire x1="13.014" y1="7.62" x2="14.224" y2="7.62" width="0.254" layer="16"/>
+<wire x1="14.224" y1="7.62" x2="14.586" y2="7.258" width="0.254" layer="16"/>
+<wire x1="14.586" y1="7.258" x2="15.123" y2="7.258" width="0.254" layer="16"/>
+</signal>
+<signal name="PA08">
+<contactref element="IC2" pad="2"/>
+<contactref element="RN1" pad="4"/>
+<wire x1="13.014" y1="8.89" x2="14.732" y2="8.89" width="0.254" layer="16"/>
+<wire x1="14.732" y1="8.89" x2="15.123" y2="8.499" width="0.254" layer="16"/>
+<wire x1="15.123" y1="8.499" x2="15.123" y2="8.058" width="0.254" layer="16"/>
+</signal>
+<signal name="N$4">
+<contactref element="R1" pad="2"/>
+<contactref element="LED1" pad="1"/>
+<wire x1="7.366" y1="2.248" x2="9.398" y2="2.248" width="0.254" layer="1"/>
+</signal>
+<signal name="N$6">
+<contactref element="R2" pad="2"/>
+<contactref element="LED2" pad="1"/>
+<wire x1="11.43" y1="2.248" x2="13.462" y2="2.248" width="0.254" layer="1"/>
+</signal>
+<signal name="UART_TX">
+<contactref element="J4" pad="1"/>
+<contactref element="RN1" pad="5"/>
+<wire x1="22.606" y1="5.588" x2="21.336" y2="6.858" width="0.254" layer="16"/>
+<wire x1="21.336" y1="6.858" x2="21.336" y2="9.144" width="0.254" layer="16"/>
+<wire x1="21.336" y1="9.144" x2="20.828" y2="9.652" width="0.254" layer="16"/>
+<wire x1="20.828" y1="9.652" x2="17.018" y2="9.652" width="0.254" layer="16"/>
+<wire x1="17.018" y1="9.652" x2="16.51" y2="9.144" width="0.254" layer="16"/>
+<wire x1="16.51" y1="9.144" x2="16.51" y2="8.195" width="0.254" layer="16"/>
+<wire x1="16.51" y1="8.195" x2="16.373" y2="8.058" width="0.254" layer="16"/>
+</signal>
+<signal name="N$11">
+</signal>
+<signal name="UART_RX">
+<contactref element="J3" pad="1"/>
+<contactref element="IC2" pad="1"/>
+<wire x1="13.014" y1="10.16" x2="21.082" y2="10.16" width="0.254" layer="16"/>
+<wire x1="21.082" y1="10.16" x2="22.606" y2="8.636" width="0.254" layer="16"/>
+<wire x1="22.606" y1="8.636" x2="22.606" y2="8.128" width="0.254" layer="16"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp.pdf


+ 1314 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp.sch

@@ -0,0 +1,1314 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXC">
+<description>Atmel SAM D09C/D10C/D11C Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="10.16" x2="12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-10.16" x2="-12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-10.16" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="-17.78" y="-5.08" length="middle"/>
+<pin name="PA8" x="-17.78" y="5.08" length="middle"/>
+<pin name="PA9" x="-17.78" y="2.54" length="middle"/>
+<pin name="PA14" x="-17.78" y="0" length="middle"/>
+<pin name="PA15" x="-17.78" y="-2.54" length="middle"/>
+<pin name="PA5" x="-17.78" y="7.62" length="middle"/>
+<pin name="PA04" x="17.78" y="7.62" length="middle" rot="R180"/>
+<pin name="PA02" x="17.78" y="5.08" length="middle" rot="R180"/>
+<text x="0" y="10.922" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-12.192" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="-17.78" y="-7.62" length="middle"/>
+<pin name="VDD" x="17.78" y="2.54" length="middle" rot="R180"/>
+<pin name="GND" x="17.78" y="0" length="middle" rot="R180"/>
+<pin name="PA25" x="17.78" y="-2.54" length="middle" rot="R180"/>
+<pin name="PA24" x="17.78" y="-5.08" length="middle" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-7.62" length="middle" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11C" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXC" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="SO-14">
+<connects>
+<connect gate="G$1" pin="GND" pad="11"/>
+<connect gate="G$1" pin="PA02" pad="13"/>
+<connect gate="G$1" pin="PA04" pad="14"/>
+<connect gate="G$1" pin="PA14" pad="4"/>
+<connect gate="G$1" pin="PA15" pad="5"/>
+<connect gate="G$1" pin="PA24" pad="9"/>
+<connect gate="G$1" pin="PA25" pad="10"/>
+<connect gate="G$1" pin="PA28/RST" pad="6"/>
+<connect gate="G$1" pin="PA30/SCK" pad="7"/>
+<connect gate="G$1" pin="PA31/SIO" pad="8"/>
+<connect gate="G$1" pin="PA5" pad="1"/>
+<connect gate="G$1" pin="PA8" pad="2"/>
+<connect gate="G$1" pin="PA9" pad="3"/>
+<connect gate="G$1" pin="VDD" pad="12"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="HEADER-5X2-2.54MM">
+<wire x1="-6.35" y1="0" x2="-3.81" y2="0" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="0" x2="-3.81" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1.016" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1.016"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1.016"/>
+<pad name="4" x="-2.54" y="1.27" drill="1.016"/>
+<pad name="5" x="0" y="-1.27" drill="1.016"/>
+<pad name="6" x="0" y="1.27" drill="1.016"/>
+<pad name="7" x="2.54" y="-1.27" drill="1.016"/>
+<pad name="8" x="2.54" y="1.27" drill="1.016"/>
+<pad name="9" x="5.08" y="-1.27" drill="1.016"/>
+<pad name="10" x="5.08" y="1.27" drill="1.016"/>
+<text x="0" y="3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.397"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.397"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.7" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.7" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
+<pad name="1" x="0" y="0" drill="1.016" shape="octagon"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="HEADER-5X2">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-7.62" x2="5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="7.62" x2="-5.08" y2="7.62" width="0.254" layer="94"/>
+<pin name="1" x="-7.62" y="5.08" length="short" direction="pas"/>
+<pin name="2" x="7.62" y="5.08" length="short" direction="pas" rot="R180"/>
+<pin name="3" x="-7.62" y="2.54" length="short" direction="pas"/>
+<pin name="4" x="7.62" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="5" x="-7.62" y="0" length="short" direction="pas"/>
+<pin name="6" x="7.62" y="0" length="short" direction="pas" rot="R180"/>
+<pin name="7" x="-7.62" y="-2.54" length="short" direction="pas"/>
+<pin name="8" x="7.62" y="-2.54" length="short" direction="pas" rot="R180"/>
+<pin name="9" x="-7.62" y="-5.08" length="short" direction="pas"/>
+<pin name="10" x="7.62" y="-5.08" length="short" direction="pas" rot="R180"/>
+<text x="0" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+</symbol>
+<symbol name="MICRO-USB-5">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-10.16" width="0.254" layer="94"/>
+<text x="0.762" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="VBUS" x="-7.62" y="5.08" visible="pin" length="short" direction="pas"/>
+<pin name="DM" x="-7.62" y="2.54" visible="pin" length="short" direction="pas"/>
+<pin name="DP" x="-7.62" y="0" visible="pin" length="short" direction="pas"/>
+<pin name="ID" x="-7.62" y="-2.54" visible="pin" length="short" direction="pas"/>
+<pin name="GND" x="-7.62" y="-5.08" visible="pin" length="short" direction="pas"/>
+<wire x1="7.62" y1="7.62" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-10.16" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<pin name="SHIELD" x="-7.62" y="-7.62" visible="pin" length="short" direction="pas"/>
+<text x="0.762" y="-12.192" size="1.27" layer="95" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="CONN-SINGLE">
+<wire x1="-2.54" y1="0.762" x2="0.127" y2="0" width="0.254" layer="94"/>
+<wire x1="0.127" y1="0" x2="-2.4765" y2="-0.762" width="0.254" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<text x="1.27" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<text x="6.096" y="-0.508" size="1.27" layer="96">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="HEADER-5X2" prefix="J">
+<gates>
+<gate name="G$1" symbol="HEADER-5X2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH-1.27" package="HEADER-5X2-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54" package="HEADER-5X2-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="USB-B-MICRO" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="MICRO-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMT" package="USB-B-MICRO-SMT-SHELL-TH">
+<connects>
+<connect gate="G$1" pin="DM" pad="2"/>
+<connect gate="G$1" pin="DP" pad="3"/>
+<connect gate="G$1" pin="GND" pad="5"/>
+<connect gate="G$1" pin="ID" pad="4"/>
+<connect gate="G$1" pin="SHIELD" pad="M1 M2 M3 M4" route="any"/>
+<connect gate="G$1" pin="VBUS" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="CONN-SINGLE" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="CONN-SINGLE" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH" package="PIN-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="2" x="-0.4" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="3" x="0.4" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="4" x="1.2" y="-0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="5" x="1.2" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="6" x="0.4" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="7" x="-0.4" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<smd name="8" x="-1.2" y="0.625" dx="0.5" dy="0.65" layer="1"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.258" x2="1.778" y2="-1.258" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.258" x2="-1.778" y2="-1.258" width="0.1016" layer="21"/>
+<wire x1="-1.766" y1="1.27" x2="1.766" y2="1.27" width="0.1016" layer="21"/>
+<wire x1="-1.766" y1="-1.27" x2="1.766" y2="-1.27" width="0.1016" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+<symbol name="RN-4">
+<wire x1="-2.54" y1="1.524" x2="-2.54" y2="3.556" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="2.54" visible="off" length="short" direction="pas"/>
+<pin name="8" x="5.08" y="2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="4.572" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<wire x1="2.54" y1="1.524" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="3.556" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.524" x2="2.54" y2="1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="2" x="-5.08" y="0" visible="off" length="short" direction="pas"/>
+<pin name="7" x="5.08" y="0" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="-2.54" y2="-1.524" width="0.254" layer="94"/>
+<pin name="3" x="-5.08" y="-2.54" visible="off" length="short" direction="pas"/>
+<pin name="6" x="5.08" y="-2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-3.556" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.524" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="2.54" y2="-3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="-2.54" y2="-4.064" width="0.254" layer="94"/>
+<pin name="4" x="-5.08" y="-5.08" visible="off" length="short" direction="pas"/>
+<pin name="5" x="5.08" y="-5.08" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="2.54" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-6.096" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-4.064" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="2.54" y2="-6.096" width="0.254" layer="94"/>
+<wire x1="-3.048" y1="-6.604" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="-3.048" y2="-6.604" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="4.064" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="RN-4" prefix="RN" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="RN-4" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0603-X4" package="SMD0603-X4">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="sup"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="sup" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pwr" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="in"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="IC2" library="ataradov_mcu" deviceset="ATSAMD11C" device=""/>
+<part name="P_5" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_8" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_10" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="IC1" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="J1" library="ataradov_conn" deviceset="HEADER-5X2" device="-TH-1.27"/>
+<part name="P_7" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J2" library="ataradov_conn" deviceset="USB-B-MICRO" device="-SMT"/>
+<part name="R1" library="ataradov_rlc" deviceset="R" device="-0603" value="470"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="470"/>
+<part name="LED2" library="ataradov_led" deviceset="LED_SMD" device="LED_0603"/>
+<part name="P_13" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J3" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="RX"/>
+<part name="J4" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="TX"/>
+<part name="J5" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="GND"/>
+<part name="P_12" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="RN1" library="ataradov_rlc" deviceset="RN-4" device="-0603-X4" value="100"/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="152.4" y2="119.38" columns="8" rows="5" layer="97"/>
+<text x="27.94" y="106.68" size="1.778" layer="97" align="bottom-center">Program</text>
+<text x="76.2" y="106.68" size="1.778" layer="97" align="bottom-center">Target</text>
+<text x="60.96" y="15.24" size="1.778" layer="97">Copyright (c) 2016-2019, Alex Taradov &lt;alex@taradov.com&gt;
+
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+<text x="124.46" y="106.68" size="1.778" layer="97" align="bottom-center">UART</text>
+</plain>
+<instances>
+<instance part="IC2" gate="G$1" x="40.64" y="53.34"/>
+<instance part="P_5" gate="1" x="53.34" y="27.94"/>
+<instance part="P_8" gate="1" x="60.96" y="66.04"/>
+<instance part="P_11" gate="1" x="76.2" y="40.64"/>
+<instance part="P_9" gate="1" x="60.96" y="40.64"/>
+<instance part="P_10" gate="1" x="76.2" y="60.96"/>
+<instance part="P_3" gate="1" x="25.4" y="27.94"/>
+<instance part="C1" gate="G$1" x="20.32" y="17.78" rot="R90"/>
+<instance part="C2" gate="G$1" x="53.34" y="17.78" rot="R90"/>
+<instance part="IC1" gate="G$1" x="38.1" y="20.32"/>
+<instance part="P_4" gate="1" x="38.1" y="12.7"/>
+<instance part="P_6" gate="1" x="53.34" y="12.7"/>
+<instance part="P_1" gate="1" x="20.32" y="12.7"/>
+<instance part="P_2" gate="1" x="25.4" y="86.36"/>
+<instance part="TP1" gate="G$1" x="27.94" y="96.52"/>
+<instance part="TP2" gate="G$1" x="27.94" y="93.98"/>
+<instance part="TP3" gate="G$1" x="27.94" y="91.44"/>
+<instance part="TP4" gate="G$1" x="27.94" y="88.9"/>
+<instance part="J1" gate="G$1" x="71.12" y="91.44"/>
+<instance part="P_7" gate="1" x="60.96" y="81.28"/>
+<instance part="J2" gate="G$1" x="86.36" y="50.8"/>
+<instance part="R1" gate="G$1" x="119.38" y="53.34"/>
+<instance part="LED1" gate="G$1" x="129.54" y="53.34" rot="MR270"/>
+<instance part="R2" gate="G$1" x="119.38" y="45.72"/>
+<instance part="LED2" gate="G$1" x="129.54" y="45.72" rot="MR270"/>
+<instance part="P_13" gate="1" x="137.16" y="40.64"/>
+<instance part="J3" gate="G$1" x="127" y="96.52"/>
+<instance part="J4" gate="G$1" x="127" y="93.98"/>
+<instance part="J5" gate="G$1" x="127" y="91.44"/>
+<instance part="P_12" gate="1" x="121.92" y="86.36"/>
+<instance part="RN1" gate="G$1" x="121.92" y="71.12"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="N$1" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA24"/>
+<wire x1="58.42" y1="48.26" x2="76.2" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="48.26" x2="76.2" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="53.34" x2="78.74" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="DM"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA25"/>
+<wire x1="58.42" y1="50.8" x2="78.74" y2="50.8" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="DP"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_11" gate="1" pin="GND"/>
+<wire x1="76.2" y1="43.18" x2="76.2" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="45.72" x2="78.74" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_1" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_6" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_9" gate="1" pin="GND"/>
+<wire x1="58.42" y1="53.34" x2="60.96" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="53.34" x2="60.96" y2="43.18" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="P_2" gate="1" pin="GND"/>
+<wire x1="25.4" y1="88.9" x2="27.94" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="TP4" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="J1" gate="G$1" pin="3"/>
+<wire x1="63.5" y1="93.98" x2="60.96" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="P_7" gate="1" pin="GND"/>
+<wire x1="60.96" y1="93.98" x2="60.96" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="5"/>
+<wire x1="60.96" y1="91.44" x2="60.96" y2="86.36" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="86.36" x2="60.96" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="63.5" y1="91.44" x2="60.96" y2="91.44" width="0.1524" layer="91"/>
+<junction x="60.96" y="91.44"/>
+<pinref part="J1" gate="G$1" pin="9"/>
+<wire x1="63.5" y1="86.36" x2="60.96" y2="86.36" width="0.1524" layer="91"/>
+<junction x="60.96" y="86.36"/>
+</segment>
+<segment>
+<pinref part="P_13" gate="1" pin="GND"/>
+<wire x1="137.16" y1="43.18" x2="137.16" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="137.16" y1="45.72" x2="134.62" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="LED2" gate="G$1" pin="C"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+<wire x1="137.16" y1="53.34" x2="137.16" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="134.62" y1="53.34" x2="137.16" y2="53.34" width="0.1524" layer="91"/>
+<junction x="137.16" y="45.72"/>
+</segment>
+<segment>
+<pinref part="J5" gate="G$1" pin="1"/>
+<pinref part="P_12" gate="1" pin="GND"/>
+<wire x1="121.92" y1="88.9" x2="121.92" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="121.92" y1="91.44" x2="124.46" y2="91.44" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_10" gate="1" pin="V_USB"/>
+<wire x1="76.2" y1="58.42" x2="76.2" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="55.88" x2="78.74" y2="55.88" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="VBUS"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="27.94" y1="20.32" x2="25.4" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="25.4" y1="20.32" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="IC1" gate="G$1" pin="IN"/>
+<wire x1="25.4" y1="22.86" x2="25.4" y2="25.4" width="0.1524" layer="91"/>
+<wire x1="27.94" y1="22.86" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<junction x="25.4" y="22.86"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="25.4" y1="22.86" x2="20.32" y2="22.86" width="0.1524" layer="91"/>
+<wire x1="20.32" y1="22.86" x2="20.32" y2="20.32" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="OUT"/>
+<wire x1="48.26" y1="22.86" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="53.34" y1="20.32" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<junction x="53.34" y="22.86"/>
+<pinref part="P_5" gate="1" pin="+3V3"/>
+<wire x1="53.34" y1="25.4" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="VDD"/>
+<pinref part="P_8" gate="1" pin="+3V3"/>
+<wire x1="58.42" y1="55.88" x2="60.96" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="55.88" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA31/SIO"/>
+<wire x1="58.42" y1="45.72" x2="63.5" y2="45.72" width="0.1524" layer="91"/>
+<label x="63.5" y="45.72" size="1.27" layer="95"/>
+</segment>
+<segment>
+<wire x1="27.94" y1="96.52" x2="25.4" y2="96.52" width="0.1524" layer="91"/>
+<label x="25.4" y="96.52" size="1.27" layer="95" rot="MR0"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PA02" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA02"/>
+<wire x1="58.42" y1="58.42" x2="63.5" y2="58.42" width="0.1524" layer="91"/>
+<label x="63.5" y="58.42" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="R1" gate="G$1" pin="1"/>
+<wire x1="114.3" y1="53.34" x2="111.76" y2="53.34" width="0.1524" layer="91"/>
+<label x="111.76" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="PA04" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA04"/>
+<wire x1="58.42" y1="60.96" x2="63.5" y2="60.96" width="0.1524" layer="91"/>
+<label x="63.5" y="60.96" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="R2" gate="G$1" pin="1"/>
+<wire x1="114.3" y1="45.72" x2="111.76" y2="45.72" width="0.1524" layer="91"/>
+<label x="111.76" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA30/SCK"/>
+<wire x1="22.86" y1="45.72" x2="20.32" y2="45.72" width="0.1524" layer="91"/>
+<label x="20.32" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="25.4" y="93.98" size="1.27" layer="95" rot="MR0"/>
+<wire x1="27.94" y1="93.98" x2="25.4" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA28/RST"/>
+<wire x1="22.86" y1="48.26" x2="20.32" y2="48.26" width="0.1524" layer="91"/>
+<label x="20.32" y="48.26" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="25.4" y="91.44" size="1.27" layer="95" rot="MR0"/>
+<wire x1="27.94" y1="91.44" x2="25.4" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="TP3" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="T_SWDIO" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="2"/>
+<wire x1="78.74" y1="96.52" x2="81.28" y2="96.52" width="0.1524" layer="91"/>
+<label x="81.28" y="96.52" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="8"/>
+<wire x1="127" y1="73.66" x2="129.54" y2="73.66" width="0.1524" layer="91"/>
+<label x="129.54" y="73.66" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_SWCLK" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="4"/>
+<wire x1="81.28" y1="93.98" x2="78.74" y2="93.98" width="0.1524" layer="91"/>
+<label x="81.28" y="93.98" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="7"/>
+<wire x1="127" y1="71.12" x2="129.54" y2="71.12" width="0.1524" layer="91"/>
+<label x="129.54" y="71.12" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_RESET" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="10"/>
+<wire x1="78.74" y1="86.36" x2="81.28" y2="86.36" width="0.1524" layer="91"/>
+<label x="81.28" y="86.36" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="6"/>
+<wire x1="127" y1="68.58" x2="129.54" y2="68.58" width="0.1524" layer="91"/>
+<label x="129.54" y="68.58" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA14" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA14"/>
+<wire x1="20.32" y1="53.34" x2="22.86" y2="53.34" width="0.1524" layer="91"/>
+<label x="20.32" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="2"/>
+<wire x1="116.84" y1="71.12" x2="114.3" y2="71.12" width="0.1524" layer="91"/>
+<label x="114.3" y="71.12" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="PA15" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA15"/>
+<wire x1="22.86" y1="50.8" x2="20.32" y2="50.8" width="0.1524" layer="91"/>
+<label x="20.32" y="50.8" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="1"/>
+<wire x1="116.84" y1="73.66" x2="114.3" y2="73.66" width="0.1524" layer="91"/>
+<label x="114.3" y="73.66" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="PA09" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA9"/>
+<wire x1="22.86" y1="55.88" x2="20.32" y2="55.88" width="0.1524" layer="91"/>
+<label x="20.32" y="55.88" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="3"/>
+<wire x1="116.84" y1="68.58" x2="114.3" y2="68.58" width="0.1524" layer="91"/>
+<label x="114.3" y="68.58" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="PA08" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA8"/>
+<wire x1="22.86" y1="58.42" x2="20.32" y2="58.42" width="0.1524" layer="91"/>
+<label x="20.32" y="58.42" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="4"/>
+<wire x1="116.84" y1="66.04" x2="114.3" y2="66.04" width="0.1524" layer="91"/>
+<label x="114.3" y="66.04" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="N$4" class="0">
+<segment>
+<pinref part="R1" gate="G$1" pin="2"/>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="124.46" y1="53.34" x2="127" y2="53.34" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$6" class="0">
+<segment>
+<pinref part="R2" gate="G$1" pin="2"/>
+<pinref part="LED2" gate="G$1" pin="A"/>
+<wire x1="127" y1="45.72" x2="124.46" y2="45.72" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="UART_TX" class="0">
+<segment>
+<pinref part="J4" gate="G$1" pin="1"/>
+<wire x1="124.46" y1="93.98" x2="119.38" y2="93.98" width="0.1524" layer="91"/>
+<label x="119.38" y="93.98" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="5"/>
+<wire x1="129.54" y1="66.04" x2="127" y2="66.04" width="0.1524" layer="91"/>
+<label x="129.54" y="66.04" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="UART_RX" class="0">
+<segment>
+<pinref part="J3" gate="G$1" pin="1"/>
+<wire x1="124.46" y1="96.52" x2="119.38" y2="96.52" width="0.1524" layer="91"/>
+<label x="119.38" y="96.52" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA5"/>
+<wire x1="22.86" y1="60.96" x2="20.32" y2="60.96" width="0.1524" layer="91"/>
+<label x="20.32" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp/d11_micro_std_vcp_gerber.zip


binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2-gerbers.zip


+ 798 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2.brd

@@ -0,0 +1,798 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="23.368" y2="0" width="0.1524" layer="20"/>
+<wire x1="23.368" y1="0" x2="23.368" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="23.368" y1="11.176" x2="0" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="0" y1="11.176" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="18.034" y="9.906" size="0.762" layer="21" font="vector" align="bottom-center">01/24/21</text>
+<text x="17.78" y="1.27" size="1.27" layer="21" font="vector" rot="R90" align="bottom-center">1</text>
+<text x="6.35" y="0.762" size="1.27" layer="21" font="vector" align="bottom-center">AT</text>
+<circle x="18.796" y="1.016" radius="0.254" width="0.508" layer="21"/>
+<circle x="18.796" y="1.016" radius="0.254" width="0.508" layer="22"/>
+<text x="13.462" y="5.588" size="0.762" layer="22" font="vector" rot="MR90" align="bottom-center">www.taradov.com</text>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="QFN24">
+<wire x1="2.196" y1="1.492" x2="2.196" y2="2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="2.196" x2="1.492" y2="2.196" width="0.127" layer="21"/>
+<wire x1="1.492" y1="2.196" x2="-1.492" y2="2.196" width="0.127" layer="51"/>
+<wire x1="-1.492" y1="2.196" x2="-2.196" y2="1.492" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="1.492" x2="-2.196" y2="-1.492" width="0.127" layer="51"/>
+<wire x1="-2.196" y1="-1.492" x2="-2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="-2.196" x2="-1.492" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-1.492" y1="-2.196" x2="1.492" y2="-2.196" width="0.127" layer="51"/>
+<wire x1="1.492" y1="-2.196" x2="2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-2.196" x2="2.196" y2="-1.492" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-1.492" x2="2.196" y2="1.492" width="0.127" layer="51"/>
+<smd name="1" x="-1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="2" x="-1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="3" x="-1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="4" x="-1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="5" x="-1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="6" x="-1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="7" x="-1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="8" x="-0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="9" x="-0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="10" x="0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="11" x="0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="12" x="1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="13" x="1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="14" x="1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="15" x="1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="16" x="1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="17" x="1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="18" x="1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="19" x="1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="20" x="0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="21" x="0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="22" x="-0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="23" x="-0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="24" x="-1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="PAD" x="0" y="0" dx="2" dy="2" layer="1" stop="no"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<rectangle x1="-1.024" y1="-1.024" x2="1.024" y2="1.024" layer="29"/>
+<rectangle x1="-2.225" y1="1.075" x2="-1.475" y2="1.425" layer="29"/>
+<rectangle x1="-2.225" y1="0.575" x2="-1.475" y2="0.925" layer="29"/>
+<rectangle x1="-2.225" y1="0.075" x2="-1.475" y2="0.425" layer="29"/>
+<rectangle x1="-2.225" y1="-0.425" x2="-1.475" y2="-0.075" layer="29"/>
+<rectangle x1="-2.225" y1="-0.925" x2="-1.475" y2="-0.575" layer="29"/>
+<rectangle x1="-2.225" y1="-1.425" x2="-1.475" y2="-1.075" layer="29"/>
+<rectangle x1="-1.625" y1="-2.025" x2="-0.875" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-1.125" y1="-2.025" x2="-0.375" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.625" y1="-2.025" x2="0.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.125" y1="-2.025" x2="0.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.375" y1="-2.025" x2="1.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.875" y1="-2.025" x2="1.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="1.475" y1="-1.425" x2="2.225" y2="-1.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.925" x2="2.225" y2="-0.575" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.425" x2="2.225" y2="-0.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.075" x2="2.225" y2="0.425" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.575" x2="2.225" y2="0.925" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="1.075" x2="2.225" y2="1.425" layer="29" rot="R180"/>
+<rectangle x1="0.875" y1="1.675" x2="1.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="0.375" y1="1.675" x2="1.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.125" y1="1.675" x2="0.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.625" y1="1.675" x2="0.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.125" y1="1.675" x2="-0.375" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.625" y1="1.675" x2="-0.875" y2="2.025" layer="29" rot="R270"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.016"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="2" x="-0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="3" x="0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="4" x="1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="5" x="1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="6" x="0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="7" x="-0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="8" x="-1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.4986" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="-1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="1.778" y2="1.4986" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="-1.524" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" ratio="10" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SB-1.27MM-NO">
+<smd name="1" x="-0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.286" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<smd name="2" x="0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<rectangle x1="-1.016" y1="-0.762" x2="1.016" y2="0.762" layer="29"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="std-tented-new">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="0mil"/>
+<param name="mdSmdVia" value="0mil"/>
+<param name="mdSmdSmd" value="0mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="10mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="8mil"/>
+<param name="msDrill" value="13mil"/>
+<param name="msMicroVia" value="13mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="25mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="6mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="1.27" y="5.588" rot="MR270"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="6.858" y="5.588" smashed="yes" rot="MR270">
+<attribute name="NAME" x="5.842" y="5.588" size="1.27" layer="26" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="IC2" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="4.064" y="5.588" smashed="yes" rot="MR90">
+<attribute name="NAME" x="6.35" y="5.588" size="1.27" layer="26" font="vector" rot="MR90" align="bottom-center"/>
+</element>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="6.604" y="9.652" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="11.684" y="9.652" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="9.144" y="9.652" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="4.064" y="9.652" rot="MR0"/>
+<element name="J2" library="ataradov_conn" package="HEADER-5X2-1.27MM" value="HEADER-5X2-TH-1.27" x="17.018" y="5.588" rot="R90"/>
+<element name="J1" library="ataradov_conn" package="USB-B-MICRO-SMT-SHELL-TH" value="" x="0" y="5.588"/>
+<element name="R1" library="ataradov_rlc" package="SMD0603" value="10K" x="8.382" y="2.286" rot="MR90"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="ORANGE" x="8.382" y="2.286" rot="R270"/>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="10K" x="9.906" y="2.286" rot="MR90"/>
+<element name="LED2" library="ataradov_led" package="SMD0603" value="GREEN" x="9.906" y="2.286" rot="R270"/>
+<element name="J3" library="ataradov_conn" package="PIN-TH" value="RX" x="19.812" y="8.128" smashed="yes" rot="R90">
+<attribute name="NAME" x="18.288" y="8.128" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="22.606" y="8.89" size="1.27" layer="22" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="J4" library="ataradov_conn" package="PIN-TH" value="TX" x="19.812" y="5.588" smashed="yes" rot="R90">
+<attribute name="NAME" x="18.288" y="5.588" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="22.606" y="5.842" size="1.27" layer="22" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="J5" library="ataradov_conn" package="PIN-TH" value="GND" x="19.812" y="3.048" smashed="yes" rot="R90">
+<attribute name="NAME" x="18.288" y="3.048" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="22.606" y="2.54" size="1.27" layer="22" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="RN1" library="ataradov_rlc" package="SMD0603-X4" value="100" x="13.462" y="8.128" rot="R90"/>
+<element name="SB1" library="ataradov_misc" package="SB-1.27MM-NO" value="" x="12.7" y="1.524"/>
+<element name="IC1" library="ataradov_mcu" package="QFN24" value="ATSAMD11D" x="9.144" y="6.35" rot="R90"/>
+<element name="RN2" library="ataradov_rlc" package="SMD0603-X4" value="100" x="13.462" y="4.572" rot="R90"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC2" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="TP4" pad="1"/>
+<contactref element="J2" pad="3"/>
+<contactref element="J2" pad="5"/>
+<contactref element="J1" pad="5"/>
+<polygon width="0.254" layer="16" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="23.368" y="11.176"/>
+<vertex x="23.368" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<polygon width="0.254" layer="1" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="23.368" y="11.176"/>
+<vertex x="23.368" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<via x="19.812" y="9.652" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="J2" pad="9"/>
+<contactref element="J5" pad="1"/>
+<via x="19.812" y="1.524" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="IC1" pad="PAD"/>
+<contactref element="IC1" pad="23"/>
+<via x="1.27" y="7.62" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="1.27" y="3.556" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.302" y="8.128" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.556" y="3.81" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="8.636" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.652" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.652" y="5.842" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="8.636" y="5.842" extent="1-16" drill="0.3302" diameter="0.254"/>
+<wire x1="9.144" y1="6.35" x2="8.636" y2="5.842" width="0.254" layer="1"/>
+<via x="5.334" y="9.652" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="20.574" y="4.318" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="12.954" y="10.414" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="R1" pad="2"/>
+<contactref element="R2" pad="2"/>
+<via x="15.24" y="2.54" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="20.574" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="7.112" y="2.794" extent="1-16" drill="0.3302" diameter="0.254"/>
+</signal>
+<signal name="USB_DM">
+<contactref element="J1" pad="2"/>
+<contactref element="IC1" pad="21"/>
+<wire x1="7.294" y1="6.6" x2="6.1" y2="6.6" width="0.254" layer="1"/>
+<wire x1="4.825" y1="6.238" x2="5.7" y2="6.238" width="0.254" layer="1"/>
+<wire x1="5.7" y1="6.238" x2="6.1" y2="6.6" width="0.254" layer="1"/>
+</signal>
+<signal name="USB_DP">
+<contactref element="J1" pad="3"/>
+<contactref element="IC1" pad="22"/>
+<wire x1="4.829" y1="5.592" x2="4.825" y2="5.588" width="0.254" layer="1"/>
+<wire x1="4.829" y1="5.592" x2="5.846" y2="5.592" width="0.254" layer="1"/>
+<wire x1="5.846" y1="5.592" x2="6.354" y2="6.1" width="0.254" layer="1"/>
+<wire x1="6.354" y1="6.1" x2="7.294" y2="6.1" width="0.254" layer="1"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC2" pad="3"/>
+<contactref element="IC2" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="J1" pad="1"/>
+<wire x1="4.825" y1="6.888" x2="3.272" y2="6.888" width="0.254" layer="1"/>
+<via x="3.048" y="7.112" extent="1-16" drill="0.3302"/>
+<wire x1="2.764" y1="6.538" x2="3.622" y2="6.538" width="0.254" layer="16"/>
+<wire x1="3.622" y1="6.538" x2="3.81" y2="6.35" width="0.254" layer="16"/>
+<wire x1="3.81" y1="6.35" x2="3.81" y2="4.826" width="0.254" layer="16"/>
+<wire x1="3.81" y1="4.826" x2="3.622" y2="4.638" width="0.254" layer="16"/>
+<wire x1="3.622" y1="4.638" x2="2.764" y2="4.638" width="0.254" layer="16"/>
+<wire x1="2.764" y1="4.638" x2="2.794" y2="4.608" width="0.254" layer="16"/>
+<wire x1="1.27" y1="4.788" x2="1.42" y2="4.638" width="0.254" layer="16"/>
+<wire x1="1.42" y1="4.638" x2="2.764" y2="4.638" width="0.254" layer="16"/>
+<wire x1="3.048" y1="7.112" x2="2.764" y2="6.828" width="0.254" layer="16"/>
+<wire x1="2.764" y1="6.828" x2="2.764" y2="6.538" width="0.254" layer="16"/>
+<wire x1="3.272" y1="6.888" x2="3.048" y2="7.112" width="0.254" layer="1"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC2" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC1" pad="24"/>
+<wire x1="5.364" y1="4.638" x2="6.708" y2="4.638" width="0.254" layer="16"/>
+<wire x1="6.708" y1="4.638" x2="6.858" y2="4.788" width="0.254" layer="16"/>
+<via x="7.112" y="3.81" extent="1-16" drill="0.3302"/>
+<wire x1="7.294" y1="5.1" x2="7.294" y2="3.992" width="0.254" layer="1"/>
+<wire x1="7.294" y1="3.992" x2="7.112" y2="3.81" width="0.254" layer="1"/>
+<contactref element="SB1" pad="1"/>
+<wire x1="6.858" y1="4.788" x2="6.858" y2="4.064" width="0.254" layer="16"/>
+<wire x1="6.858" y1="4.064" x2="7.112" y2="3.81" width="0.254" layer="16"/>
+<via x="11.43" y="3.048" extent="1-16" drill="0.3302"/>
+<wire x1="11.43" y1="3.048" x2="11.43" y2="3.81" width="0.254" layer="16"/>
+<wire x1="11.43" y1="3.81" x2="10.602" y2="4.638" width="0.254" layer="16"/>
+<wire x1="10.602" y1="4.638" x2="6.708" y2="4.638" width="0.254" layer="16"/>
+<wire x1="11.43" y1="3.048" x2="11.43" y2="1.778" width="0.254" layer="1"/>
+<wire x1="11.43" y1="1.778" x2="11.684" y2="1.524" width="0.254" layer="1"/>
+<wire x1="11.684" y1="1.524" x2="12.192" y2="1.524" width="0.254" layer="1"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="TP1" pad="1"/>
+<contactref element="IC1" pad="20"/>
+<wire x1="7.294" y1="7.1" x2="6.87" y2="7.1" width="0.254" layer="1"/>
+<wire x1="6.87" y1="7.1" x2="6.604" y2="7.366" width="0.254" layer="1"/>
+<wire x1="6.604" y1="7.366" x2="6.604" y2="8.636" width="0.254" layer="1"/>
+<via x="6.604" y="8.636" extent="1-16" drill="0.3302"/>
+<wire x1="6.604" y1="8.636" x2="6.604" y2="9.652" width="0.254" layer="16"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="TP2" pad="1"/>
+<contactref element="IC1" pad="19"/>
+<wire x1="7.294" y1="7.6" x2="7.294" y2="9.326" width="0.254" layer="1"/>
+<wire x1="7.294" y1="9.326" x2="7.874" y2="9.906" width="0.254" layer="1"/>
+<via x="10.414" y="9.906" extent="1-16" drill="0.3302"/>
+<wire x1="7.874" y1="9.906" x2="10.414" y2="9.906" width="0.254" layer="1"/>
+<wire x1="10.414" y1="9.906" x2="10.668" y2="9.652" width="0.254" layer="16"/>
+<wire x1="10.668" y1="9.652" x2="11.684" y2="9.652" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="TP3" pad="1"/>
+<contactref element="IC1" pad="18"/>
+<via x="8.128" y="9.144" extent="1-16" drill="0.3302"/>
+<wire x1="7.894" y1="8.2" x2="7.894" y2="8.91" width="0.254" layer="1"/>
+<wire x1="7.894" y1="8.91" x2="8.128" y2="9.144" width="0.254" layer="1"/>
+<wire x1="8.128" y1="9.144" x2="8.636" y2="9.144" width="0.254" layer="16"/>
+<wire x1="8.636" y1="9.144" x2="9.144" y2="9.652" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="T_SWDIO_TMS">
+<contactref element="J2" pad="2"/>
+<contactref element="RN2" pad="2"/>
+<wire x1="14.214" y1="4.172" x2="15.259" y2="4.172" width="0.254" layer="1"/>
+<wire x1="15.259" y1="4.172" x2="16.383" y2="3.048" width="0.254" layer="1"/>
+</signal>
+<signal name="T_SWCLK_TCK">
+<contactref element="J2" pad="4"/>
+<contactref element="RN2" pad="3"/>
+<wire x1="14.214" y1="4.972" x2="15.729" y2="4.972" width="0.254" layer="1"/>
+<wire x1="15.729" y1="4.972" x2="16.383" y2="4.318" width="0.254" layer="1"/>
+</signal>
+<signal name="T_RESET">
+<contactref element="J2" pad="10"/>
+<contactref element="RN1" pad="2"/>
+<wire x1="14.214" y1="7.728" x2="15.983" y2="7.728" width="0.254" layer="1"/>
+<wire x1="15.983" y1="7.728" x2="16.383" y2="8.128" width="0.254" layer="1"/>
+</signal>
+<signal name="UART_TX">
+<contactref element="J4" pad="1"/>
+<contactref element="RN1" pad="3"/>
+<wire x1="14.214" y1="8.528" x2="15.386" y2="8.528" width="0.254" layer="1"/>
+<wire x1="15.386" y1="8.528" x2="16.002" y2="9.144" width="0.254" layer="1"/>
+<wire x1="16.002" y1="9.144" x2="18.034" y2="9.144" width="0.254" layer="1"/>
+<wire x1="18.034" y1="9.144" x2="18.542" y2="8.636" width="0.254" layer="1"/>
+<wire x1="18.542" y1="8.636" x2="18.542" y2="6.858" width="0.254" layer="1"/>
+<wire x1="18.542" y1="6.858" x2="19.812" y2="5.588" width="0.254" layer="1"/>
+</signal>
+<signal name="N$11">
+</signal>
+<signal name="UART_RX">
+<contactref element="J3" pad="1"/>
+<contactref element="RN1" pad="4"/>
+<wire x1="14.214" y1="9.328" x2="15.424" y2="9.328" width="0.254" layer="1"/>
+<wire x1="15.424" y1="9.328" x2="15.748" y2="9.652" width="0.254" layer="1"/>
+<wire x1="15.748" y1="9.652" x2="18.288" y2="9.652" width="0.254" layer="1"/>
+<wire x1="18.288" y1="9.652" x2="19.812" y2="8.128" width="0.254" layer="1"/>
+</signal>
+<signal name="T_TDO">
+<contactref element="J2" pad="6"/>
+<contactref element="RN2" pad="4"/>
+<wire x1="14.214" y1="5.772" x2="16.199" y2="5.772" width="0.254" layer="1"/>
+<wire x1="16.199" y1="5.772" x2="16.383" y2="5.588" width="0.254" layer="1"/>
+</signal>
+<signal name="T_TDI">
+<contactref element="J2" pad="8"/>
+<contactref element="RN1" pad="1"/>
+<wire x1="14.214" y1="6.928" x2="16.313" y2="6.928" width="0.254" layer="1"/>
+<wire x1="16.313" y1="6.928" x2="16.383" y2="6.858" width="0.254" layer="1"/>
+</signal>
+<signal name="N$2">
+<contactref element="R1" pad="1"/>
+<contactref element="LED1" pad="2"/>
+<via x="7.62" y="1.524" extent="1-16" drill="0.3302"/>
+<wire x1="8.382" y1="1.486" x2="7.658" y2="1.486" width="0.254" layer="1"/>
+<wire x1="7.658" y1="1.486" x2="7.62" y2="1.524" width="0.254" layer="1"/>
+<wire x1="8.382" y1="1.486" x2="7.658" y2="1.486" width="0.254" layer="16"/>
+<wire x1="7.658" y1="1.486" x2="7.62" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="N$3">
+<contactref element="R2" pad="1"/>
+<contactref element="LED2" pad="2"/>
+<via x="10.668" y="1.524" extent="1-16" drill="0.3302"/>
+<wire x1="9.906" y1="1.486" x2="10.63" y2="1.486" width="0.254" layer="16"/>
+<wire x1="10.63" y1="1.486" x2="10.668" y2="1.524" width="0.254" layer="16"/>
+<wire x1="9.906" y1="1.486" x2="10.63" y2="1.486" width="0.254" layer="1"/>
+<wire x1="10.63" y1="1.486" x2="10.668" y2="1.524" width="0.254" layer="1"/>
+</signal>
+<signal name="LED_A">
+<contactref element="LED1" pad="1"/>
+<contactref element="IC1" pad="2"/>
+<wire x1="8.394" y1="4.5" x2="8.394" y2="3.098" width="0.254" layer="1"/>
+<wire x1="8.394" y1="3.098" x2="8.382" y2="3.086" width="0.254" layer="1"/>
+</signal>
+<signal name="LED_B">
+<contactref element="LED2" pad="1"/>
+<contactref element="IC1" pad="5"/>
+<wire x1="9.894" y1="4.5" x2="9.894" y2="3.098" width="0.254" layer="1"/>
+<wire x1="9.894" y1="3.098" x2="9.906" y2="3.086" width="0.254" layer="1"/>
+</signal>
+<signal name="I_TX">
+<contactref element="IC1" pad="13"/>
+<contactref element="RN1" pad="6"/>
+<wire x1="12.71" y1="8.528" x2="12.084" y2="8.528" width="0.254" layer="1"/>
+<wire x1="12.084" y1="8.528" x2="11.756" y2="8.2" width="0.254" layer="1"/>
+<wire x1="11.756" y1="8.2" x2="10.394" y2="8.2" width="0.254" layer="1"/>
+</signal>
+<signal name="I_RX">
+<contactref element="IC1" pad="14"/>
+<contactref element="RN1" pad="5"/>
+<wire x1="12.71" y1="9.328" x2="11.868" y2="9.328" width="0.254" layer="1"/>
+<wire x1="11.868" y1="9.328" x2="11.684" y2="9.144" width="0.254" layer="1"/>
+<wire x1="11.684" y1="9.144" x2="10.16" y2="9.144" width="0.254" layer="1"/>
+<wire x1="10.16" y1="9.144" x2="9.894" y2="8.878" width="0.254" layer="1"/>
+<wire x1="9.894" y1="8.878" x2="9.894" y2="8.2" width="0.254" layer="1"/>
+</signal>
+<signal name="T_VREF">
+<contactref element="J2" pad="1"/>
+<contactref element="SB1" pad="2"/>
+<contactref element="RN2" pad="1"/>
+<wire x1="16.764" y1="1.524" x2="14.224" y2="1.524" width="0.254" layer="1"/>
+<wire x1="14.224" y1="1.524" x2="13.208" y2="1.524" width="0.254" layer="1"/>
+<wire x1="16.764" y1="1.524" x2="17.653" y2="2.413" width="0.254" layer="1"/>
+<wire x1="17.653" y1="2.413" x2="17.653" y2="3.048" width="0.254" layer="1"/>
+<wire x1="14.214" y1="3.372" x2="14.224" y2="3.362" width="0.254" layer="1"/>
+<wire x1="14.224" y1="3.362" x2="14.224" y2="1.524" width="0.254" layer="1"/>
+</signal>
+<signal name="I_TDI">
+<contactref element="RN1" pad="8"/>
+<contactref element="IC1" pad="11"/>
+<wire x1="10.994" y1="7.1" x2="11.95" y2="7.1" width="0.254" layer="1"/>
+<wire x1="11.95" y1="7.1" x2="12.122" y2="6.928" width="0.254" layer="1"/>
+<wire x1="12.122" y1="6.928" x2="12.71" y2="6.928" width="0.254" layer="1"/>
+</signal>
+<signal name="I_RESET">
+<contactref element="RN1" pad="7"/>
+<contactref element="IC1" pad="12"/>
+<wire x1="10.994" y1="7.6" x2="11.918" y2="7.6" width="0.254" layer="1"/>
+<wire x1="11.918" y1="7.6" x2="12.046" y2="7.728" width="0.254" layer="1"/>
+<wire x1="12.046" y1="7.728" x2="12.71" y2="7.728" width="0.254" layer="1"/>
+</signal>
+<signal name="I_VREF">
+<contactref element="RN2" pad="8"/>
+<contactref element="IC1" pad="6"/>
+<wire x1="12.122" y1="3.372" x2="10.994" y2="4.5" width="0.254" layer="1"/>
+<wire x1="10.994" y1="4.5" x2="10.394" y2="4.5" width="0.254" layer="1"/>
+<wire x1="12.122" y1="3.372" x2="12.71" y2="3.372" width="0.254" layer="1"/>
+</signal>
+<signal name="I_SWDIO_TMS">
+<contactref element="RN2" pad="7"/>
+<contactref element="IC1" pad="7"/>
+<wire x1="10.994" y1="5.1" x2="11.41" y2="5.1" width="0.254" layer="1"/>
+<wire x1="11.41" y1="5.1" x2="11.684" y2="4.826" width="0.254" layer="1"/>
+<wire x1="11.684" y1="4.826" x2="11.684" y2="4.572" width="0.254" layer="1"/>
+<wire x1="11.684" y1="4.572" x2="12.084" y2="4.172" width="0.254" layer="1"/>
+<wire x1="12.084" y1="4.172" x2="12.71" y2="4.172" width="0.254" layer="1"/>
+</signal>
+<signal name="I_SWCLK_TCK">
+<contactref element="RN2" pad="6"/>
+<contactref element="IC1" pad="8"/>
+<wire x1="10.994" y1="5.6" x2="11.672" y2="5.6" width="0.254" layer="1"/>
+<wire x1="11.672" y1="5.6" x2="12.3" y2="4.972" width="0.254" layer="1"/>
+<wire x1="12.3" y1="4.972" x2="12.71" y2="4.972" width="0.254" layer="1"/>
+</signal>
+<signal name="I_TDO">
+<contactref element="RN2" pad="5"/>
+<contactref element="IC1" pad="9"/>
+<wire x1="10.994" y1="6.1" x2="11.874" y2="6.1" width="0.254" layer="1"/>
+<wire x1="11.874" y1="6.1" x2="12.202" y2="5.772" width="0.254" layer="1"/>
+<wire x1="12.202" y1="5.772" x2="12.71" y2="5.772" width="0.254" layer="1"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2.pdf


+ 1620 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v2/d11_micro_std_vcp_v2.sch

@@ -0,0 +1,1620 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="QFN24">
+<wire x1="2.196" y1="1.492" x2="2.196" y2="2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="2.196" x2="1.492" y2="2.196" width="0.127" layer="21"/>
+<wire x1="1.492" y1="2.196" x2="-1.492" y2="2.196" width="0.127" layer="51"/>
+<wire x1="-1.492" y1="2.196" x2="-2.196" y2="1.492" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="1.492" x2="-2.196" y2="-1.492" width="0.127" layer="51"/>
+<wire x1="-2.196" y1="-1.492" x2="-2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="-2.196" x2="-1.492" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-1.492" y1="-2.196" x2="1.492" y2="-2.196" width="0.127" layer="51"/>
+<wire x1="1.492" y1="-2.196" x2="2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-2.196" x2="2.196" y2="-1.492" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-1.492" x2="2.196" y2="1.492" width="0.127" layer="51"/>
+<smd name="1" x="-1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="2" x="-1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="3" x="-1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="4" x="-1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="5" x="-1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="6" x="-1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="7" x="-1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="8" x="-0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="9" x="-0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="10" x="0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="11" x="0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="12" x="1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="13" x="1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="14" x="1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="15" x="1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="16" x="1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="17" x="1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="18" x="1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="19" x="1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="20" x="0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="21" x="0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="22" x="-0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="23" x="-0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="24" x="-1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="PAD" x="0" y="0" dx="2" dy="2" layer="1" stop="no"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<rectangle x1="-1.024" y1="-1.024" x2="1.024" y2="1.024" layer="29"/>
+<rectangle x1="-2.225" y1="1.075" x2="-1.475" y2="1.425" layer="29"/>
+<rectangle x1="-2.225" y1="0.575" x2="-1.475" y2="0.925" layer="29"/>
+<rectangle x1="-2.225" y1="0.075" x2="-1.475" y2="0.425" layer="29"/>
+<rectangle x1="-2.225" y1="-0.425" x2="-1.475" y2="-0.075" layer="29"/>
+<rectangle x1="-2.225" y1="-0.925" x2="-1.475" y2="-0.575" layer="29"/>
+<rectangle x1="-2.225" y1="-1.425" x2="-1.475" y2="-1.075" layer="29"/>
+<rectangle x1="-1.625" y1="-2.025" x2="-0.875" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-1.125" y1="-2.025" x2="-0.375" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.625" y1="-2.025" x2="0.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.125" y1="-2.025" x2="0.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.375" y1="-2.025" x2="1.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.875" y1="-2.025" x2="1.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="1.475" y1="-1.425" x2="2.225" y2="-1.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.925" x2="2.225" y2="-0.575" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.425" x2="2.225" y2="-0.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.075" x2="2.225" y2="0.425" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.575" x2="2.225" y2="0.925" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="1.075" x2="2.225" y2="1.425" layer="29" rot="R180"/>
+<rectangle x1="0.875" y1="1.675" x2="1.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="0.375" y1="1.675" x2="1.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.125" y1="1.675" x2="0.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.625" y1="1.675" x2="0.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.125" y1="1.675" x2="-0.375" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.625" y1="1.675" x2="-0.875" y2="2.025" layer="29" rot="R270"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXD">
+<description>Atmel SAM D09D/D10D/D11D Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="17.78" x2="12.7" y2="17.78" width="0.254" layer="94"/>
+<wire x1="12.7" y1="17.78" x2="12.7" y2="-17.78" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-17.78" x2="-12.7" y2="-17.78" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-17.78" x2="-12.7" y2="17.78" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="17.78" y="-5.08" length="middle" direction="pas" rot="R180"/>
+<pin name="PA08" x="-17.78" y="0" length="middle" direction="pas"/>
+<pin name="PA09" x="-17.78" y="-2.54" length="middle" direction="pas"/>
+<pin name="PA14" x="-17.78" y="-10.16" length="middle" direction="pas"/>
+<pin name="PA15" x="-17.78" y="-12.7" length="middle" direction="pas"/>
+<pin name="PA05" x="-17.78" y="7.62" length="middle" direction="pas"/>
+<pin name="PA04" x="-17.78" y="10.16" length="middle" direction="pas"/>
+<pin name="PA02" x="-17.78" y="15.24" length="middle" direction="pas"/>
+<text x="0" y="18.542" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-19.812" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="17.78" y="-7.62" length="middle" direction="pas" rot="R180"/>
+<pin name="VDD" x="17.78" y="15.24" length="middle" direction="pas" rot="R180"/>
+<pin name="GND" x="17.78" y="-12.7" length="middle" direction="pas" rot="R180"/>
+<pin name="PA25/DP" x="17.78" y="0" length="middle" direction="pas" rot="R180"/>
+<pin name="PA24/DM" x="17.78" y="2.54" length="middle" direction="pas" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-10.16" length="middle" direction="pas" rot="R180"/>
+<pin name="PA03" x="-17.78" y="12.7" length="middle" direction="pas"/>
+<pin name="PA06" x="-17.78" y="5.08" length="middle" direction="pas"/>
+<pin name="PA07" x="-17.78" y="2.54" length="middle" direction="pas"/>
+<pin name="PA10" x="-17.78" y="-5.08" length="middle" direction="pas"/>
+<pin name="PA11" x="-17.78" y="-7.62" length="middle" direction="pas"/>
+<pin name="PA16" x="-17.78" y="-15.24" length="middle" direction="pas"/>
+<pin name="PA17" x="17.78" y="12.7" length="middle" direction="pas" rot="R180"/>
+<pin name="PA22" x="17.78" y="10.16" length="middle" direction="pas" rot="R180"/>
+<pin name="PA23" x="17.78" y="7.62" length="middle" direction="pas" rot="R180"/>
+<pin name="PA27" x="17.78" y="5.08" length="middle" direction="pas" rot="R180"/>
+<pin name="PAD" x="17.78" y="-15.24" length="middle" direction="pas" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11D" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXD" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="QFN24">
+<connects>
+<connect gate="G$1" pin="GND" pad="23"/>
+<connect gate="G$1" pin="PA02" pad="1"/>
+<connect gate="G$1" pin="PA03" pad="2"/>
+<connect gate="G$1" pin="PA04" pad="3"/>
+<connect gate="G$1" pin="PA05" pad="4"/>
+<connect gate="G$1" pin="PA06" pad="5"/>
+<connect gate="G$1" pin="PA07" pad="6"/>
+<connect gate="G$1" pin="PA08" pad="7"/>
+<connect gate="G$1" pin="PA09" pad="8"/>
+<connect gate="G$1" pin="PA10" pad="9"/>
+<connect gate="G$1" pin="PA11" pad="10"/>
+<connect gate="G$1" pin="PA14" pad="11"/>
+<connect gate="G$1" pin="PA15" pad="12"/>
+<connect gate="G$1" pin="PA16" pad="13"/>
+<connect gate="G$1" pin="PA17" pad="14"/>
+<connect gate="G$1" pin="PA22" pad="15"/>
+<connect gate="G$1" pin="PA23" pad="16"/>
+<connect gate="G$1" pin="PA24/DM" pad="21"/>
+<connect gate="G$1" pin="PA25/DP" pad="22"/>
+<connect gate="G$1" pin="PA27" pad="17"/>
+<connect gate="G$1" pin="PA28/RST" pad="18"/>
+<connect gate="G$1" pin="PA30/SCK" pad="19"/>
+<connect gate="G$1" pin="PA31/SIO" pad="20"/>
+<connect gate="G$1" pin="PAD" pad="PAD"/>
+<connect gate="G$1" pin="VDD" pad="24"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="HEADER-5X2-2.54MM">
+<wire x1="-6.35" y1="0" x2="-3.81" y2="0" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="0" x2="-3.81" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1.016" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1.016"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1.016"/>
+<pad name="4" x="-2.54" y="1.27" drill="1.016"/>
+<pad name="5" x="0" y="-1.27" drill="1.016"/>
+<pad name="6" x="0" y="1.27" drill="1.016"/>
+<pad name="7" x="2.54" y="-1.27" drill="1.016"/>
+<pad name="8" x="2.54" y="1.27" drill="1.016"/>
+<pad name="9" x="5.08" y="-1.27" drill="1.016"/>
+<pad name="10" x="5.08" y="1.27" drill="1.016"/>
+<text x="0" y="3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.016"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="HEADER-5X2-1.27MM-SHR">
+<wire x1="-6.35" y1="2.794" x2="6.35" y2="2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.794" x2="6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.794" x2="-6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.794" x2="-6.35" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="3.302" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<circle x="-5.334" y="-1.778" radius="0.381" width="0.254" layer="21"/>
+</package>
+<package name="HEADER-5X2-2.54MM-SHR-RA">
+<description>10-pin right angle shrouded header</description>
+<wire x1="10.16" y1="2.794" x2="10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="10.16" y1="10.922" x2="1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="1.778" y1="4.572" x2="-1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="4.572" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="10.922" x2="-10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-10.16" y1="10.922" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<wire x1="10.16" y1="2.794" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1" diameter="1.4224" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="4" x="-2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="5" x="0" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="6" x="0" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="7" x="2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="8" x="2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="9" x="5.08" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="10" x="5.08" y="1.27" drill="1" diameter="1.4224"/>
+<text x="-8.89" y="-0.508" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-8.89" y1="10.16" x2="-6.35" y2="10.16" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="10.16" x2="-7.62" y2="8.89" width="0.127" layer="21"/>
+<wire x1="-7.62" y1="8.89" x2="-8.89" y2="10.16" width="0.127" layer="21"/>
+</package>
+<package name="PIN-TH-LARGE">
+<wire x1="-0.635" y1="1.651" x2="0.635" y2="1.651" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.651" x2="1.651" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.651" y1="0.635" x2="1.651" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.651" y1="-0.635" x2="0.635" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="-1.651" y1="0.635" x2="-1.651" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.651" x2="-1.651" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.651" y1="-0.635" x2="-0.635" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.651" x2="-0.635" y2="-1.651" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.778"/>
+<text x="0" y="2.032" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.302" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="PIN-TH-SMALL">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="0.9"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="HEADER-5X2">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-7.62" x2="5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="7.62" x2="-5.08" y2="7.62" width="0.254" layer="94"/>
+<pin name="1" x="-7.62" y="5.08" length="short" direction="pas"/>
+<pin name="2" x="7.62" y="5.08" length="short" direction="pas" rot="R180"/>
+<pin name="3" x="-7.62" y="2.54" length="short" direction="pas"/>
+<pin name="4" x="7.62" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="5" x="-7.62" y="0" length="short" direction="pas"/>
+<pin name="6" x="7.62" y="0" length="short" direction="pas" rot="R180"/>
+<pin name="7" x="-7.62" y="-2.54" length="short" direction="pas"/>
+<pin name="8" x="7.62" y="-2.54" length="short" direction="pas" rot="R180"/>
+<pin name="9" x="-7.62" y="-5.08" length="short" direction="pas"/>
+<pin name="10" x="7.62" y="-5.08" length="short" direction="pas" rot="R180"/>
+<text x="0" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+</symbol>
+<symbol name="MICRO-USB-5">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-10.16" width="0.254" layer="94"/>
+<text x="0.762" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="VBUS" x="-7.62" y="5.08" visible="pin" length="short" direction="pas"/>
+<pin name="DM" x="-7.62" y="2.54" visible="pin" length="short" direction="pas"/>
+<pin name="DP" x="-7.62" y="0" visible="pin" length="short" direction="pas"/>
+<pin name="ID" x="-7.62" y="-2.54" visible="pin" length="short" direction="pas"/>
+<pin name="GND" x="-7.62" y="-5.08" visible="pin" length="short" direction="pas"/>
+<wire x1="7.62" y1="7.62" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-10.16" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<pin name="SHIELD" x="-7.62" y="-7.62" visible="pin" length="short" direction="pas"/>
+<text x="0.762" y="-12.192" size="1.27" layer="95" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="CONN-SINGLE">
+<wire x1="-2.54" y1="0.762" x2="0.127" y2="0" width="0.254" layer="94"/>
+<wire x1="0.127" y1="0" x2="-2.4765" y2="-0.762" width="0.254" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<text x="1.27" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<text x="6.096" y="-0.508" size="1.27" layer="96">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="HEADER-5X2" prefix="J">
+<gates>
+<gate name="G$1" symbol="HEADER-5X2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH-1.27" package="HEADER-5X2-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-1.27-SHR" package="HEADER-5X2-1.27MM-SHR">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54-SHR-RA" package="HEADER-5X2-2.54MM-SHR-RA">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54" package="HEADER-5X2-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="USB-B-MICRO" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="MICRO-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMT" package="USB-B-MICRO-SMT-SHELL-TH">
+<connects>
+<connect gate="G$1" pin="DM" pad="2"/>
+<connect gate="G$1" pin="DP" pad="3"/>
+<connect gate="G$1" pin="GND" pad="5"/>
+<connect gate="G$1" pin="ID" pad="4"/>
+<connect gate="G$1" pin="SHIELD" pad="M1 M2 M3 M4" route="any"/>
+<connect gate="G$1" pin="VBUS" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="CONN-SINGLE" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="CONN-SINGLE" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH" package="PIN-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-LARGE" package="PIN-TH-LARGE">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-SMALL" package="PIN-TH-SMALL">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="2" x="-0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="3" x="0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="4" x="1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="5" x="1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="6" x="0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="7" x="-0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="8" x="-1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.4986" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="-1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="1.778" y2="1.4986" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="-1.524" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" ratio="10" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+<symbol name="RN-4">
+<wire x1="-2.54" y1="1.524" x2="-2.54" y2="3.556" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="2.54" visible="off" length="short" direction="pas"/>
+<pin name="8" x="5.08" y="2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="4.572" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<wire x1="2.54" y1="1.524" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="3.556" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.524" x2="2.54" y2="1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="2" x="-5.08" y="0" visible="off" length="short" direction="pas"/>
+<pin name="7" x="5.08" y="0" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="-2.54" y2="-1.524" width="0.254" layer="94"/>
+<pin name="3" x="-5.08" y="-2.54" visible="off" length="short" direction="pas"/>
+<pin name="6" x="5.08" y="-2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-3.556" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.524" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="2.54" y2="-3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="-2.54" y2="-4.064" width="0.254" layer="94"/>
+<pin name="4" x="-5.08" y="-5.08" visible="off" length="short" direction="pas"/>
+<pin name="5" x="5.08" y="-5.08" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="2.54" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-6.096" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-4.064" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="2.54" y2="-6.096" width="0.254" layer="94"/>
+<wire x1="-3.048" y1="-6.604" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="-3.048" y2="-6.604" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="4.064" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="RN-4" prefix="RN" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="RN-4" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0603-X4" package="SMD0603-X4">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="pas"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pas" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="pas"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SB-1.27MM-NO">
+<smd name="1" x="-0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.286" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<smd name="2" x="0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<rectangle x1="-1.016" y1="-0.762" x2="1.016" y2="0.762" layer="29"/>
+</package>
+<package name="TP-0.635MM">
+<smd name="1" x="0" y="0" dx="0.635" dy="0.635" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.5MM">
+<smd name="1" x="0" y="0" dx="0.5" dy="0.5" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-1.27MM-TH">
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<pad name="1" x="0" y="0" drill="0.762" diameter="1.27"/>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+<symbol name="SB">
+<wire x1="0.381" y1="0.381" x2="0.381" y2="-0.381" width="0.762" layer="94" curve="-180" cap="flat"/>
+<wire x1="-0.381" y1="-0.381" x2="-0.381" y2="0.381" width="0.762" layer="94" curve="-180" cap="flat"/>
+<wire x1="2.54" y1="0" x2="1.143" y2="0" width="0.1524" layer="94"/>
+<wire x1="-2.54" y1="0" x2="-1.143" y2="0" width="0.1524" layer="94"/>
+<text x="0" y="1.778" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<text x="0" y="-3.048" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.635MM" package="TP-0.635MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.5MM" package="TP-0.5MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1.27MM-TH" package="TP-1.27MM-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="SOLDER-BRIDGE" prefix="SB" uservalue="yes">
+<description>Solder Bridge</description>
+<gates>
+<gate name="G$1" symbol="SB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM-NO" package="SB-1.27MM-NO">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="P_8" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="IC2" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_5" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="J2" library="ataradov_conn" deviceset="HEADER-5X2" device="-TH-1.27"/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J1" library="ataradov_conn" deviceset="USB-B-MICRO" device="-SMT"/>
+<part name="R1" library="ataradov_rlc" deviceset="R" device="-0603" value="10K"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="ORANGE"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="10K"/>
+<part name="LED2" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="GREEN"/>
+<part name="P_12" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J3" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="RX"/>
+<part name="J4" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="TX"/>
+<part name="J5" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="GND"/>
+<part name="P_13" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="RN1" library="ataradov_rlc" deviceset="RN-4" device="-0603-X4" value="100"/>
+<part name="SB1" library="ataradov_misc" deviceset="SOLDER-BRIDGE" device="-1.27MM-NO"/>
+<part name="IC1" library="ataradov_mcu" deviceset="ATSAMD11D" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="RN2" library="ataradov_rlc" deviceset="RN-4" device="-0603-X4" value="100"/>
+<part name="P_10" library="ataradov_pwr" deviceset="+3V3" device=""/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="165.1" y2="114.3" columns="8" rows="5" layer="97"/>
+<text x="68.58" y="7.62" size="1.778" layer="97">Copyright (c) 2021, Alex Taradov &lt;alex@taradov.com&gt;
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+</plain>
+<instances>
+<instance part="P_8" gate="1" x="76.2" y="35.56"/>
+<instance part="P_2" gate="1" x="30.48" y="17.78" rot="MR0"/>
+<instance part="P_1" gate="1" x="30.48" y="35.56" rot="MR0"/>
+<instance part="P_3" gate="1" x="48.26" y="35.56"/>
+<instance part="C1" gate="G$1" x="48.26" y="27.94" rot="R90"/>
+<instance part="C2" gate="G$1" x="76.2" y="27.94" rot="R90"/>
+<instance part="IC2" gate="G$1" x="60.96" y="30.48"/>
+<instance part="P_5" gate="1" x="60.96" y="22.86"/>
+<instance part="P_9" gate="1" x="76.2" y="22.86"/>
+<instance part="P_4" gate="1" x="48.26" y="22.86"/>
+<instance part="TP1" gate="G$1" x="68.58" y="66.04"/>
+<instance part="TP2" gate="G$1" x="68.58" y="68.58"/>
+<instance part="TP3" gate="G$1" x="68.58" y="71.12"/>
+<instance part="TP4" gate="G$1" x="68.58" y="63.5"/>
+<instance part="J2" gate="G$1" x="111.76" y="60.96"/>
+<instance part="P_11" gate="1" x="101.6" y="50.8"/>
+<instance part="J1" gate="G$1" x="20.32" y="27.94" rot="MR0"/>
+<instance part="R1" gate="G$1" x="109.22" y="35.56"/>
+<instance part="LED1" gate="G$1" x="99.06" y="35.56" rot="MR270"/>
+<instance part="R2" gate="G$1" x="109.22" y="25.4"/>
+<instance part="LED2" gate="G$1" x="99.06" y="25.4" rot="MR270"/>
+<instance part="P_12" gate="1" x="114.3" y="22.86"/>
+<instance part="J3" gate="G$1" x="134.62" y="35.56"/>
+<instance part="J4" gate="G$1" x="134.62" y="33.02"/>
+<instance part="J5" gate="G$1" x="134.62" y="30.48"/>
+<instance part="P_13" gate="1" x="129.54" y="27.94"/>
+<instance part="RN1" gate="G$1" x="111.76" y="99.06" rot="MR0"/>
+<instance part="SB1" gate="G$1" x="101.6" y="68.58" rot="R270"/>
+<instance part="IC1" gate="G$1" x="48.26" y="76.2"/>
+<instance part="P_6" gate="1" x="66.04" y="93.98"/>
+<instance part="P_7" gate="1" x="66.04" y="58.42"/>
+<instance part="RN2" gate="G$1" x="111.76" y="86.36" rot="MR0"/>
+<instance part="P_10" gate="1" x="101.6" y="73.66"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="USB_DM" class="0">
+<segment>
+<wire x1="30.48" y1="30.48" x2="27.94" y2="30.48" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="DM"/>
+<label x="30.48" y="30.48" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA24/DM"/>
+<wire x1="66.04" y1="78.74" x2="68.58" y2="78.74" width="0.1524" layer="91"/>
+<label x="68.58" y="78.74" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="USB_DP" class="0">
+<segment>
+<wire x1="30.48" y1="27.94" x2="27.94" y2="27.94" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="DP"/>
+<label x="30.48" y="27.94" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA25/DP"/>
+<wire x1="66.04" y1="76.2" x2="68.58" y2="76.2" width="0.1524" layer="91"/>
+<label x="68.58" y="76.2" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_2" gate="1" pin="GND"/>
+<wire x1="30.48" y1="20.32" x2="30.48" y2="22.86" width="0.1524" layer="91"/>
+<wire x1="30.48" y1="22.86" x2="27.94" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_5" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_9" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="TP4" gate="G$1" pin="1"/>
+<pinref part="IC1" gate="G$1" pin="PAD"/>
+<pinref part="P_7" gate="1" pin="GND"/>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<wire x1="66.04" y1="60.96" x2="66.04" y2="63.5" width="0.1524" layer="91"/>
+<junction x="66.04" y="60.96"/>
+<wire x1="68.58" y1="63.5" x2="66.04" y2="63.5" width="0.1524" layer="91"/>
+<junction x="66.04" y="63.5"/>
+</segment>
+<segment>
+<pinref part="J2" gate="G$1" pin="3"/>
+<wire x1="104.14" y1="63.5" x2="101.6" y2="63.5" width="0.1524" layer="91"/>
+<pinref part="P_11" gate="1" pin="GND"/>
+<wire x1="101.6" y1="63.5" x2="101.6" y2="60.96" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="5"/>
+<wire x1="101.6" y1="60.96" x2="101.6" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="101.6" y1="55.88" x2="101.6" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="104.14" y1="60.96" x2="101.6" y2="60.96" width="0.1524" layer="91"/>
+<junction x="101.6" y="60.96"/>
+<pinref part="J2" gate="G$1" pin="9"/>
+<wire x1="104.14" y1="55.88" x2="101.6" y2="55.88" width="0.1524" layer="91"/>
+<junction x="101.6" y="55.88"/>
+</segment>
+<segment>
+<pinref part="P_12" gate="1" pin="GND"/>
+<wire x1="114.3" y1="35.56" x2="114.3" y2="25.4" width="0.1524" layer="91"/>
+<pinref part="R1" gate="G$1" pin="2"/>
+<pinref part="R2" gate="G$1" pin="2"/>
+<junction x="114.3" y="25.4"/>
+</segment>
+<segment>
+<pinref part="J5" gate="G$1" pin="1"/>
+<pinref part="P_13" gate="1" pin="GND"/>
+<wire x1="129.54" y1="30.48" x2="132.08" y2="30.48" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_1" gate="1" pin="V_USB"/>
+<wire x1="30.48" y1="33.02" x2="27.94" y2="33.02" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="VBUS"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="50.8" y1="30.48" x2="48.26" y2="30.48" width="0.1524" layer="91"/>
+<pinref part="IC2" gate="G$1" pin="IN"/>
+<wire x1="50.8" y1="33.02" x2="48.26" y2="33.02" width="0.1524" layer="91"/>
+<junction x="48.26" y="33.02"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="48.26" y1="33.02" x2="48.26" y2="30.48" width="0.1524" layer="91"/>
+<junction x="48.26" y="30.48"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="OUT"/>
+<wire x1="71.12" y1="33.02" x2="76.2" y2="33.02" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="76.2" y1="30.48" x2="76.2" y2="33.02" width="0.1524" layer="91"/>
+<junction x="76.2" y="33.02"/>
+<pinref part="P_8" gate="1" pin="+3V3"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="VDD"/>
+<pinref part="P_6" gate="1" pin="+3V3"/>
+</segment>
+<segment>
+<pinref part="SB1" gate="G$1" pin="1"/>
+<pinref part="P_10" gate="1" pin="+3V3"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA31/SIO"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+<wire x1="66.04" y1="66.04" x2="68.58" y2="66.04" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA30/SCK"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+<wire x1="66.04" y1="68.58" x2="68.58" y2="68.58" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="TP3" gate="G$1" pin="1"/>
+<pinref part="IC1" gate="G$1" pin="PA28/RST"/>
+<wire x1="68.58" y1="71.12" x2="66.04" y2="71.12" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="T_SWDIO_TMS" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="66.04" x2="121.92" y2="66.04" width="0.1524" layer="91"/>
+<label x="121.92" y="66.04" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN2" gate="G$1" pin="2"/>
+<wire x1="116.84" y1="86.36" x2="119.38" y2="86.36" width="0.1524" layer="91"/>
+<label x="119.38" y="86.36" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_SWCLK_TCK" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="4"/>
+<wire x1="121.92" y1="63.5" x2="119.38" y2="63.5" width="0.1524" layer="91"/>
+<label x="121.92" y="63.5" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN2" gate="G$1" pin="3"/>
+<wire x1="116.84" y1="83.82" x2="119.38" y2="83.82" width="0.1524" layer="91"/>
+<label x="119.38" y="83.82" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_RESET" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="10"/>
+<wire x1="119.38" y1="55.88" x2="121.92" y2="55.88" width="0.1524" layer="91"/>
+<label x="121.92" y="55.88" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="2"/>
+<wire x1="116.84" y1="99.06" x2="119.38" y2="99.06" width="0.1524" layer="91"/>
+<label x="119.38" y="99.06" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="UART_TX" class="0">
+<segment>
+<pinref part="J4" gate="G$1" pin="1"/>
+<wire x1="132.08" y1="33.02" x2="127" y2="33.02" width="0.1524" layer="91"/>
+<label x="127" y="33.02" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="3"/>
+<wire x1="116.84" y1="96.52" x2="119.38" y2="96.52" width="0.1524" layer="91"/>
+<label x="119.38" y="96.52" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="UART_RX" class="0">
+<segment>
+<pinref part="J3" gate="G$1" pin="1"/>
+<wire x1="132.08" y1="35.56" x2="127" y2="35.56" width="0.1524" layer="91"/>
+<label x="127" y="35.56" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="4"/>
+<wire x1="116.84" y1="93.98" x2="119.38" y2="93.98" width="0.1524" layer="91"/>
+<label x="119.38" y="93.98" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_TDO" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="6"/>
+<wire x1="119.38" y1="60.96" x2="121.92" y2="60.96" width="0.1524" layer="91"/>
+<label x="121.92" y="60.96" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN2" gate="G$1" pin="4"/>
+<wire x1="116.84" y1="81.28" x2="119.38" y2="81.28" width="0.1524" layer="91"/>
+<label x="119.38" y="81.28" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_TDI" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="8"/>
+<wire x1="119.38" y1="58.42" x2="121.92" y2="58.42" width="0.1524" layer="91"/>
+<label x="121.92" y="58.42" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="1"/>
+<wire x1="116.84" y1="101.6" x2="119.38" y2="101.6" width="0.1524" layer="91"/>
+<label x="119.38" y="101.6" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="R1" gate="G$1" pin="1"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<pinref part="R2" gate="G$1" pin="1"/>
+<pinref part="LED2" gate="G$1" pin="C"/>
+</segment>
+</net>
+<net name="LED_A" class="0">
+<segment>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="96.52" y1="35.56" x2="93.98" y2="35.56" width="0.1524" layer="91"/>
+<label x="93.98" y="35.56" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA03"/>
+<wire x1="30.48" y1="88.9" x2="27.94" y2="88.9" width="0.1524" layer="91"/>
+<label x="27.94" y="88.9" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="LED_B" class="0">
+<segment>
+<pinref part="LED2" gate="G$1" pin="A"/>
+<wire x1="96.52" y1="25.4" x2="93.98" y2="25.4" width="0.1524" layer="91"/>
+<label x="93.98" y="25.4" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA06"/>
+<wire x1="30.48" y1="81.28" x2="27.94" y2="81.28" width="0.1524" layer="91"/>
+<label x="27.94" y="81.28" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_TX" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA16"/>
+<wire x1="30.48" y1="60.96" x2="27.94" y2="60.96" width="0.1524" layer="91"/>
+<label x="27.94" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="6"/>
+<wire x1="106.68" y1="96.52" x2="104.14" y2="96.52" width="0.1524" layer="91"/>
+<label x="104.14" y="96.52" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_RX" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA17"/>
+<wire x1="66.04" y1="88.9" x2="68.58" y2="88.9" width="0.1524" layer="91"/>
+<label x="68.58" y="88.9" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="5"/>
+<wire x1="106.68" y1="93.98" x2="104.14" y2="93.98" width="0.1524" layer="91"/>
+<label x="104.14" y="93.98" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_VREF" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="1"/>
+<pinref part="SB1" gate="G$1" pin="2"/>
+<wire x1="101.6" y1="66.04" x2="104.14" y2="66.04" width="0.1524" layer="91"/>
+<wire x1="101.6" y1="66.04" x2="99.06" y2="66.04" width="0.1524" layer="91"/>
+<junction x="101.6" y="66.04"/>
+<label x="99.06" y="66.04" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN2" gate="G$1" pin="1"/>
+<wire x1="116.84" y1="88.9" x2="119.38" y2="88.9" width="0.1524" layer="91"/>
+<label x="119.38" y="88.9" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="I_TDI" class="0">
+<segment>
+<pinref part="RN1" gate="G$1" pin="8"/>
+<wire x1="106.68" y1="101.6" x2="104.14" y2="101.6" width="0.1524" layer="91"/>
+<label x="104.14" y="101.6" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA14"/>
+<wire x1="30.48" y1="66.04" x2="27.94" y2="66.04" width="0.1524" layer="91"/>
+<label x="27.94" y="66.04" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_RESET" class="0">
+<segment>
+<pinref part="RN1" gate="G$1" pin="7"/>
+<wire x1="106.68" y1="99.06" x2="104.14" y2="99.06" width="0.1524" layer="91"/>
+<label x="104.14" y="99.06" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA15"/>
+<wire x1="30.48" y1="63.5" x2="27.94" y2="63.5" width="0.1524" layer="91"/>
+<label x="27.94" y="63.5" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_VREF" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="8"/>
+<wire x1="106.68" y1="88.9" x2="104.14" y2="88.9" width="0.1524" layer="91"/>
+<label x="104.14" y="88.9" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA07"/>
+<wire x1="30.48" y1="78.74" x2="27.94" y2="78.74" width="0.1524" layer="91"/>
+<label x="27.94" y="78.74" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_SWDIO_TMS" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="7"/>
+<wire x1="106.68" y1="86.36" x2="104.14" y2="86.36" width="0.1524" layer="91"/>
+<label x="104.14" y="86.36" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA08"/>
+<wire x1="30.48" y1="76.2" x2="27.94" y2="76.2" width="0.1524" layer="91"/>
+<label x="27.94" y="76.2" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_SWCLK_TCK" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="6"/>
+<wire x1="106.68" y1="83.82" x2="104.14" y2="83.82" width="0.1524" layer="91"/>
+<label x="104.14" y="83.82" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA09"/>
+<wire x1="30.48" y1="73.66" x2="27.94" y2="73.66" width="0.1524" layer="91"/>
+<label x="27.94" y="73.66" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_TDO" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="5"/>
+<wire x1="106.68" y1="81.28" x2="104.14" y2="81.28" width="0.1524" layer="91"/>
+<label x="104.14" y="81.28" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA10"/>
+<wire x1="30.48" y1="71.12" x2="27.94" y2="71.12" width="0.1524" layer="91"/>
+<label x="27.94" y="71.12" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3-gerbers.zip


+ 715 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3.brd

@@ -0,0 +1,715 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="19.812" y2="0" width="0.1524" layer="20"/>
+<wire x1="19.812" y1="0" x2="19.812" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="19.812" y1="11.176" x2="0" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="0" y1="11.176" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="14.478" y="9.906" size="0.762" layer="21" font="vector" align="bottom-center">01/24/21</text>
+<text x="14.224" y="1.27" size="1.27" layer="21" font="vector" rot="R90" align="bottom-center">1</text>
+<text x="6.35" y="0.762" size="1.27" layer="21" font="vector" align="bottom-center">AT</text>
+<circle x="15.24" y="1.016" radius="0.254" width="0.508" layer="21"/>
+<circle x="15.24" y="1.016" radius="0.254" width="0.508" layer="22"/>
+<text x="18.796" y="5.842" size="0.762" layer="21" font="vector" rot="R90" align="bottom-center">www.taradov.com</text>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="QFN24">
+<wire x1="2.196" y1="1.492" x2="2.196" y2="2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="2.196" x2="1.492" y2="2.196" width="0.127" layer="21"/>
+<wire x1="1.492" y1="2.196" x2="-1.492" y2="2.196" width="0.127" layer="51"/>
+<wire x1="-1.492" y1="2.196" x2="-2.196" y2="1.492" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="1.492" x2="-2.196" y2="-1.492" width="0.127" layer="51"/>
+<wire x1="-2.196" y1="-1.492" x2="-2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="-2.196" x2="-1.492" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-1.492" y1="-2.196" x2="1.492" y2="-2.196" width="0.127" layer="51"/>
+<wire x1="1.492" y1="-2.196" x2="2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-2.196" x2="2.196" y2="-1.492" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-1.492" x2="2.196" y2="1.492" width="0.127" layer="51"/>
+<smd name="1" x="-1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="2" x="-1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="3" x="-1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="4" x="-1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="5" x="-1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="6" x="-1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="7" x="-1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="8" x="-0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="9" x="-0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="10" x="0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="11" x="0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="12" x="1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="13" x="1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="14" x="1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="15" x="1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="16" x="1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="17" x="1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="18" x="1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="19" x="1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="20" x="0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="21" x="0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="22" x="-0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="23" x="-0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="24" x="-1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="PAD" x="0" y="0" dx="2" dy="2" layer="1" stop="no"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<rectangle x1="-1.024" y1="-1.024" x2="1.024" y2="1.024" layer="29"/>
+<rectangle x1="-2.225" y1="1.075" x2="-1.475" y2="1.425" layer="29"/>
+<rectangle x1="-2.225" y1="0.575" x2="-1.475" y2="0.925" layer="29"/>
+<rectangle x1="-2.225" y1="0.075" x2="-1.475" y2="0.425" layer="29"/>
+<rectangle x1="-2.225" y1="-0.425" x2="-1.475" y2="-0.075" layer="29"/>
+<rectangle x1="-2.225" y1="-0.925" x2="-1.475" y2="-0.575" layer="29"/>
+<rectangle x1="-2.225" y1="-1.425" x2="-1.475" y2="-1.075" layer="29"/>
+<rectangle x1="-1.625" y1="-2.025" x2="-0.875" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-1.125" y1="-2.025" x2="-0.375" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.625" y1="-2.025" x2="0.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.125" y1="-2.025" x2="0.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.375" y1="-2.025" x2="1.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.875" y1="-2.025" x2="1.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="1.475" y1="-1.425" x2="2.225" y2="-1.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.925" x2="2.225" y2="-0.575" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.425" x2="2.225" y2="-0.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.075" x2="2.225" y2="0.425" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.575" x2="2.225" y2="0.925" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="1.075" x2="2.225" y2="1.425" layer="29" rot="R180"/>
+<rectangle x1="0.875" y1="1.675" x2="1.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="0.375" y1="1.675" x2="1.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.125" y1="1.675" x2="0.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.625" y1="1.675" x2="0.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.125" y1="1.675" x2="-0.375" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.625" y1="1.675" x2="-0.875" y2="2.025" layer="29" rot="R270"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.016"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SB-1.27MM-NO">
+<smd name="1" x="-0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.286" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<smd name="2" x="0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<rectangle x1="-1.016" y1="-0.762" x2="1.016" y2="0.762" layer="29"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="std-tented-new">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="0mil"/>
+<param name="mdSmdVia" value="0mil"/>
+<param name="mdSmdSmd" value="0mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="10mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="8mil"/>
+<param name="msDrill" value="13mil"/>
+<param name="msMicroVia" value="13mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="25mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="6mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="1.27" y="5.588" rot="MR270"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="6.858" y="5.588" smashed="yes" rot="MR270">
+<attribute name="NAME" x="5.842" y="5.588" size="1.27" layer="26" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="IC2" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="4.064" y="5.588" smashed="yes" rot="MR90">
+<attribute name="NAME" x="6.35" y="5.588" size="1.27" layer="26" font="vector" rot="MR90" align="bottom-center"/>
+</element>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="6.604" y="9.652" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="11.684" y="9.652" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="9.144" y="9.652" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="4.064" y="9.652" rot="MR0"/>
+<element name="J2" library="ataradov_conn" package="HEADER-5X2-1.27MM" value="HEADER-5X2-TH-1.27" x="13.462" y="5.588" rot="R90"/>
+<element name="J1" library="ataradov_conn" package="USB-B-MICRO-SMT-SHELL-TH" value="" x="0" y="5.588"/>
+<element name="R1" library="ataradov_rlc" package="SMD0603" value="10K" x="8.382" y="2.286" rot="MR90"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="ORANGE" x="8.382" y="2.286" rot="R270"/>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="10K" x="9.906" y="2.286" rot="MR90"/>
+<element name="LED2" library="ataradov_led" package="SMD0603" value="GREEN" x="9.906" y="2.286" rot="R270"/>
+<element name="J3" library="ataradov_conn" package="PIN-TH" value="RX" x="16.256" y="8.128" smashed="yes" rot="R90">
+<attribute name="NAME" x="14.732" y="8.128" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="19.05" y="8.89" size="1.27" layer="22" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="J4" library="ataradov_conn" package="PIN-TH" value="TX" x="16.256" y="5.588" smashed="yes" rot="R90">
+<attribute name="NAME" x="14.732" y="5.588" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="19.05" y="5.842" size="1.27" layer="22" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="J5" library="ataradov_conn" package="PIN-TH" value="GND" x="16.256" y="3.048" smashed="yes" rot="R90">
+<attribute name="NAME" x="14.732" y="3.048" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+<attribute name="VALUE" x="19.05" y="2.54" size="1.27" layer="22" font="vector" rot="MR270" align="bottom-center"/>
+</element>
+<element name="SB1" library="ataradov_misc" package="SB-1.27MM-NO" value="" x="13.462" y="1.524" rot="MR180"/>
+<element name="IC1" library="ataradov_mcu" package="QFN24" value="ATSAMD11D" x="9.144" y="6.35" rot="R90"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC2" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="TP4" pad="1"/>
+<contactref element="J2" pad="3"/>
+<contactref element="J2" pad="5"/>
+<contactref element="J1" pad="5"/>
+<polygon width="0.254" layer="16" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="19.812" y="11.176"/>
+<vertex x="19.812" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<polygon width="0.254" layer="1" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="19.812" y="11.176"/>
+<vertex x="19.812" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<via x="16.256" y="9.652" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="J2" pad="9"/>
+<contactref element="J5" pad="1"/>
+<via x="16.256" y="1.524" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="IC1" pad="PAD"/>
+<contactref element="IC1" pad="23"/>
+<via x="1.27" y="7.62" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="1.27" y="3.556" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.302" y="8.128" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.556" y="3.81" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="8.636" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.652" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.652" y="5.842" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="8.636" y="5.842" extent="1-16" drill="0.3302" diameter="0.254"/>
+<wire x1="9.144" y1="6.35" x2="8.636" y2="5.842" width="0.254" layer="1"/>
+<via x="5.334" y="9.652" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="17.018" y="4.318" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="12.954" y="10.414" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="R1" pad="2"/>
+<contactref element="R2" pad="2"/>
+<via x="11.176" y="3.048" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="17.018" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="7.112" y="2.794" extent="1-16" drill="0.3302" diameter="0.254"/>
+</signal>
+<signal name="USB_DM">
+<contactref element="J1" pad="2"/>
+<contactref element="IC1" pad="21"/>
+<wire x1="7.294" y1="6.6" x2="6.1" y2="6.6" width="0.254" layer="1"/>
+<wire x1="4.825" y1="6.238" x2="5.7" y2="6.238" width="0.254" layer="1"/>
+<wire x1="5.7" y1="6.238" x2="6.1" y2="6.6" width="0.254" layer="1"/>
+</signal>
+<signal name="USB_DP">
+<contactref element="J1" pad="3"/>
+<contactref element="IC1" pad="22"/>
+<wire x1="4.829" y1="5.592" x2="4.825" y2="5.588" width="0.254" layer="1"/>
+<wire x1="4.829" y1="5.592" x2="5.846" y2="5.592" width="0.254" layer="1"/>
+<wire x1="5.846" y1="5.592" x2="6.354" y2="6.1" width="0.254" layer="1"/>
+<wire x1="6.354" y1="6.1" x2="7.294" y2="6.1" width="0.254" layer="1"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC2" pad="3"/>
+<contactref element="IC2" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="J1" pad="1"/>
+<wire x1="4.825" y1="6.888" x2="3.272" y2="6.888" width="0.254" layer="1"/>
+<via x="3.048" y="7.112" extent="1-16" drill="0.3302"/>
+<wire x1="2.764" y1="6.538" x2="3.622" y2="6.538" width="0.254" layer="16"/>
+<wire x1="3.622" y1="6.538" x2="3.81" y2="6.35" width="0.254" layer="16"/>
+<wire x1="3.81" y1="6.35" x2="3.81" y2="4.826" width="0.254" layer="16"/>
+<wire x1="3.81" y1="4.826" x2="3.622" y2="4.638" width="0.254" layer="16"/>
+<wire x1="3.622" y1="4.638" x2="2.764" y2="4.638" width="0.254" layer="16"/>
+<wire x1="2.764" y1="4.638" x2="2.794" y2="4.608" width="0.254" layer="16"/>
+<wire x1="1.27" y1="4.788" x2="1.42" y2="4.638" width="0.254" layer="16"/>
+<wire x1="1.42" y1="4.638" x2="2.764" y2="4.638" width="0.254" layer="16"/>
+<wire x1="3.048" y1="7.112" x2="2.764" y2="6.828" width="0.254" layer="16"/>
+<wire x1="2.764" y1="6.828" x2="2.764" y2="6.538" width="0.254" layer="16"/>
+<wire x1="3.272" y1="6.888" x2="3.048" y2="7.112" width="0.254" layer="1"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC2" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC1" pad="24"/>
+<wire x1="5.364" y1="4.638" x2="6.708" y2="4.638" width="0.254" layer="16"/>
+<wire x1="6.708" y1="4.638" x2="6.858" y2="4.788" width="0.254" layer="16"/>
+<via x="7.112" y="3.81" extent="1-16" drill="0.3302"/>
+<wire x1="7.294" y1="5.1" x2="7.294" y2="3.992" width="0.254" layer="1"/>
+<wire x1="7.294" y1="3.992" x2="7.112" y2="3.81" width="0.254" layer="1"/>
+<contactref element="SB1" pad="1"/>
+<wire x1="6.858" y1="4.788" x2="6.858" y2="4.064" width="0.254" layer="16"/>
+<wire x1="6.858" y1="4.064" x2="7.112" y2="3.81" width="0.254" layer="16"/>
+<wire x1="11.938" y1="3.556" x2="10.602" y2="4.638" width="0.254" layer="16"/>
+<wire x1="10.602" y1="4.638" x2="6.708" y2="4.638" width="0.254" layer="16"/>
+<wire x1="11.938" y1="3.556" x2="11.938" y2="2.032" width="0.254" layer="16"/>
+<wire x1="11.938" y1="2.032" x2="12.446" y2="1.524" width="0.254" layer="16"/>
+<wire x1="12.446" y1="1.524" x2="12.954" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="TP1" pad="1"/>
+<contactref element="IC1" pad="20"/>
+<wire x1="7.294" y1="7.1" x2="6.87" y2="7.1" width="0.254" layer="1"/>
+<wire x1="6.87" y1="7.1" x2="6.604" y2="7.366" width="0.254" layer="1"/>
+<wire x1="6.604" y1="7.366" x2="6.604" y2="8.636" width="0.254" layer="1"/>
+<via x="6.604" y="8.636" extent="1-16" drill="0.3302"/>
+<wire x1="6.604" y1="8.636" x2="6.604" y2="9.652" width="0.254" layer="16"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="TP2" pad="1"/>
+<contactref element="IC1" pad="19"/>
+<wire x1="7.294" y1="7.6" x2="7.294" y2="9.326" width="0.254" layer="1"/>
+<wire x1="7.294" y1="9.326" x2="7.874" y2="9.906" width="0.254" layer="1"/>
+<via x="10.414" y="9.906" extent="1-16" drill="0.3302"/>
+<wire x1="7.874" y1="9.906" x2="10.414" y2="9.906" width="0.254" layer="1"/>
+<wire x1="10.414" y1="9.906" x2="10.668" y2="9.652" width="0.254" layer="16"/>
+<wire x1="10.668" y1="9.652" x2="11.684" y2="9.652" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="TP3" pad="1"/>
+<contactref element="IC1" pad="18"/>
+<via x="8.128" y="9.144" extent="1-16" drill="0.3302"/>
+<wire x1="7.894" y1="8.2" x2="7.894" y2="8.91" width="0.254" layer="1"/>
+<wire x1="7.894" y1="8.91" x2="8.128" y2="9.144" width="0.254" layer="1"/>
+<wire x1="8.128" y1="9.144" x2="8.636" y2="9.144" width="0.254" layer="16"/>
+<wire x1="8.636" y1="9.144" x2="9.144" y2="9.652" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="T_SWDIO_TMS">
+<contactref element="J2" pad="2"/>
+<contactref element="IC1" pad="7"/>
+<wire x1="10.994" y1="5.1" x2="10.994" y2="4.881" width="0.254" layer="1"/>
+<wire x1="10.994" y1="4.881" x2="12.827" y2="3.048" width="0.254" layer="1"/>
+</signal>
+<signal name="T_SWCLK_TCK">
+<contactref element="J2" pad="4"/>
+<contactref element="IC1" pad="8"/>
+<wire x1="10.994" y1="5.6" x2="11.545" y2="5.6" width="0.254" layer="1"/>
+<wire x1="11.545" y1="5.6" x2="12.827" y2="4.318" width="0.254" layer="1"/>
+</signal>
+<signal name="T_RESET">
+<contactref element="J2" pad="10"/>
+<contactref element="IC1" pad="12"/>
+<wire x1="10.994" y1="7.6" x2="12.299" y2="7.6" width="0.254" layer="1"/>
+<wire x1="12.299" y1="7.6" x2="12.827" y2="8.128" width="0.254" layer="1"/>
+</signal>
+<signal name="UART_TX">
+<contactref element="J4" pad="1"/>
+<wire x1="11.684" y1="9.144" x2="14.478" y2="9.144" width="0.254" layer="1"/>
+<wire x1="14.478" y1="9.144" x2="14.986" y2="8.636" width="0.254" layer="1"/>
+<wire x1="14.986" y1="8.636" x2="14.986" y2="6.858" width="0.254" layer="1"/>
+<wire x1="14.986" y1="6.858" x2="16.256" y2="5.588" width="0.254" layer="1"/>
+<contactref element="IC1" pad="13"/>
+<wire x1="10.394" y1="8.2" x2="10.74" y2="8.2" width="0.254" layer="1"/>
+<wire x1="10.74" y1="8.2" x2="11.684" y2="9.144" width="0.254" layer="1"/>
+</signal>
+<signal name="N$11">
+</signal>
+<signal name="UART_RX">
+<contactref element="J3" pad="1"/>
+<wire x1="11.43" y1="9.652" x2="14.732" y2="9.652" width="0.254" layer="1"/>
+<wire x1="14.732" y1="9.652" x2="16.256" y2="8.128" width="0.254" layer="1"/>
+<contactref element="IC1" pad="14"/>
+<wire x1="9.894" y1="8.2" x2="9.894" y2="8.878" width="0.254" layer="1"/>
+<wire x1="9.894" y1="8.878" x2="10.16" y2="9.144" width="0.254" layer="1"/>
+<wire x1="10.16" y1="9.144" x2="10.922" y2="9.144" width="0.254" layer="1"/>
+<wire x1="10.922" y1="9.144" x2="11.43" y2="9.652" width="0.254" layer="1"/>
+</signal>
+<signal name="T_TDO">
+<contactref element="J2" pad="6"/>
+<contactref element="IC1" pad="9"/>
+<wire x1="10.994" y1="6.1" x2="12.315" y2="6.1" width="0.254" layer="1"/>
+<wire x1="12.315" y1="6.1" x2="12.827" y2="5.588" width="0.254" layer="1"/>
+</signal>
+<signal name="T_TDI">
+<contactref element="J2" pad="8"/>
+<contactref element="IC1" pad="11"/>
+<wire x1="10.994" y1="7.1" x2="12.585" y2="7.1" width="0.254" layer="1"/>
+<wire x1="12.585" y1="7.1" x2="12.827" y2="6.858" width="0.254" layer="1"/>
+</signal>
+<signal name="N$2">
+<contactref element="R1" pad="1"/>
+<contactref element="LED1" pad="2"/>
+<via x="7.62" y="1.524" extent="1-16" drill="0.3302"/>
+<wire x1="8.382" y1="1.486" x2="7.658" y2="1.486" width="0.254" layer="1"/>
+<wire x1="7.658" y1="1.486" x2="7.62" y2="1.524" width="0.254" layer="1"/>
+<wire x1="8.382" y1="1.486" x2="7.658" y2="1.486" width="0.254" layer="16"/>
+<wire x1="7.658" y1="1.486" x2="7.62" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="N$3">
+<contactref element="R2" pad="1"/>
+<contactref element="LED2" pad="2"/>
+<via x="10.668" y="1.524" extent="1-16" drill="0.3302"/>
+<wire x1="9.906" y1="1.486" x2="10.63" y2="1.486" width="0.254" layer="16"/>
+<wire x1="10.63" y1="1.486" x2="10.668" y2="1.524" width="0.254" layer="16"/>
+<wire x1="9.906" y1="1.486" x2="10.63" y2="1.486" width="0.254" layer="1"/>
+<wire x1="10.63" y1="1.486" x2="10.668" y2="1.524" width="0.254" layer="1"/>
+</signal>
+<signal name="LED_A">
+<contactref element="LED1" pad="1"/>
+<contactref element="IC1" pad="2"/>
+<wire x1="8.394" y1="4.5" x2="8.394" y2="3.098" width="0.254" layer="1"/>
+<wire x1="8.394" y1="3.098" x2="8.382" y2="3.086" width="0.254" layer="1"/>
+</signal>
+<signal name="LED_B">
+<contactref element="LED2" pad="1"/>
+<contactref element="IC1" pad="5"/>
+<wire x1="9.894" y1="4.5" x2="9.894" y2="3.098" width="0.254" layer="1"/>
+<wire x1="9.894" y1="3.098" x2="9.906" y2="3.086" width="0.254" layer="1"/>
+</signal>
+<signal name="T_VREF">
+<contactref element="J2" pad="1"/>
+<contactref element="SB1" pad="2"/>
+<wire x1="13.97" y1="1.524" x2="13.97" y2="2.921" width="0.254" layer="16"/>
+<wire x1="13.97" y1="2.921" x2="14.097" y2="3.048" width="0.254" layer="16"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3.pdf


+ 1443 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v3/d11_micro_std_vcp_v3.sch

@@ -0,0 +1,1443 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="QFN24">
+<wire x1="2.196" y1="1.492" x2="2.196" y2="2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="2.196" x2="1.492" y2="2.196" width="0.127" layer="21"/>
+<wire x1="1.492" y1="2.196" x2="-1.492" y2="2.196" width="0.127" layer="51"/>
+<wire x1="-1.492" y1="2.196" x2="-2.196" y2="1.492" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="1.492" x2="-2.196" y2="-1.492" width="0.127" layer="51"/>
+<wire x1="-2.196" y1="-1.492" x2="-2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-2.196" y1="-2.196" x2="-1.492" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="-1.492" y1="-2.196" x2="1.492" y2="-2.196" width="0.127" layer="51"/>
+<wire x1="1.492" y1="-2.196" x2="2.196" y2="-2.196" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-2.196" x2="2.196" y2="-1.492" width="0.127" layer="21"/>
+<wire x1="2.196" y1="-1.492" x2="2.196" y2="1.492" width="0.127" layer="51"/>
+<smd name="1" x="-1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="2" x="-1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="3" x="-1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="4" x="-1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="5" x="-1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="6" x="-1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="7" x="-1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="8" x="-0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="9" x="-0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="10" x="0.25" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="11" x="0.75" y="-1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="12" x="1.25" y="-1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="13" x="1.85" y="-1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="14" x="1.85" y="-0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="15" x="1.85" y="-0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="16" x="1.85" y="0.25" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="17" x="1.85" y="0.75" dx="0.7" dy="0.28" layer="1" stop="no"/>
+<smd name="18" x="1.85" y="1.25" dx="0.7" dy="0.28" layer="1" roundness="50" stop="no"/>
+<smd name="19" x="1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="20" x="0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="21" x="0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="22" x="-0.25" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="23" x="-0.75" y="1.85" dx="0.28" dy="0.7" layer="1" stop="no"/>
+<smd name="24" x="-1.25" y="1.85" dx="0.28" dy="0.7" layer="1" roundness="50" stop="no"/>
+<smd name="PAD" x="0" y="0" dx="2" dy="2" layer="1" stop="no"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<rectangle x1="-1.024" y1="-1.024" x2="1.024" y2="1.024" layer="29"/>
+<rectangle x1="-2.225" y1="1.075" x2="-1.475" y2="1.425" layer="29"/>
+<rectangle x1="-2.225" y1="0.575" x2="-1.475" y2="0.925" layer="29"/>
+<rectangle x1="-2.225" y1="0.075" x2="-1.475" y2="0.425" layer="29"/>
+<rectangle x1="-2.225" y1="-0.425" x2="-1.475" y2="-0.075" layer="29"/>
+<rectangle x1="-2.225" y1="-0.925" x2="-1.475" y2="-0.575" layer="29"/>
+<rectangle x1="-2.225" y1="-1.425" x2="-1.475" y2="-1.075" layer="29"/>
+<rectangle x1="-1.625" y1="-2.025" x2="-0.875" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-1.125" y1="-2.025" x2="-0.375" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.625" y1="-2.025" x2="0.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="-0.125" y1="-2.025" x2="0.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.375" y1="-2.025" x2="1.125" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="0.875" y1="-2.025" x2="1.625" y2="-1.675" layer="29" rot="R90"/>
+<rectangle x1="1.475" y1="-1.425" x2="2.225" y2="-1.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.925" x2="2.225" y2="-0.575" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="-0.425" x2="2.225" y2="-0.075" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.075" x2="2.225" y2="0.425" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="0.575" x2="2.225" y2="0.925" layer="29" rot="R180"/>
+<rectangle x1="1.475" y1="1.075" x2="2.225" y2="1.425" layer="29" rot="R180"/>
+<rectangle x1="0.875" y1="1.675" x2="1.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="0.375" y1="1.675" x2="1.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.125" y1="1.675" x2="0.625" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-0.625" y1="1.675" x2="0.125" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.125" y1="1.675" x2="-0.375" y2="2.025" layer="29" rot="R270"/>
+<rectangle x1="-1.625" y1="1.675" x2="-0.875" y2="2.025" layer="29" rot="R270"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXD">
+<description>Atmel SAM D09D/D10D/D11D Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="17.78" x2="12.7" y2="17.78" width="0.254" layer="94"/>
+<wire x1="12.7" y1="17.78" x2="12.7" y2="-17.78" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-17.78" x2="-12.7" y2="-17.78" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-17.78" x2="-12.7" y2="17.78" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="17.78" y="-5.08" length="middle" direction="pas" rot="R180"/>
+<pin name="PA08" x="-17.78" y="0" length="middle" direction="pas"/>
+<pin name="PA09" x="-17.78" y="-2.54" length="middle" direction="pas"/>
+<pin name="PA14" x="-17.78" y="-10.16" length="middle" direction="pas"/>
+<pin name="PA15" x="-17.78" y="-12.7" length="middle" direction="pas"/>
+<pin name="PA05" x="-17.78" y="7.62" length="middle" direction="pas"/>
+<pin name="PA04" x="-17.78" y="10.16" length="middle" direction="pas"/>
+<pin name="PA02" x="-17.78" y="15.24" length="middle" direction="pas"/>
+<text x="0" y="18.542" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-19.812" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="17.78" y="-7.62" length="middle" direction="pas" rot="R180"/>
+<pin name="VDD" x="17.78" y="15.24" length="middle" direction="pas" rot="R180"/>
+<pin name="GND" x="17.78" y="-12.7" length="middle" direction="pas" rot="R180"/>
+<pin name="PA25/DP" x="17.78" y="0" length="middle" direction="pas" rot="R180"/>
+<pin name="PA24/DM" x="17.78" y="2.54" length="middle" direction="pas" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-10.16" length="middle" direction="pas" rot="R180"/>
+<pin name="PA03" x="-17.78" y="12.7" length="middle" direction="pas"/>
+<pin name="PA06" x="-17.78" y="5.08" length="middle" direction="pas"/>
+<pin name="PA07" x="-17.78" y="2.54" length="middle" direction="pas"/>
+<pin name="PA10" x="-17.78" y="-5.08" length="middle" direction="pas"/>
+<pin name="PA11" x="-17.78" y="-7.62" length="middle" direction="pas"/>
+<pin name="PA16" x="-17.78" y="-15.24" length="middle" direction="pas"/>
+<pin name="PA17" x="17.78" y="12.7" length="middle" direction="pas" rot="R180"/>
+<pin name="PA22" x="17.78" y="10.16" length="middle" direction="pas" rot="R180"/>
+<pin name="PA23" x="17.78" y="7.62" length="middle" direction="pas" rot="R180"/>
+<pin name="PA27" x="17.78" y="5.08" length="middle" direction="pas" rot="R180"/>
+<pin name="PAD" x="17.78" y="-15.24" length="middle" direction="pas" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11D" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXD" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="QFN24">
+<connects>
+<connect gate="G$1" pin="GND" pad="23"/>
+<connect gate="G$1" pin="PA02" pad="1"/>
+<connect gate="G$1" pin="PA03" pad="2"/>
+<connect gate="G$1" pin="PA04" pad="3"/>
+<connect gate="G$1" pin="PA05" pad="4"/>
+<connect gate="G$1" pin="PA06" pad="5"/>
+<connect gate="G$1" pin="PA07" pad="6"/>
+<connect gate="G$1" pin="PA08" pad="7"/>
+<connect gate="G$1" pin="PA09" pad="8"/>
+<connect gate="G$1" pin="PA10" pad="9"/>
+<connect gate="G$1" pin="PA11" pad="10"/>
+<connect gate="G$1" pin="PA14" pad="11"/>
+<connect gate="G$1" pin="PA15" pad="12"/>
+<connect gate="G$1" pin="PA16" pad="13"/>
+<connect gate="G$1" pin="PA17" pad="14"/>
+<connect gate="G$1" pin="PA22" pad="15"/>
+<connect gate="G$1" pin="PA23" pad="16"/>
+<connect gate="G$1" pin="PA24/DM" pad="21"/>
+<connect gate="G$1" pin="PA25/DP" pad="22"/>
+<connect gate="G$1" pin="PA27" pad="17"/>
+<connect gate="G$1" pin="PA28/RST" pad="18"/>
+<connect gate="G$1" pin="PA30/SCK" pad="19"/>
+<connect gate="G$1" pin="PA31/SIO" pad="20"/>
+<connect gate="G$1" pin="PAD" pad="PAD"/>
+<connect gate="G$1" pin="VDD" pad="24"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="HEADER-5X2-2.54MM">
+<wire x1="-6.35" y1="0" x2="-3.81" y2="0" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="0" x2="-3.81" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1.016" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1.016"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1.016"/>
+<pad name="4" x="-2.54" y="1.27" drill="1.016"/>
+<pad name="5" x="0" y="-1.27" drill="1.016"/>
+<pad name="6" x="0" y="1.27" drill="1.016"/>
+<pad name="7" x="2.54" y="-1.27" drill="1.016"/>
+<pad name="8" x="2.54" y="1.27" drill="1.016"/>
+<pad name="9" x="5.08" y="-1.27" drill="1.016"/>
+<pad name="10" x="5.08" y="1.27" drill="1.016"/>
+<text x="0" y="3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.016"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="HEADER-5X2-1.27MM-SHR">
+<wire x1="-6.35" y1="2.794" x2="6.35" y2="2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.794" x2="6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.794" x2="-6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.794" x2="-6.35" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="3.302" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<circle x="-5.334" y="-1.778" radius="0.381" width="0.254" layer="21"/>
+</package>
+<package name="HEADER-5X2-2.54MM-SHR-RA">
+<description>10-pin right angle shrouded header</description>
+<wire x1="10.16" y1="2.794" x2="10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="10.16" y1="10.922" x2="1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="1.778" y1="4.572" x2="-1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="4.572" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="10.922" x2="-10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-10.16" y1="10.922" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<wire x1="10.16" y1="2.794" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1" diameter="1.4224" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="4" x="-2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="5" x="0" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="6" x="0" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="7" x="2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="8" x="2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="9" x="5.08" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="10" x="5.08" y="1.27" drill="1" diameter="1.4224"/>
+<text x="-8.89" y="-0.508" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-8.89" y1="10.16" x2="-6.35" y2="10.16" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="10.16" x2="-7.62" y2="8.89" width="0.127" layer="21"/>
+<wire x1="-7.62" y1="8.89" x2="-8.89" y2="10.16" width="0.127" layer="21"/>
+</package>
+<package name="PIN-TH-LARGE">
+<wire x1="-0.635" y1="1.651" x2="0.635" y2="1.651" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.651" x2="1.651" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.651" y1="0.635" x2="1.651" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.651" y1="-0.635" x2="0.635" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="-1.651" y1="0.635" x2="-1.651" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.651" x2="-1.651" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.651" y1="-0.635" x2="-0.635" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.651" x2="-0.635" y2="-1.651" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.778"/>
+<text x="0" y="2.032" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.302" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="PIN-TH-SMALL">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="0.9"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="HEADER-5X2">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-7.62" x2="5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="7.62" x2="-5.08" y2="7.62" width="0.254" layer="94"/>
+<pin name="1" x="-7.62" y="5.08" length="short" direction="pas"/>
+<pin name="2" x="7.62" y="5.08" length="short" direction="pas" rot="R180"/>
+<pin name="3" x="-7.62" y="2.54" length="short" direction="pas"/>
+<pin name="4" x="7.62" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="5" x="-7.62" y="0" length="short" direction="pas"/>
+<pin name="6" x="7.62" y="0" length="short" direction="pas" rot="R180"/>
+<pin name="7" x="-7.62" y="-2.54" length="short" direction="pas"/>
+<pin name="8" x="7.62" y="-2.54" length="short" direction="pas" rot="R180"/>
+<pin name="9" x="-7.62" y="-5.08" length="short" direction="pas"/>
+<pin name="10" x="7.62" y="-5.08" length="short" direction="pas" rot="R180"/>
+<text x="0" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+</symbol>
+<symbol name="MICRO-USB-5">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-10.16" width="0.254" layer="94"/>
+<text x="0.762" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="VBUS" x="-7.62" y="5.08" visible="pin" length="short" direction="pas"/>
+<pin name="DM" x="-7.62" y="2.54" visible="pin" length="short" direction="pas"/>
+<pin name="DP" x="-7.62" y="0" visible="pin" length="short" direction="pas"/>
+<pin name="ID" x="-7.62" y="-2.54" visible="pin" length="short" direction="pas"/>
+<pin name="GND" x="-7.62" y="-5.08" visible="pin" length="short" direction="pas"/>
+<wire x1="7.62" y1="7.62" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-10.16" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<pin name="SHIELD" x="-7.62" y="-7.62" visible="pin" length="short" direction="pas"/>
+<text x="0.762" y="-12.192" size="1.27" layer="95" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="CONN-SINGLE">
+<wire x1="-2.54" y1="0.762" x2="0.127" y2="0" width="0.254" layer="94"/>
+<wire x1="0.127" y1="0" x2="-2.4765" y2="-0.762" width="0.254" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<text x="1.27" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<text x="6.096" y="-0.508" size="1.27" layer="96">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="HEADER-5X2" prefix="J">
+<gates>
+<gate name="G$1" symbol="HEADER-5X2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH-1.27" package="HEADER-5X2-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-1.27-SHR" package="HEADER-5X2-1.27MM-SHR">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54-SHR-RA" package="HEADER-5X2-2.54MM-SHR-RA">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54" package="HEADER-5X2-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="USB-B-MICRO" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="MICRO-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMT" package="USB-B-MICRO-SMT-SHELL-TH">
+<connects>
+<connect gate="G$1" pin="DM" pad="2"/>
+<connect gate="G$1" pin="DP" pad="3"/>
+<connect gate="G$1" pin="GND" pad="5"/>
+<connect gate="G$1" pin="ID" pad="4"/>
+<connect gate="G$1" pin="SHIELD" pad="M1 M2 M3 M4" route="any"/>
+<connect gate="G$1" pin="VBUS" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="CONN-SINGLE" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="CONN-SINGLE" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH" package="PIN-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-LARGE" package="PIN-TH-LARGE">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-SMALL" package="PIN-TH-SMALL">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="pas"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pas" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="pas"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SB-1.27MM-NO">
+<smd name="1" x="-0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.286" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<smd name="2" x="0.508" y="0" dx="0.762" dy="1.27" layer="1" cream="no"/>
+<rectangle x1="-1.016" y1="-0.762" x2="1.016" y2="0.762" layer="29"/>
+</package>
+<package name="TP-0.635MM">
+<smd name="1" x="0" y="0" dx="0.635" dy="0.635" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.5MM">
+<smd name="1" x="0" y="0" dx="0.5" dy="0.5" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-1.27MM-TH">
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<pad name="1" x="0" y="0" drill="0.762" diameter="1.27"/>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+<symbol name="SB">
+<wire x1="0.381" y1="0.381" x2="0.381" y2="-0.381" width="0.762" layer="94" curve="-180" cap="flat"/>
+<wire x1="-0.381" y1="-0.381" x2="-0.381" y2="0.381" width="0.762" layer="94" curve="-180" cap="flat"/>
+<wire x1="2.54" y1="0" x2="1.143" y2="0" width="0.1524" layer="94"/>
+<wire x1="-2.54" y1="0" x2="-1.143" y2="0" width="0.1524" layer="94"/>
+<text x="0" y="1.778" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<text x="0" y="-3.048" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.635MM" package="TP-0.635MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.5MM" package="TP-0.5MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1.27MM-TH" package="TP-1.27MM-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="SOLDER-BRIDGE" prefix="SB" uservalue="yes">
+<description>Solder Bridge</description>
+<gates>
+<gate name="G$1" symbol="SB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM-NO" package="SB-1.27MM-NO">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="P_8" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="IC2" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_5" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="J2" library="ataradov_conn" deviceset="HEADER-5X2" device="-TH-1.27"/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J1" library="ataradov_conn" deviceset="USB-B-MICRO" device="-SMT"/>
+<part name="R1" library="ataradov_rlc" deviceset="R" device="-0603" value="10K"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="ORANGE"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="10K"/>
+<part name="LED2" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="GREEN"/>
+<part name="P_12" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J3" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="RX"/>
+<part name="J4" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="TX"/>
+<part name="J5" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="GND"/>
+<part name="P_13" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="SB1" library="ataradov_misc" deviceset="SOLDER-BRIDGE" device="-1.27MM-NO"/>
+<part name="IC1" library="ataradov_mcu" deviceset="ATSAMD11D" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_10" library="ataradov_pwr" deviceset="+3V3" device=""/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="139.7" y2="114.3" columns="8" rows="5" layer="97"/>
+<text x="35.56" y="7.62" size="1.778" layer="97">d11_micro_std_vcp_v3
+Copyright (c) 2021, Alex Taradov &lt;alex@taradov.com&gt;
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+</plain>
+<instances>
+<instance part="P_8" gate="1" x="76.2" y="35.56"/>
+<instance part="P_2" gate="1" x="30.48" y="17.78" rot="MR0"/>
+<instance part="P_1" gate="1" x="30.48" y="35.56" rot="MR0"/>
+<instance part="P_3" gate="1" x="48.26" y="35.56"/>
+<instance part="C1" gate="G$1" x="48.26" y="27.94" rot="R90"/>
+<instance part="C2" gate="G$1" x="76.2" y="27.94" rot="R90"/>
+<instance part="IC2" gate="G$1" x="60.96" y="30.48"/>
+<instance part="P_5" gate="1" x="60.96" y="22.86"/>
+<instance part="P_9" gate="1" x="76.2" y="22.86"/>
+<instance part="P_4" gate="1" x="48.26" y="22.86"/>
+<instance part="TP1" gate="G$1" x="63.5" y="66.04"/>
+<instance part="TP2" gate="G$1" x="63.5" y="68.58"/>
+<instance part="TP3" gate="G$1" x="63.5" y="71.12"/>
+<instance part="TP4" gate="G$1" x="63.5" y="63.5"/>
+<instance part="J2" gate="G$1" x="99.06" y="81.28"/>
+<instance part="P_11" gate="1" x="88.9" y="71.12"/>
+<instance part="J1" gate="G$1" x="20.32" y="27.94" rot="MR0"/>
+<instance part="R1" gate="G$1" x="109.22" y="35.56"/>
+<instance part="LED1" gate="G$1" x="99.06" y="35.56" rot="MR270"/>
+<instance part="R2" gate="G$1" x="109.22" y="25.4"/>
+<instance part="LED2" gate="G$1" x="99.06" y="25.4" rot="MR270"/>
+<instance part="P_12" gate="1" x="114.3" y="22.86"/>
+<instance part="J3" gate="G$1" x="104.14" y="53.34"/>
+<instance part="J4" gate="G$1" x="104.14" y="50.8"/>
+<instance part="J5" gate="G$1" x="104.14" y="48.26"/>
+<instance part="P_13" gate="1" x="99.06" y="45.72"/>
+<instance part="SB1" gate="G$1" x="88.9" y="88.9" rot="R270"/>
+<instance part="IC1" gate="G$1" x="43.18" y="76.2"/>
+<instance part="P_6" gate="1" x="60.96" y="93.98"/>
+<instance part="P_7" gate="1" x="60.96" y="58.42"/>
+<instance part="P_10" gate="1" x="88.9" y="93.98"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="USB_DM" class="0">
+<segment>
+<wire x1="30.48" y1="30.48" x2="27.94" y2="30.48" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="DM"/>
+<label x="30.48" y="30.48" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA24/DM"/>
+<wire x1="60.96" y1="78.74" x2="63.5" y2="78.74" width="0.1524" layer="91"/>
+<label x="63.5" y="78.74" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="USB_DP" class="0">
+<segment>
+<wire x1="30.48" y1="27.94" x2="27.94" y2="27.94" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="DP"/>
+<label x="30.48" y="27.94" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA25/DP"/>
+<wire x1="60.96" y1="76.2" x2="63.5" y2="76.2" width="0.1524" layer="91"/>
+<label x="63.5" y="76.2" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_2" gate="1" pin="GND"/>
+<wire x1="30.48" y1="20.32" x2="30.48" y2="22.86" width="0.1524" layer="91"/>
+<wire x1="30.48" y1="22.86" x2="27.94" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_5" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_9" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="TP4" gate="G$1" pin="1"/>
+<pinref part="IC1" gate="G$1" pin="PAD"/>
+<pinref part="P_7" gate="1" pin="GND"/>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<wire x1="60.96" y1="60.96" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+<junction x="60.96" y="60.96"/>
+<wire x1="63.5" y1="63.5" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+<junction x="60.96" y="63.5"/>
+</segment>
+<segment>
+<pinref part="J2" gate="G$1" pin="3"/>
+<wire x1="91.44" y1="83.82" x2="88.9" y2="83.82" width="0.1524" layer="91"/>
+<pinref part="P_11" gate="1" pin="GND"/>
+<wire x1="88.9" y1="83.82" x2="88.9" y2="81.28" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="5"/>
+<wire x1="88.9" y1="81.28" x2="88.9" y2="76.2" width="0.1524" layer="91"/>
+<wire x1="88.9" y1="76.2" x2="88.9" y2="73.66" width="0.1524" layer="91"/>
+<wire x1="91.44" y1="81.28" x2="88.9" y2="81.28" width="0.1524" layer="91"/>
+<junction x="88.9" y="81.28"/>
+<pinref part="J2" gate="G$1" pin="9"/>
+<wire x1="91.44" y1="76.2" x2="88.9" y2="76.2" width="0.1524" layer="91"/>
+<junction x="88.9" y="76.2"/>
+</segment>
+<segment>
+<pinref part="P_12" gate="1" pin="GND"/>
+<wire x1="114.3" y1="35.56" x2="114.3" y2="25.4" width="0.1524" layer="91"/>
+<pinref part="R1" gate="G$1" pin="2"/>
+<pinref part="R2" gate="G$1" pin="2"/>
+<junction x="114.3" y="25.4"/>
+</segment>
+<segment>
+<pinref part="J5" gate="G$1" pin="1"/>
+<pinref part="P_13" gate="1" pin="GND"/>
+<wire x1="99.06" y1="48.26" x2="101.6" y2="48.26" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_1" gate="1" pin="V_USB"/>
+<wire x1="30.48" y1="33.02" x2="27.94" y2="33.02" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="VBUS"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="50.8" y1="30.48" x2="48.26" y2="30.48" width="0.1524" layer="91"/>
+<pinref part="IC2" gate="G$1" pin="IN"/>
+<wire x1="50.8" y1="33.02" x2="48.26" y2="33.02" width="0.1524" layer="91"/>
+<junction x="48.26" y="33.02"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="48.26" y1="33.02" x2="48.26" y2="30.48" width="0.1524" layer="91"/>
+<junction x="48.26" y="30.48"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="OUT"/>
+<wire x1="71.12" y1="33.02" x2="76.2" y2="33.02" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="76.2" y1="30.48" x2="76.2" y2="33.02" width="0.1524" layer="91"/>
+<junction x="76.2" y="33.02"/>
+<pinref part="P_8" gate="1" pin="+3V3"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="VDD"/>
+<pinref part="P_6" gate="1" pin="+3V3"/>
+</segment>
+<segment>
+<pinref part="SB1" gate="G$1" pin="1"/>
+<pinref part="P_10" gate="1" pin="+3V3"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA31/SIO"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+<wire x1="60.96" y1="66.04" x2="63.5" y2="66.04" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA30/SCK"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+<wire x1="60.96" y1="68.58" x2="63.5" y2="68.58" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="TP3" gate="G$1" pin="1"/>
+<pinref part="IC1" gate="G$1" pin="PA28/RST"/>
+<wire x1="63.5" y1="71.12" x2="60.96" y2="71.12" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="T_SWDIO_TMS" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="2"/>
+<wire x1="106.68" y1="86.36" x2="109.22" y2="86.36" width="0.1524" layer="91"/>
+<label x="109.22" y="86.36" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA08"/>
+<wire x1="25.4" y1="76.2" x2="22.86" y2="76.2" width="0.1524" layer="91"/>
+<label x="22.86" y="76.2" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_SWCLK_TCK" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="4"/>
+<wire x1="109.22" y1="83.82" x2="106.68" y2="83.82" width="0.1524" layer="91"/>
+<label x="109.22" y="83.82" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA09"/>
+<wire x1="25.4" y1="73.66" x2="22.86" y2="73.66" width="0.1524" layer="91"/>
+<label x="22.86" y="73.66" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_RESET" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="10"/>
+<wire x1="106.68" y1="76.2" x2="109.22" y2="76.2" width="0.1524" layer="91"/>
+<label x="109.22" y="76.2" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA15"/>
+<wire x1="25.4" y1="63.5" x2="22.86" y2="63.5" width="0.1524" layer="91"/>
+<label x="22.86" y="63.5" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="UART_TX" class="0">
+<segment>
+<pinref part="J4" gate="G$1" pin="1"/>
+<wire x1="101.6" y1="50.8" x2="96.52" y2="50.8" width="0.1524" layer="91"/>
+<label x="96.52" y="50.8" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA16"/>
+<wire x1="25.4" y1="60.96" x2="22.86" y2="60.96" width="0.1524" layer="91"/>
+<label x="22.86" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="UART_RX" class="0">
+<segment>
+<pinref part="J3" gate="G$1" pin="1"/>
+<wire x1="101.6" y1="53.34" x2="96.52" y2="53.34" width="0.1524" layer="91"/>
+<label x="96.52" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA17"/>
+<wire x1="60.96" y1="88.9" x2="63.5" y2="88.9" width="0.1524" layer="91"/>
+<label x="63.5" y="88.9" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_TDO" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="6"/>
+<wire x1="106.68" y1="81.28" x2="109.22" y2="81.28" width="0.1524" layer="91"/>
+<label x="109.22" y="81.28" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA10"/>
+<wire x1="25.4" y1="71.12" x2="22.86" y2="71.12" width="0.1524" layer="91"/>
+<label x="22.86" y="71.12" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_TDI" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="8"/>
+<wire x1="106.68" y1="78.74" x2="109.22" y2="78.74" width="0.1524" layer="91"/>
+<label x="109.22" y="78.74" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA14"/>
+<wire x1="25.4" y1="66.04" x2="22.86" y2="66.04" width="0.1524" layer="91"/>
+<label x="22.86" y="66.04" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="R1" gate="G$1" pin="1"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<pinref part="R2" gate="G$1" pin="1"/>
+<pinref part="LED2" gate="G$1" pin="C"/>
+</segment>
+</net>
+<net name="LED_A" class="0">
+<segment>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="96.52" y1="35.56" x2="93.98" y2="35.56" width="0.1524" layer="91"/>
+<label x="93.98" y="35.56" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA03"/>
+<wire x1="25.4" y1="88.9" x2="22.86" y2="88.9" width="0.1524" layer="91"/>
+<label x="22.86" y="88.9" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="LED_B" class="0">
+<segment>
+<pinref part="LED2" gate="G$1" pin="A"/>
+<wire x1="96.52" y1="25.4" x2="93.98" y2="25.4" width="0.1524" layer="91"/>
+<label x="93.98" y="25.4" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="PA06"/>
+<wire x1="25.4" y1="81.28" x2="22.86" y2="81.28" width="0.1524" layer="91"/>
+<label x="22.86" y="81.28" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_VREF" class="0">
+<segment>
+<pinref part="J2" gate="G$1" pin="1"/>
+<pinref part="SB1" gate="G$1" pin="2"/>
+<wire x1="88.9" y1="86.36" x2="91.44" y2="86.36" width="0.1524" layer="91"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4-gerbers.zip


binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4-layers.zip


+ 769 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4.brd

@@ -0,0 +1,769 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="22.098" y2="0" width="0.1524" layer="20"/>
+<wire x1="22.098" y1="0" x2="22.098" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="22.098" y1="11.176" x2="0" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="0" y1="11.176" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="1.778" y="5.588" size="0.762" layer="21" font="vector" rot="R90" align="bottom-center">7/19/21</text>
+<text x="16.764" y="1.27" size="1.27" layer="21" font="vector" rot="R90" align="bottom-center">1</text>
+<text x="3.302" y="5.588" size="1.27" layer="21" font="vector" rot="R90" align="bottom-center">AT</text>
+<circle x="17.526" y="1.016" radius="0.254" width="0.508" layer="21"/>
+<circle x="17.526" y="1.016" radius="0.254" width="0.508" layer="22"/>
+<wire x1="20.32" y1="8.128" x2="21.59" y2="8.128" width="0.254" layer="21"/>
+<wire x1="21.59" y1="8.128" x2="20.32" y2="8.89" width="0.254" layer="21"/>
+<wire x1="20.32" y1="8.89" x2="20.32" y2="8.636" width="0.254" layer="21"/>
+<wire x1="20.32" y1="8.636" x2="20.32" y2="8.382" width="0.254" layer="21"/>
+<wire x1="20.32" y1="8.382" x2="20.32" y2="8.128" width="0.254" layer="21"/>
+<wire x1="20.32" y1="8.128" x2="20.32" y2="7.874" width="0.254" layer="21"/>
+<wire x1="20.32" y1="7.874" x2="20.32" y2="7.62" width="0.254" layer="21"/>
+<wire x1="20.32" y1="7.62" x2="20.32" y2="7.366" width="0.254" layer="21"/>
+<wire x1="20.32" y1="7.366" x2="21.59" y2="8.128" width="0.254" layer="21"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.588" width="0.254" layer="21"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="6.35" width="0.254" layer="21"/>
+<wire x1="21.59" y1="6.35" x2="21.59" y2="6.096" width="0.254" layer="21"/>
+<wire x1="21.59" y1="6.096" x2="21.59" y2="5.842" width="0.254" layer="21"/>
+<wire x1="21.59" y1="5.842" x2="21.59" y2="5.588" width="0.254" layer="21"/>
+<wire x1="21.59" y1="5.588" x2="21.59" y2="5.334" width="0.254" layer="21"/>
+<wire x1="21.59" y1="5.334" x2="21.59" y2="5.08" width="0.254" layer="21"/>
+<wire x1="21.59" y1="5.08" x2="21.59" y2="4.826" width="0.254" layer="21"/>
+<wire x1="21.59" y1="4.826" x2="20.32" y2="5.588" width="0.254" layer="21"/>
+<wire x1="20.32" y1="3.048" x2="21.59" y2="3.048" width="0.254" layer="21"/>
+<wire x1="21.59" y1="3.048" x2="21.59" y2="3.81" width="0.254" layer="21"/>
+<wire x1="21.59" y1="3.048" x2="21.59" y2="2.286" width="0.254" layer="21"/>
+<wire x1="20.32" y1="8.636" x2="21.59" y2="8.128" width="0.254" layer="21"/>
+<wire x1="20.32" y1="8.382" x2="21.59" y2="8.128" width="0.254" layer="21"/>
+<wire x1="21.59" y1="6.096" x2="20.32" y2="5.588" width="0.254" layer="21"/>
+<wire x1="20.32" y1="7.62" x2="21.59" y2="8.128" width="0.254" layer="21"/>
+<wire x1="20.32" y1="7.874" x2="21.59" y2="8.128" width="0.254" layer="21"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.334" width="0.254" layer="21"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.842" width="0.254" layer="21"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.08" width="0.254" layer="21"/>
+<wire x1="20.32" y1="8.128" x2="21.59" y2="8.128" width="0.254" layer="22"/>
+<wire x1="21.59" y1="8.128" x2="20.32" y2="8.89" width="0.254" layer="22"/>
+<wire x1="20.32" y1="8.89" x2="20.32" y2="8.636" width="0.254" layer="22"/>
+<wire x1="20.32" y1="8.636" x2="20.32" y2="8.382" width="0.254" layer="22"/>
+<wire x1="20.32" y1="8.382" x2="20.32" y2="8.128" width="0.254" layer="22"/>
+<wire x1="20.32" y1="8.128" x2="20.32" y2="7.874" width="0.254" layer="22"/>
+<wire x1="20.32" y1="7.874" x2="20.32" y2="7.62" width="0.254" layer="22"/>
+<wire x1="20.32" y1="7.62" x2="20.32" y2="7.366" width="0.254" layer="22"/>
+<wire x1="20.32" y1="7.366" x2="21.59" y2="8.128" width="0.254" layer="22"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.588" width="0.254" layer="22"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="6.35" width="0.254" layer="22"/>
+<wire x1="21.59" y1="6.35" x2="21.59" y2="6.096" width="0.254" layer="22"/>
+<wire x1="21.59" y1="6.096" x2="21.59" y2="5.842" width="0.254" layer="22"/>
+<wire x1="21.59" y1="5.842" x2="21.59" y2="5.588" width="0.254" layer="22"/>
+<wire x1="21.59" y1="5.588" x2="21.59" y2="5.334" width="0.254" layer="22"/>
+<wire x1="21.59" y1="5.334" x2="21.59" y2="5.08" width="0.254" layer="22"/>
+<wire x1="21.59" y1="5.08" x2="21.59" y2="4.826" width="0.254" layer="22"/>
+<wire x1="21.59" y1="4.826" x2="20.32" y2="5.588" width="0.254" layer="22"/>
+<wire x1="20.32" y1="3.048" x2="21.59" y2="3.048" width="0.254" layer="22"/>
+<wire x1="21.59" y1="3.048" x2="21.59" y2="3.81" width="0.254" layer="22"/>
+<wire x1="21.59" y1="3.048" x2="21.59" y2="2.286" width="0.254" layer="22"/>
+<wire x1="20.32" y1="8.636" x2="21.59" y2="8.128" width="0.254" layer="22"/>
+<wire x1="20.32" y1="8.382" x2="21.59" y2="8.128" width="0.254" layer="22"/>
+<wire x1="21.59" y1="6.096" x2="20.32" y2="5.588" width="0.254" layer="22"/>
+<wire x1="20.32" y1="7.62" x2="21.59" y2="8.128" width="0.254" layer="22"/>
+<wire x1="20.32" y1="7.874" x2="21.59" y2="8.128" width="0.254" layer="22"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.334" width="0.254" layer="22"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.842" width="0.254" layer="22"/>
+<wire x1="20.32" y1="5.588" x2="21.59" y2="5.08" width="0.254" layer="22"/>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.318" y1="-1.143" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.143" x2="-4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="-1.143" x2="-4.318" y2="0" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="0" x2="-4.318" y2="1.143" width="0.127" layer="21"/>
+<wire x1="4.318" y1="1.143" x2="4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="1.143" x2="4.318" y2="1.143" width="0.127" layer="21"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="0" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-4.318" y1="0" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<circle x="-4.699" y="-1.524" radius="0.127" width="0.254" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.016"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="2" x="-0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="3" x="0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="4" x="1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="5" x="1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="6" x="0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="7" x="-0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="8" x="-1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.4986" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="-1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="1.778" y2="1.4986" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="-1.524" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" ratio="10" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="std-tented-new">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="0mil"/>
+<param name="mdSmdVia" value="0mil"/>
+<param name="mdSmdSmd" value="0mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="10mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="8mil"/>
+<param name="msDrill" value="12mil"/>
+<param name="msMicroVia" value="12mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="25mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="6mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="IC2" library="ataradov_mcu" package="SO-14" value="ATSAMD11C" x="10.414" y="6.35" smashed="yes" rot="MR270">
+<attribute name="NAME" x="10.414" y="11.176" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="2.286" y="3.556" rot="MR180"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="4.572" y="5.588" smashed="yes" rot="MR90">
+<attribute name="NAME" x="5.588" y="5.588" size="1.27" layer="26" font="vector" rot="MR90" align="bottom-center"/>
+</element>
+<element name="IC1" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="2.286" y="6.35" smashed="yes" rot="MR0">
+<attribute name="NAME" x="2.286" y="8.636" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="J1" library="ataradov_conn" package="HEADER-5X2-1.27MM" value="HEADER-5X2-TH-1.27" x="16.002" y="5.588" rot="R90"/>
+<element name="J5" library="ataradov_conn" package="USB-B-MICRO-SMT-SHELL-TH" value="" x="0" y="5.588"/>
+<element name="R1" library="ataradov_rlc" package="SMD0603" value="10K" x="8.382" y="2.286" rot="R90"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="GREEN" x="6.858" y="2.286" rot="R270"/>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="10K" x="8.382" y="8.89" rot="R90"/>
+<element name="LED2" library="ataradov_led" package="SMD0603" value="ORANGE" x="6.858" y="8.89" rot="R270"/>
+<element name="J2" library="ataradov_conn" package="PIN-TH" value="RX" x="18.542" y="5.588" smashed="yes" rot="R90">
+<attribute name="NAME" x="17.018" y="5.588" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="J3" library="ataradov_conn" package="PIN-TH" value="TX" x="18.542" y="8.128" smashed="yes" rot="R90">
+<attribute name="NAME" x="17.018" y="8.128" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="J4" library="ataradov_conn" package="PIN-TH" value="GND" x="18.542" y="3.048" smashed="yes" rot="R90">
+<attribute name="NAME" x="17.018" y="3.048" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="RN2" library="ataradov_rlc" package="SMD0603-X4" value="33" x="12.446" y="4.064" rot="R270"/>
+<element name="RN1" library="ataradov_rlc" package="SMD0603-X4" value="33" x="12.446" y="8.89" rot="R270"/>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="" x="7.874" y="1.524" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="12.954" y="1.524" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="10.414" y="1.524" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="5.334" y="1.524" rot="MR0"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC1" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="IC2" pad="11"/>
+<contactref element="J1" pad="3"/>
+<contactref element="J1" pad="5"/>
+<contactref element="J5" pad="5"/>
+<polygon width="0.254" layer="16" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="22.098" y="11.176"/>
+<vertex x="22.098" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<polygon width="0.254" layer="1" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="22.098" y="11.176"/>
+<vertex x="22.098" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<contactref element="LED2" pad="2"/>
+<contactref element="LED1" pad="2"/>
+<contactref element="J1" pad="9"/>
+<contactref element="J4" pad="1"/>
+<via x="3.81" y="8.89" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.81" y="2.286" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="6.096" y="4.064" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="2.286" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="5.334" y="1.524" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="TP4" pad="1"/>
+<via x="1.524" y="3.556" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.906" y="10.414" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="10.668" y="6.35" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.906" y="4.318" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="17.78" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="20.828" y="9.906" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="16.002" y="1.778" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="20.828" y="1.27" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="5.334" y="9.652" extent="1-16" drill="0.3302" diameter="0.254"/>
+</signal>
+<signal name="N$1">
+<contactref element="IC2" pad="9"/>
+<contactref element="J5" pad="2"/>
+<via x="7.62" y="4.064" extent="1-16" drill="0.3302" diameter="0.254"/>
+<wire x1="4.825" y1="6.238" x2="5.954" y2="6.238" width="0.254" layer="1"/>
+<wire x1="5.954" y1="6.238" x2="7.62" y2="4.572" width="0.254" layer="1"/>
+<wire x1="7.62" y1="4.572" x2="7.62" y2="4.064" width="0.254" layer="1"/>
+<wire x1="7.62" y1="4.064" x2="7.62" y2="4.004" width="0.254" layer="16"/>
+<wire x1="7.62" y1="4.004" x2="7.814" y2="3.81" width="0.254" layer="16"/>
+</signal>
+<signal name="N$2">
+<contactref element="IC2" pad="10"/>
+<contactref element="J5" pad="3"/>
+<via x="6.096" y="5.08" extent="1-16" drill="0.3302" diameter="0.254"/>
+<wire x1="4.825" y1="5.588" x2="5.588" y2="5.588" width="0.254" layer="1"/>
+<wire x1="5.588" y1="5.588" x2="6.096" y2="5.08" width="0.254" layer="1"/>
+<wire x1="7.814" y1="5.08" x2="6.096" y2="5.08" width="0.254" layer="16"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC1" pad="3"/>
+<contactref element="IC1" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="J5" pad="1"/>
+<wire x1="4.825" y1="6.888" x2="3.84" y2="6.888" width="0.254" layer="1"/>
+<wire x1="3.84" y1="6.888" x2="3.048" y2="6.096" width="0.254" layer="1"/>
+<via x="3.048" y="6.096" extent="1-16" drill="0.3302"/>
+<wire x1="3.048" y1="6.096" x2="1.778" y2="6.096" width="0.254" layer="16"/>
+<wire x1="1.778" y1="6.096" x2="1.336" y2="5.654" width="0.254" layer="16"/>
+<wire x1="1.336" y1="5.654" x2="1.336" y2="5.05" width="0.254" layer="16"/>
+<wire x1="3.048" y1="6.096" x2="3.236" y2="5.908" width="0.254" layer="16"/>
+<wire x1="3.236" y1="5.908" x2="3.236" y2="5.05" width="0.254" layer="16"/>
+<wire x1="3.236" y1="5.05" x2="3.236" y2="3.706" width="0.254" layer="16"/>
+<wire x1="3.236" y1="3.706" x2="3.086" y2="3.556" width="0.254" layer="16"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC1" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC2" pad="12"/>
+<wire x1="3.236" y1="7.65" x2="3.236" y2="6.924" width="0.254" layer="16"/>
+<wire x1="3.236" y1="6.924" x2="3.772" y2="6.388" width="0.254" layer="16"/>
+<wire x1="3.772" y1="6.388" x2="4.572" y2="6.388" width="0.254" layer="16"/>
+<wire x1="7.814" y1="7.62" x2="6.604" y2="7.62" width="0.254" layer="16"/>
+<wire x1="6.604" y1="7.62" x2="5.372" y2="6.388" width="0.254" layer="16"/>
+<wire x1="5.372" y1="6.388" x2="4.572" y2="6.388" width="0.254" layer="16"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="IC2" pad="8"/>
+<contactref element="R1" pad="1"/>
+<contactref element="TP1" pad="1"/>
+<via x="7.874" y="1.524" extent="1-16" drill="0.3302"/>
+<wire x1="7.814" y1="2.54" x2="7.874" y2="2.48" width="0.254" layer="16"/>
+<wire x1="7.874" y1="2.48" x2="7.874" y2="1.524" width="0.254" layer="16"/>
+<wire x1="8.382" y1="1.486" x2="8.344" y2="1.524" width="0.254" layer="1"/>
+<wire x1="8.344" y1="1.524" x2="7.874" y2="1.524" width="0.254" layer="1"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="IC2" pad="7"/>
+<contactref element="R2" pad="1"/>
+<contactref element="TP2" pad="1"/>
+<via x="12.954" y="1.524" extent="1-16" drill="0.3302"/>
+<wire x1="12.954" y1="1.524" x2="11.176" y2="1.524" width="0.254" layer="1"/>
+<wire x1="11.176" y1="1.524" x2="9.144" y2="3.556" width="0.254" layer="1"/>
+<wire x1="9.144" y1="3.556" x2="9.144" y2="6.604" width="0.254" layer="1"/>
+<wire x1="9.144" y1="6.604" x2="8.382" y2="7.366" width="0.254" layer="1"/>
+<wire x1="8.382" y1="7.366" x2="8.382" y2="8.09" width="0.254" layer="1"/>
+<wire x1="13.014" y1="2.54" x2="12.954" y2="2.48" width="0.254" layer="16"/>
+<wire x1="12.954" y1="2.48" x2="12.954" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="IC2" pad="6"/>
+<wire x1="13.014" y1="3.81" x2="11.684" y2="3.81" width="0.254" layer="16"/>
+<wire x1="11.684" y1="3.81" x2="10.414" y2="2.54" width="0.254" layer="16"/>
+<contactref element="TP3" pad="1"/>
+<wire x1="10.414" y1="2.54" x2="10.414" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="T_SWDIO_TMS">
+<contactref element="J1" pad="2"/>
+<contactref element="RN2" pad="6"/>
+<wire x1="13.198" y1="3.664" x2="14.751" y2="3.664" width="0.254" layer="1"/>
+<wire x1="14.751" y1="3.664" x2="15.367" y2="3.048" width="0.254" layer="1"/>
+</signal>
+<signal name="T_SWCLK_TCK">
+<contactref element="J1" pad="4"/>
+<contactref element="RN2" pad="7"/>
+<wire x1="13.198" y1="4.464" x2="15.221" y2="4.464" width="0.254" layer="1"/>
+<wire x1="15.221" y1="4.464" x2="15.367" y2="4.318" width="0.254" layer="1"/>
+</signal>
+<signal name="T_RESET">
+<contactref element="J1" pad="10"/>
+<contactref element="RN1" pad="6"/>
+<wire x1="13.198" y1="8.49" x2="15.005" y2="8.49" width="0.254" layer="1"/>
+<wire x1="15.005" y1="8.49" x2="15.367" y2="8.128" width="0.254" layer="1"/>
+</signal>
+<signal name="I_TX">
+<contactref element="IC2" pad="2"/>
+<contactref element="RN1" pad="2"/>
+<via x="10.668" y="9.652" extent="1-16" drill="0.3302"/>
+<wire x1="13.014" y1="8.89" x2="11.43" y2="8.89" width="0.254" layer="16"/>
+<wire x1="11.43" y1="8.89" x2="10.668" y2="9.652" width="0.254" layer="16"/>
+<wire x1="11.694" y1="9.29" x2="11.03" y2="9.29" width="0.254" layer="1"/>
+<wire x1="11.03" y1="9.29" x2="10.668" y2="9.652" width="0.254" layer="1"/>
+</signal>
+<signal name="N$4">
+<contactref element="R1" pad="2"/>
+<contactref element="LED1" pad="1"/>
+<wire x1="6.858" y1="3.086" x2="8.382" y2="3.086" width="0.254" layer="1"/>
+</signal>
+<signal name="N$6">
+<contactref element="R2" pad="2"/>
+<contactref element="LED2" pad="1"/>
+<wire x1="6.858" y1="9.69" x2="8.382" y2="9.69" width="0.254" layer="1"/>
+</signal>
+<signal name="N$11">
+</signal>
+<signal name="I_RESET">
+<contactref element="RN1" pad="3"/>
+<contactref element="IC2" pad="14"/>
+<via x="10.668" y="8.636" extent="1-16" drill="0.3302" diameter="0.508"/>
+<wire x1="7.814" y1="10.16" x2="9.144" y2="10.16" width="0.254" layer="16"/>
+<wire x1="9.144" y1="10.16" x2="10.668" y2="8.636" width="0.254" layer="16"/>
+<wire x1="11.694" y1="8.49" x2="10.814" y2="8.49" width="0.254" layer="1"/>
+<wire x1="10.814" y1="8.49" x2="10.668" y2="8.636" width="0.254" layer="1"/>
+</signal>
+<signal name="I_TDI">
+<contactref element="RN1" pad="4"/>
+<contactref element="IC2" pad="3"/>
+<via x="10.668" y="7.62" extent="1-16" drill="0.3302"/>
+<wire x1="11.694" y1="7.69" x2="10.738" y2="7.69" width="0.254" layer="1"/>
+<wire x1="10.738" y1="7.69" x2="10.668" y2="7.62" width="0.254" layer="1"/>
+<wire x1="13.014" y1="7.62" x2="10.668" y2="7.62" width="0.254" layer="16"/>
+</signal>
+<signal name="I_SWDIO_TMS">
+<contactref element="RN2" pad="3"/>
+<contactref element="IC2" pad="5"/>
+<via x="10.668" y="3.81" extent="1-16" drill="0.3302"/>
+<wire x1="10.668" y1="3.81" x2="11.938" y2="5.08" width="0.254" layer="16"/>
+<wire x1="11.938" y1="5.08" x2="13.014" y2="5.08" width="0.254" layer="16"/>
+<wire x1="11.694" y1="3.664" x2="10.814" y2="3.664" width="0.254" layer="1"/>
+<wire x1="10.814" y1="3.664" x2="10.668" y2="3.81" width="0.254" layer="1"/>
+</signal>
+<signal name="I_SWCLK_TCK">
+<contactref element="RN2" pad="2"/>
+<contactref element="IC2" pad="13"/>
+<via x="10.668" y="4.826" extent="1-16" drill="0.3302" diameter="0.508"/>
+<wire x1="7.814" y1="8.89" x2="9.398" y2="8.89" width="0.254" layer="16"/>
+<wire x1="9.398" y1="8.89" x2="9.906" y2="8.382" width="0.254" layer="16"/>
+<wire x1="9.906" y1="8.382" x2="9.906" y2="5.588" width="0.254" layer="16"/>
+<wire x1="11.694" y1="4.464" x2="11.03" y2="4.464" width="0.254" layer="1"/>
+<wire x1="11.03" y1="4.464" x2="10.668" y2="4.826" width="0.254" layer="1"/>
+<wire x1="9.906" y1="5.588" x2="10.668" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="I_TDO">
+<contactref element="RN2" pad="1"/>
+<contactref element="IC2" pad="4"/>
+<via x="11.684" y="6.35" extent="1-16" drill="0.3302"/>
+<wire x1="11.684" y1="6.35" x2="11.684" y2="5.274" width="0.254" layer="1"/>
+<wire x1="11.684" y1="5.274" x2="11.694" y2="5.264" width="0.254" layer="1"/>
+<wire x1="13.014" y1="6.35" x2="11.684" y2="6.35" width="0.254" layer="16"/>
+</signal>
+<signal name="I_RX">
+<contactref element="IC2" pad="1"/>
+<contactref element="RN1" pad="1"/>
+<via x="11.684" y="10.16" extent="1-16" drill="0.3302"/>
+<wire x1="13.014" y1="10.16" x2="11.684" y2="10.16" width="0.254" layer="16"/>
+<wire x1="11.694" y1="10.09" x2="11.694" y2="10.15" width="0.254" layer="1"/>
+<wire x1="11.694" y1="10.15" x2="11.684" y2="10.16" width="0.254" layer="1"/>
+</signal>
+<signal name="N$18">
+<contactref element="RN2" pad="5"/>
+</signal>
+<signal name="T_RX">
+<contactref element="RN1" pad="8"/>
+<contactref element="J2" pad="1"/>
+<wire x1="13.198" y1="10.09" x2="18.104" y2="10.09" width="0.254" layer="1"/>
+<wire x1="18.104" y1="10.09" x2="19.812" y2="8.382" width="0.254" layer="1"/>
+<wire x1="19.812" y1="8.382" x2="19.812" y2="6.858" width="0.254" layer="1"/>
+<wire x1="19.812" y1="6.858" x2="18.542" y2="5.588" width="0.254" layer="1"/>
+</signal>
+<signal name="T_TX">
+<contactref element="RN1" pad="7"/>
+<contactref element="J3" pad="1"/>
+<wire x1="13.198" y1="9.29" x2="13.608" y2="9.29" width="0.254" layer="1"/>
+<wire x1="13.608" y1="9.29" x2="13.716" y2="9.398" width="0.254" layer="1"/>
+<wire x1="13.716" y1="9.398" x2="17.272" y2="9.398" width="0.254" layer="1"/>
+<wire x1="17.272" y1="9.398" x2="18.542" y2="8.128" width="0.254" layer="1"/>
+</signal>
+<signal name="T_TDO">
+<contactref element="J1" pad="6"/>
+<contactref element="RN2" pad="8"/>
+<wire x1="13.198" y1="5.264" x2="15.043" y2="5.264" width="0.254" layer="1"/>
+<wire x1="15.043" y1="5.264" x2="15.367" y2="5.588" width="0.254" layer="1"/>
+</signal>
+<signal name="T_TDI">
+<contactref element="J1" pad="8"/>
+<contactref element="RN1" pad="5"/>
+<wire x1="13.198" y1="7.69" x2="14.535" y2="7.69" width="0.254" layer="1"/>
+<wire x1="14.535" y1="7.69" x2="15.367" y2="6.858" width="0.254" layer="1"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4.pdf


+ 1553 - 0
dap_link/lib/free-dap/hardware/d11_micro_std_vcp_v4/d11_micro_vcp_v4.sch

@@ -0,0 +1,1553 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.318" y1="-1.143" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.143" x2="-4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="-1.143" x2="-4.318" y2="0" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="0" x2="-4.318" y2="1.143" width="0.127" layer="21"/>
+<wire x1="4.318" y1="1.143" x2="4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="1.143" x2="4.318" y2="1.143" width="0.127" layer="21"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="0" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-4.318" y1="0" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<circle x="-4.699" y="-1.524" radius="0.127" width="0.254" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXC">
+<description>Atmel SAM D09C/D10C/D11C Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="10.16" x2="12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-10.16" x2="-12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-10.16" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="-17.78" y="-5.08" length="middle"/>
+<pin name="PA8" x="-17.78" y="5.08" length="middle"/>
+<pin name="PA9" x="-17.78" y="2.54" length="middle"/>
+<pin name="PA14" x="-17.78" y="0" length="middle"/>
+<pin name="PA15" x="-17.78" y="-2.54" length="middle"/>
+<pin name="PA5" x="-17.78" y="7.62" length="middle"/>
+<pin name="PA04" x="17.78" y="7.62" length="middle" rot="R180"/>
+<pin name="PA02" x="17.78" y="5.08" length="middle" rot="R180"/>
+<text x="0" y="10.922" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-12.192" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="-17.78" y="-7.62" length="middle"/>
+<pin name="VDD" x="17.78" y="2.54" length="middle" rot="R180"/>
+<pin name="GND" x="17.78" y="0" length="middle" rot="R180"/>
+<pin name="PA25" x="17.78" y="-2.54" length="middle" rot="R180"/>
+<pin name="PA24" x="17.78" y="-5.08" length="middle" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-7.62" length="middle" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11C" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXC" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="SO-14">
+<connects>
+<connect gate="G$1" pin="GND" pad="11"/>
+<connect gate="G$1" pin="PA02" pad="13"/>
+<connect gate="G$1" pin="PA04" pad="14"/>
+<connect gate="G$1" pin="PA14" pad="4"/>
+<connect gate="G$1" pin="PA15" pad="5"/>
+<connect gate="G$1" pin="PA24" pad="9"/>
+<connect gate="G$1" pin="PA25" pad="10"/>
+<connect gate="G$1" pin="PA28/RST" pad="6"/>
+<connect gate="G$1" pin="PA30/SCK" pad="7"/>
+<connect gate="G$1" pin="PA31/SIO" pad="8"/>
+<connect gate="G$1" pin="PA5" pad="1"/>
+<connect gate="G$1" pin="PA8" pad="2"/>
+<connect gate="G$1" pin="PA9" pad="3"/>
+<connect gate="G$1" pin="VDD" pad="12"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="HEADER-5X2-2.54MM">
+<wire x1="-6.35" y1="0" x2="-3.81" y2="0" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="0" x2="-3.81" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1.016" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1.016"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1.016"/>
+<pad name="4" x="-2.54" y="1.27" drill="1.016"/>
+<pad name="5" x="0" y="-1.27" drill="1.016"/>
+<pad name="6" x="0" y="1.27" drill="1.016"/>
+<pad name="7" x="2.54" y="-1.27" drill="1.016"/>
+<pad name="8" x="2.54" y="1.27" drill="1.016"/>
+<pad name="9" x="5.08" y="-1.27" drill="1.016"/>
+<pad name="10" x="5.08" y="1.27" drill="1.016"/>
+<text x="0" y="3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.016"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="HEADER-5X2-1.27MM-SHR">
+<wire x1="-6.35" y1="2.794" x2="6.35" y2="2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.794" x2="6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.794" x2="-6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.794" x2="-6.35" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="3.302" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<circle x="-5.334" y="-1.778" radius="0.381" width="0.254" layer="21"/>
+</package>
+<package name="HEADER-5X2-2.54MM-SHR-RA">
+<description>10-pin right angle shrouded header</description>
+<wire x1="10.16" y1="2.794" x2="10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="10.16" y1="10.922" x2="1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="1.778" y1="4.572" x2="-1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="4.572" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="10.922" x2="-10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-10.16" y1="10.922" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<wire x1="10.16" y1="2.794" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1" diameter="1.4224" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="4" x="-2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="5" x="0" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="6" x="0" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="7" x="2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="8" x="2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="9" x="5.08" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="10" x="5.08" y="1.27" drill="1" diameter="1.4224"/>
+<text x="-8.89" y="-0.508" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-8.89" y1="10.16" x2="-6.35" y2="10.16" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="10.16" x2="-7.62" y2="8.89" width="0.127" layer="21"/>
+<wire x1="-7.62" y1="8.89" x2="-8.89" y2="10.16" width="0.127" layer="21"/>
+</package>
+<package name="HEADER-5X2-2.54MM-SHR-SIDE">
+<wire x1="10.16" y1="0.254" x2="10.16" y2="8.382" width="0.127" layer="21"/>
+<wire x1="10.16" y1="8.382" x2="1.778" y2="8.382" width="0.127" layer="21"/>
+<wire x1="1.778" y1="8.382" x2="1.778" y2="2.032" width="0.127" layer="21"/>
+<wire x1="1.778" y1="2.032" x2="-1.778" y2="2.032" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="2.032" x2="-1.778" y2="8.382" width="0.127" layer="21"/>
+<wire x1="1.778" y1="8.382" x2="-1.778" y2="8.382" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="8.382" x2="-10.16" y2="8.382" width="0.127" layer="21"/>
+<wire x1="-10.16" y1="8.382" x2="-10.16" y2="0.254" width="0.127" layer="21"/>
+<wire x1="10.16" y1="0.254" x2="-10.16" y2="0.254" width="0.127" layer="21"/>
+<text x="8.255" y="-3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-8.89" y1="7.62" x2="-6.35" y2="7.62" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="7.62" x2="-7.62" y2="6.35" width="0.127" layer="21"/>
+<wire x1="-7.62" y1="6.35" x2="-8.89" y2="7.62" width="0.127" layer="21"/>
+<smd name="1" x="-5.08" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="3" x="-2.54" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="5" x="0" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="7" x="2.54" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="9" x="5.08" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<wire x1="-6.35" y1="-2.54" x2="-7.112" y2="-2.032" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-7.112" y2="-3.048" width="0.127" layer="21"/>
+<wire x1="-7.112" y1="-3.048" x2="-7.112" y2="-2.032" width="0.127" layer="21"/>
+<smd name="2" x="-5.08" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="4" x="-2.54" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="6" x="0" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="8" x="2.54" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="10" x="5.08" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+</package>
+<package name="PIN-TH-LARGE">
+<wire x1="-0.635" y1="1.651" x2="0.635" y2="1.651" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.651" x2="1.651" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.651" y1="0.635" x2="1.651" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.651" y1="-0.635" x2="0.635" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="-1.651" y1="0.635" x2="-1.651" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.651" x2="-1.651" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.651" y1="-0.635" x2="-0.635" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.651" x2="-0.635" y2="-1.651" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="1.778"/>
+<text x="0" y="2.032" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.302" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="PIN-TH-SMALL">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="0" y="0" drill="0.9"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="21" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="HEADER-5X2">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-7.62" x2="5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="7.62" x2="-5.08" y2="7.62" width="0.254" layer="94"/>
+<pin name="1" x="-7.62" y="5.08" length="short" direction="pas"/>
+<pin name="2" x="7.62" y="5.08" length="short" direction="pas" rot="R180"/>
+<pin name="3" x="-7.62" y="2.54" length="short" direction="pas"/>
+<pin name="4" x="7.62" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="5" x="-7.62" y="0" length="short" direction="pas"/>
+<pin name="6" x="7.62" y="0" length="short" direction="pas" rot="R180"/>
+<pin name="7" x="-7.62" y="-2.54" length="short" direction="pas"/>
+<pin name="8" x="7.62" y="-2.54" length="short" direction="pas" rot="R180"/>
+<pin name="9" x="-7.62" y="-5.08" length="short" direction="pas"/>
+<pin name="10" x="7.62" y="-5.08" length="short" direction="pas" rot="R180"/>
+<text x="0" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+</symbol>
+<symbol name="MICRO-USB-5">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-10.16" width="0.254" layer="94"/>
+<text x="0.762" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="VBUS" x="-7.62" y="5.08" visible="pin" length="short" direction="pas"/>
+<pin name="DM" x="-7.62" y="2.54" visible="pin" length="short" direction="pas"/>
+<pin name="DP" x="-7.62" y="0" visible="pin" length="short" direction="pas"/>
+<pin name="ID" x="-7.62" y="-2.54" visible="pin" length="short" direction="pas"/>
+<pin name="GND" x="-7.62" y="-5.08" visible="pin" length="short" direction="pas"/>
+<wire x1="7.62" y1="7.62" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-10.16" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<pin name="SHIELD" x="-7.62" y="-7.62" visible="pin" length="short" direction="pas"/>
+<text x="0.762" y="-12.192" size="1.27" layer="95" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="CONN-SINGLE">
+<wire x1="-2.54" y1="0.762" x2="0.127" y2="0" width="0.254" layer="94"/>
+<wire x1="0.127" y1="0" x2="-2.4765" y2="-0.762" width="0.254" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<text x="1.27" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<text x="6.096" y="-0.508" size="1.27" layer="96">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="HEADER-5X2" prefix="J">
+<gates>
+<gate name="G$1" symbol="HEADER-5X2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH-1.27" package="HEADER-5X2-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-1.27-SHR" package="HEADER-5X2-1.27MM-SHR">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54-SHR-RA" package="HEADER-5X2-2.54MM-SHR-RA">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54-SHR-SIDE" package="HEADER-5X2-2.54MM-SHR-SIDE">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54" package="HEADER-5X2-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="USB-B-MICRO" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="MICRO-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMT" package="USB-B-MICRO-SMT-SHELL-TH">
+<connects>
+<connect gate="G$1" pin="DM" pad="2"/>
+<connect gate="G$1" pin="DP" pad="3"/>
+<connect gate="G$1" pin="GND" pad="5"/>
+<connect gate="G$1" pin="ID" pad="4"/>
+<connect gate="G$1" pin="SHIELD" pad="M1 M2 M3 M4" route="any"/>
+<connect gate="G$1" pin="VBUS" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="CONN-SINGLE" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="CONN-SINGLE" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH" package="PIN-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-LARGE" package="PIN-TH-LARGE">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-SMALL" package="PIN-TH-SMALL">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="2" x="-0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="3" x="0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="4" x="1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="5" x="1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="6" x="0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="7" x="-0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="8" x="-1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.4986" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="-1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="1.778" y2="1.4986" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="-1.524" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" ratio="10" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+<symbol name="RN-4">
+<wire x1="-2.54" y1="1.524" x2="-2.54" y2="3.556" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="2.54" visible="off" length="short" direction="pas"/>
+<pin name="8" x="5.08" y="2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="4.572" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<wire x1="2.54" y1="1.524" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="3.556" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.524" x2="2.54" y2="1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="2" x="-5.08" y="0" visible="off" length="short" direction="pas"/>
+<pin name="7" x="5.08" y="0" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="-2.54" y2="-1.524" width="0.254" layer="94"/>
+<pin name="3" x="-5.08" y="-2.54" visible="off" length="short" direction="pas"/>
+<pin name="6" x="5.08" y="-2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-3.556" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.524" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="2.54" y2="-3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="-2.54" y2="-4.064" width="0.254" layer="94"/>
+<pin name="4" x="-5.08" y="-5.08" visible="off" length="short" direction="pas"/>
+<pin name="5" x="5.08" y="-5.08" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="2.54" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-6.096" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-4.064" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="2.54" y2="-6.096" width="0.254" layer="94"/>
+<wire x1="-3.048" y1="-6.604" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="-3.048" y2="-6.604" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="4.064" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="RN-4" prefix="RN" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="RN-4" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0603-X4" package="SMD0603-X4">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="pas"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pas" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="pas"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.635MM">
+<smd name="1" x="0" y="0" dx="0.635" dy="0.635" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.5MM">
+<smd name="1" x="0" y="0" dx="0.5" dy="0.5" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-1.27MM-TH">
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<pad name="1" x="0" y="0" drill="0.762" diameter="1.27"/>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.635MM" package="TP-0.635MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.5MM" package="TP-0.5MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1.27MM-TH" package="TP-1.27MM-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="IC2" library="ataradov_mcu" deviceset="ATSAMD11C" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_8" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_12" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_11" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="IC1" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_5" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J1" library="ataradov_conn" deviceset="HEADER-5X2" device="-TH-1.27"/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J5" library="ataradov_conn" deviceset="USB-B-MICRO" device="-SMT"/>
+<part name="R1" library="ataradov_rlc" deviceset="R" device="-0603" value="10K"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="GREEN"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="10K"/>
+<part name="LED2" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="ORANGE"/>
+<part name="P_13" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J2" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="RX"/>
+<part name="J3" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="TX"/>
+<part name="J4" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="GND"/>
+<part name="P_10" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="RN2" library="ataradov_rlc" deviceset="RN-4" device="-0603-X4" value="33"/>
+<part name="RN1" library="ataradov_rlc" deviceset="RN-4" device="-0603-X4" value="33"/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="P_1" library="ataradov_pwr" deviceset="GND" device=""/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="152.4" y2="119.38" columns="8" rows="5" layer="97"/>
+<text x="27.94" y="106.68" size="1.778" layer="97" align="bottom-center">Program</text>
+<text x="53.34" y="106.68" size="1.778" layer="97" align="bottom-center">Target</text>
+<text x="60.96" y="15.24" size="1.778" layer="97">CMSIS-DAP Debugger with VCP
+Copyright (c) 2021, Alex Taradov &lt;alex@taradov.com&gt;
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+<text x="86.36" y="106.68" size="1.778" layer="97" align="bottom-center">UART</text>
+</plain>
+<instances>
+<instance part="IC2" gate="G$1" x="40.64" y="53.34"/>
+<instance part="P_6" gate="1" x="53.34" y="27.94"/>
+<instance part="P_8" gate="1" x="60.96" y="66.04"/>
+<instance part="P_12" gate="1" x="83.82" y="40.64"/>
+<instance part="P_9" gate="1" x="60.96" y="40.64"/>
+<instance part="P_11" gate="1" x="83.82" y="60.96"/>
+<instance part="P_3" gate="1" x="25.4" y="27.94"/>
+<instance part="C1" gate="G$1" x="20.32" y="17.78" rot="R90"/>
+<instance part="C2" gate="G$1" x="53.34" y="17.78" rot="R90"/>
+<instance part="IC1" gate="G$1" x="38.1" y="20.32"/>
+<instance part="P_5" gate="1" x="38.1" y="12.7"/>
+<instance part="P_7" gate="1" x="53.34" y="12.7"/>
+<instance part="P_2" gate="1" x="20.32" y="12.7"/>
+<instance part="J1" gate="G$1" x="48.26" y="91.44"/>
+<instance part="P_4" gate="1" x="38.1" y="81.28"/>
+<instance part="J5" gate="G$1" x="93.98" y="50.8"/>
+<instance part="R1" gate="G$1" x="119.38" y="55.88"/>
+<instance part="LED1" gate="G$1" x="129.54" y="55.88" rot="MR270"/>
+<instance part="R2" gate="G$1" x="119.38" y="45.72"/>
+<instance part="LED2" gate="G$1" x="129.54" y="45.72" rot="MR270"/>
+<instance part="P_13" gate="1" x="137.16" y="40.64"/>
+<instance part="J2" gate="G$1" x="88.9" y="96.52"/>
+<instance part="J3" gate="G$1" x="88.9" y="93.98"/>
+<instance part="J4" gate="G$1" x="88.9" y="91.44"/>
+<instance part="P_10" gate="1" x="83.82" y="86.36"/>
+<instance part="RN2" gate="G$1" x="121.92" y="83.82"/>
+<instance part="RN1" gate="G$1" x="121.92" y="96.52"/>
+<instance part="TP1" gate="G$1" x="20.32" y="96.52"/>
+<instance part="TP2" gate="G$1" x="20.32" y="93.98"/>
+<instance part="TP3" gate="G$1" x="20.32" y="91.44"/>
+<instance part="TP4" gate="G$1" x="20.32" y="88.9"/>
+<instance part="P_1" gate="1" x="20.32" y="86.36"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="N$1" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA24"/>
+<wire x1="58.42" y1="48.26" x2="83.82" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="83.82" y1="48.26" x2="83.82" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="83.82" y1="53.34" x2="86.36" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="J5" gate="G$1" pin="DM"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA25"/>
+<wire x1="58.42" y1="50.8" x2="86.36" y2="50.8" width="0.1524" layer="91"/>
+<pinref part="J5" gate="G$1" pin="DP"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_12" gate="1" pin="GND"/>
+<wire x1="83.82" y1="43.18" x2="83.82" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="83.82" y1="45.72" x2="86.36" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="J5" gate="G$1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<pinref part="P_5" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_2" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_7" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_9" gate="1" pin="GND"/>
+<wire x1="58.42" y1="53.34" x2="60.96" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="53.34" x2="60.96" y2="43.18" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="J1" gate="G$1" pin="3"/>
+<wire x1="40.64" y1="93.98" x2="38.1" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+<wire x1="38.1" y1="93.98" x2="38.1" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="5"/>
+<wire x1="38.1" y1="91.44" x2="38.1" y2="86.36" width="0.1524" layer="91"/>
+<wire x1="38.1" y1="86.36" x2="38.1" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="40.64" y1="91.44" x2="38.1" y2="91.44" width="0.1524" layer="91"/>
+<junction x="38.1" y="91.44"/>
+<pinref part="J1" gate="G$1" pin="9"/>
+<wire x1="40.64" y1="86.36" x2="38.1" y2="86.36" width="0.1524" layer="91"/>
+<junction x="38.1" y="86.36"/>
+</segment>
+<segment>
+<pinref part="P_13" gate="1" pin="GND"/>
+<wire x1="137.16" y1="43.18" x2="137.16" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="137.16" y1="45.72" x2="134.62" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="LED2" gate="G$1" pin="C"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+<wire x1="137.16" y1="55.88" x2="137.16" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="134.62" y1="55.88" x2="137.16" y2="55.88" width="0.1524" layer="91"/>
+<junction x="137.16" y="45.72"/>
+</segment>
+<segment>
+<pinref part="J4" gate="G$1" pin="1"/>
+<pinref part="P_10" gate="1" pin="GND"/>
+<wire x1="83.82" y1="88.9" x2="83.82" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="83.82" y1="91.44" x2="86.36" y2="91.44" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="TP4" gate="G$1" pin="1"/>
+<pinref part="P_1" gate="1" pin="GND"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_11" gate="1" pin="V_USB"/>
+<wire x1="83.82" y1="58.42" x2="83.82" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="83.82" y1="55.88" x2="86.36" y2="55.88" width="0.1524" layer="91"/>
+<pinref part="J5" gate="G$1" pin="VBUS"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="27.94" y1="20.32" x2="25.4" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="25.4" y1="20.32" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="IC1" gate="G$1" pin="IN"/>
+<wire x1="25.4" y1="22.86" x2="25.4" y2="25.4" width="0.1524" layer="91"/>
+<wire x1="27.94" y1="22.86" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<junction x="25.4" y="22.86"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="25.4" y1="22.86" x2="20.32" y2="22.86" width="0.1524" layer="91"/>
+<wire x1="20.32" y1="22.86" x2="20.32" y2="20.32" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="OUT"/>
+<wire x1="48.26" y1="22.86" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="53.34" y1="20.32" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<junction x="53.34" y="22.86"/>
+<pinref part="P_6" gate="1" pin="+3V3"/>
+<wire x1="53.34" y1="25.4" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="VDD"/>
+<pinref part="P_8" gate="1" pin="+3V3"/>
+<wire x1="58.42" y1="55.88" x2="60.96" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="55.88" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA31/SIO"/>
+<wire x1="58.42" y1="45.72" x2="63.5" y2="45.72" width="0.1524" layer="91"/>
+<label x="63.5" y="45.72" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="R1" gate="G$1" pin="1"/>
+<wire x1="114.3" y1="55.88" x2="111.76" y2="55.88" width="0.1524" layer="91"/>
+<label x="111.76" y="55.88" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="TP1" gate="G$1" pin="1"/>
+<wire x1="20.32" y1="96.52" x2="17.78" y2="96.52" width="0.1524" layer="91"/>
+<label x="17.78" y="96.52" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA30/SCK"/>
+<wire x1="22.86" y1="45.72" x2="20.32" y2="45.72" width="0.1524" layer="91"/>
+<label x="20.32" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R2" gate="G$1" pin="1"/>
+<wire x1="114.3" y1="45.72" x2="111.76" y2="45.72" width="0.1524" layer="91"/>
+<label x="111.76" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="TP2" gate="G$1" pin="1"/>
+<wire x1="20.32" y1="93.98" x2="17.78" y2="93.98" width="0.1524" layer="91"/>
+<label x="17.78" y="93.98" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA28/RST"/>
+<wire x1="22.86" y1="48.26" x2="20.32" y2="48.26" width="0.1524" layer="91"/>
+<label x="20.32" y="48.26" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="TP3" gate="G$1" pin="1"/>
+<wire x1="20.32" y1="91.44" x2="17.78" y2="91.44" width="0.1524" layer="91"/>
+<label x="17.78" y="91.44" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_SWDIO_TMS" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="2"/>
+<wire x1="55.88" y1="96.52" x2="58.42" y2="96.52" width="0.1524" layer="91"/>
+<label x="58.42" y="96.52" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN2" gate="G$1" pin="6"/>
+<wire x1="127" y1="81.28" x2="129.54" y2="81.28" width="0.1524" layer="91"/>
+<label x="129.54" y="81.28" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_SWCLK_TCK" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="4"/>
+<wire x1="58.42" y1="93.98" x2="55.88" y2="93.98" width="0.1524" layer="91"/>
+<label x="58.42" y="93.98" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN2" gate="G$1" pin="7"/>
+<wire x1="127" y1="83.82" x2="129.54" y2="83.82" width="0.1524" layer="91"/>
+<label x="129.54" y="83.82" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_RESET" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="10"/>
+<wire x1="55.88" y1="86.36" x2="58.42" y2="86.36" width="0.1524" layer="91"/>
+<label x="58.42" y="86.36" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="6"/>
+<wire x1="127" y1="93.98" x2="129.54" y2="93.98" width="0.1524" layer="91"/>
+<label x="129.54" y="93.98" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="I_TX" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA8"/>
+<wire x1="22.86" y1="58.42" x2="20.32" y2="58.42" width="0.1524" layer="91"/>
+<label x="20.32" y="58.42" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="2"/>
+<wire x1="116.84" y1="96.52" x2="114.3" y2="96.52" width="0.1524" layer="91"/>
+<label x="114.3" y="96.52" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="N$4" class="0">
+<segment>
+<pinref part="R1" gate="G$1" pin="2"/>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="124.46" y1="55.88" x2="127" y2="55.88" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$6" class="0">
+<segment>
+<pinref part="R2" gate="G$1" pin="2"/>
+<pinref part="LED2" gate="G$1" pin="A"/>
+<wire x1="127" y1="45.72" x2="124.46" y2="45.72" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="I_RESET" class="0">
+<segment>
+<pinref part="RN1" gate="G$1" pin="3"/>
+<wire x1="116.84" y1="93.98" x2="114.3" y2="93.98" width="0.1524" layer="91"/>
+<label x="114.3" y="93.98" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA04"/>
+<wire x1="58.42" y1="60.96" x2="63.5" y2="60.96" width="0.1524" layer="91"/>
+<label x="63.5" y="60.96" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="I_TDI" class="0">
+<segment>
+<pinref part="RN1" gate="G$1" pin="4"/>
+<wire x1="116.84" y1="91.44" x2="114.3" y2="91.44" width="0.1524" layer="91"/>
+<label x="114.3" y="91.44" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA9"/>
+<wire x1="22.86" y1="55.88" x2="20.32" y2="55.88" width="0.1524" layer="91"/>
+<label x="20.32" y="55.88" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_SWDIO_TMS" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="3"/>
+<wire x1="116.84" y1="81.28" x2="114.3" y2="81.28" width="0.1524" layer="91"/>
+<label x="114.3" y="81.28" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA15"/>
+<wire x1="22.86" y1="50.8" x2="20.32" y2="50.8" width="0.1524" layer="91"/>
+<label x="20.32" y="50.8" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_SWCLK_TCK" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="2"/>
+<wire x1="116.84" y1="83.82" x2="114.3" y2="83.82" width="0.1524" layer="91"/>
+<label x="114.3" y="83.82" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA02"/>
+<wire x1="58.42" y1="58.42" x2="63.5" y2="58.42" width="0.1524" layer="91"/>
+<label x="63.5" y="58.42" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="I_TDO" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="1"/>
+<wire x1="116.84" y1="86.36" x2="114.3" y2="86.36" width="0.1524" layer="91"/>
+<label x="114.3" y="86.36" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA14"/>
+<wire x1="20.32" y1="53.34" x2="22.86" y2="53.34" width="0.1524" layer="91"/>
+<label x="20.32" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="I_RX" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA5"/>
+<wire x1="22.86" y1="60.96" x2="20.32" y2="60.96" width="0.1524" layer="91"/>
+<label x="20.32" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="1"/>
+<wire x1="114.3" y1="99.06" x2="116.84" y2="99.06" width="0.1524" layer="91"/>
+<label x="114.3" y="99.06" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="N$18" class="0">
+<segment>
+<pinref part="RN2" gate="G$1" pin="5"/>
+<wire x1="127" y1="78.74" x2="129.54" y2="78.74" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="T_RX" class="0">
+<segment>
+<pinref part="RN1" gate="G$1" pin="8"/>
+<wire x1="127" y1="99.06" x2="129.54" y2="99.06" width="0.1524" layer="91"/>
+<label x="129.54" y="99.06" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="J2" gate="G$1" pin="1"/>
+<wire x1="86.36" y1="96.52" x2="81.28" y2="96.52" width="0.1524" layer="91"/>
+<label x="81.28" y="96.52" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_TX" class="0">
+<segment>
+<pinref part="RN1" gate="G$1" pin="7"/>
+<wire x1="127" y1="96.52" x2="129.54" y2="96.52" width="0.1524" layer="91"/>
+<label x="129.54" y="96.52" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="J3" gate="G$1" pin="1"/>
+<wire x1="86.36" y1="93.98" x2="81.28" y2="93.98" width="0.1524" layer="91"/>
+<label x="81.28" y="93.98" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="T_TDO" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="6"/>
+<wire x1="55.88" y1="91.44" x2="58.42" y2="91.44" width="0.1524" layer="91"/>
+<label x="58.42" y="91.44" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN2" gate="G$1" pin="8"/>
+<wire x1="127" y1="86.36" x2="129.54" y2="86.36" width="0.1524" layer="91"/>
+<label x="129.54" y="86.36" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="T_TDI" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="8"/>
+<wire x1="55.88" y1="88.9" x2="58.42" y2="88.9" width="0.1524" layer="91"/>
+<label x="58.42" y="88.9" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="RN1" gate="G$1" pin="5"/>
+<wire x1="127" y1="91.44" x2="129.54" y2="91.44" width="0.1524" layer="91"/>
+<label x="129.54" y="91.44" size="1.27" layer="95"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

+ 626 - 0
dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std.brd

@@ -0,0 +1,626 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="22.022" y2="0" width="0.1524" layer="20"/>
+<wire x1="22.022" y1="0" x2="22.022" y2="11.166" width="0.1524" layer="20"/>
+<wire x1="22.022" y1="11.166" x2="0" y2="11.166" width="0.1524" layer="20"/>
+<wire x1="0" y1="11.166" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="16.764" y="1.27" size="0.762" layer="28" font="vector" rot="MR0" align="bottom-center">5/25/18</text>
+<text x="20.066" y="1.27" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">1</text>
+<text x="16.256" y="5.842" size="2.032" layer="27" font="vector" rot="R90" align="bottom-center">AT</text>
+<circle x="21.082" y="1.016" radius="0.254" width="0.508" layer="27"/>
+<circle x="20.574" y="1.524" radius="0.254" width="0.508" layer="28"/>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.397"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.397"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.7" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.7" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="OSHPark *">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="6mil"/>
+<param name="mdSmdVia" value="6mil"/>
+<param name="mdSmdSmd" value="6mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="15mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="6mil"/>
+<param name="msDrill" value="13mil"/>
+<param name="msMicroVia" value="13mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="100mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="10mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="IC2" library="ataradov_mcu" package="SO-14" value="ATSAMD11C" x="10.414" y="6.35" smashed="yes" rot="MR270">
+<attribute name="NAME" x="10.414" y="11.176" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="9.398" y="2.032"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="9.398" y="9.144" smashed="yes" rot="R180">
+<attribute name="NAME" x="9.398" y="8.128" size="1.27" layer="25" font="vector" rot="R180" align="bottom-center"/>
+</element>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="100" x="16.256" y="3.81" rot="MR0"/>
+<element name="R3" library="ataradov_rlc" package="SMD0603" value="100" x="16.256" y="5.334" rot="MR0"/>
+<element name="R4" library="ataradov_rlc" package="SMD0603" value="100" x="16.256" y="6.858" rot="MR0"/>
+<element name="IC1" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="9.398" y="5.588" smashed="yes">
+<attribute name="NAME" x="9.398" y="7.874" size="1.27" layer="25" font="vector" align="bottom-center"/>
+</element>
+<element name="R7" library="ataradov_rlc" package="SMD0603" value="470" x="12.7" y="9.144" rot="R270"/>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="7.874" y="1.524" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="12.954" y="1.524" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="10.414" y="1.524" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="5.334" y="1.524" rot="MR0"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="" x="12.7" y="5.588" rot="R270"/>
+<element name="J1" library="ataradov_conn" package="HEADER-5X2-1.27MM" value="HEADER-5X2-TH-1.27" x="19.812" y="5.588" rot="R90"/>
+<element name="R1" library="ataradov_rlc" package="SMD0603" value="100" x="16.256" y="8.382" rot="MR0"/>
+<element name="R8" library="ataradov_rlc" package="SMD0603" value="100" x="16.256" y="9.906" rot="MR0"/>
+<element name="J2" library="ataradov_conn" package="USB-B-MICRO-SMT-SHELL-TH" value="" x="0" y="5.588"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC1" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="IC2" pad="11"/>
+<contactref element="TP4" pad="1"/>
+<contactref element="J1" pad="3"/>
+<contactref element="J1" pad="5"/>
+<contactref element="LED1" pad="2"/>
+<contactref element="J2" pad="5"/>
+<polygon width="0.254" layer="16" isolate="0.254">
+<vertex x="0" y="11.176"/>
+<vertex x="22.098" y="11.176"/>
+<vertex x="22.098" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<polygon width="0.254" layer="1" isolate="0.254">
+<vertex x="0" y="11.176"/>
+<vertex x="22.098" y="11.176"/>
+<vertex x="22.098" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<via x="1.27" y="3.81" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="1.27" y="7.366" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="11.176" y="5.588" extent="1-16" drill="0.508" diameter="0.254"/>
+<via x="11.176" y="8.128" extent="1-16" drill="0.508" diameter="0.254"/>
+</signal>
+<signal name="N$1">
+<contactref element="IC2" pad="9"/>
+<contactref element="J2" pad="2"/>
+<via x="2.032" y="5.588" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="7.814" y1="3.81" x2="6.604" y2="3.81" width="0.254" layer="16"/>
+<wire x1="6.604" y1="3.81" x2="6.096" y2="4.318" width="0.254" layer="16"/>
+<wire x1="6.096" y1="4.318" x2="2.54" y2="4.318" width="0.254" layer="16"/>
+<wire x1="2.032" y1="5.588" x2="2.682" y2="6.238" width="0.254" layer="1"/>
+<wire x1="2.682" y1="6.238" x2="4.825" y2="6.238" width="0.254" layer="1"/>
+<wire x1="2.54" y1="4.318" x2="2.032" y2="4.826" width="0.254" layer="16"/>
+<wire x1="2.032" y1="4.826" x2="2.032" y2="5.588" width="0.254" layer="16"/>
+</signal>
+<signal name="N$2">
+<contactref element="IC2" pad="10"/>
+<contactref element="J2" pad="3"/>
+<via x="3.302" y="5.334" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="7.814" y1="5.08" x2="3.556" y2="5.08" width="0.254" layer="16"/>
+<wire x1="3.556" y1="5.08" x2="3.302" y2="5.334" width="0.254" layer="16"/>
+<wire x1="4.825" y1="5.588" x2="3.556" y2="5.588" width="0.254" layer="1"/>
+<wire x1="3.556" y1="5.588" x2="3.302" y2="5.334" width="0.254" layer="1"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC1" pad="3"/>
+<contactref element="IC1" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="J2" pad="1"/>
+<wire x1="10.348" y1="4.288" x2="10.348" y2="2.436" width="0.254" layer="1"/>
+<wire x1="10.348" y1="2.436" x2="10.198" y2="2.032" width="0.254" layer="1"/>
+<wire x1="10.348" y1="4.288" x2="10.348" y2="5.146" width="0.254" layer="1"/>
+<wire x1="10.348" y1="5.146" x2="10.16" y2="5.334" width="0.254" layer="1"/>
+<wire x1="10.16" y1="5.334" x2="8.382" y2="5.334" width="0.254" layer="1"/>
+<wire x1="8.382" y1="5.334" x2="7.62" y2="5.334" width="0.254" layer="1"/>
+<wire x1="7.62" y1="5.334" x2="6.066" y2="6.888" width="0.254" layer="1"/>
+<wire x1="4.825" y1="6.888" x2="6.066" y2="6.888" width="0.254" layer="1"/>
+<wire x1="8.448" y1="4.288" x2="8.448" y2="5.268" width="0.254" layer="1"/>
+<wire x1="8.448" y1="5.268" x2="8.382" y2="5.334" width="0.254" layer="1"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC1" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC2" pad="12"/>
+<via x="9.398" y="7.874" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="7.814" y1="7.62" x2="9.144" y2="7.62" width="0.254" layer="16"/>
+<wire x1="9.144" y1="7.62" x2="9.398" y2="7.874" width="0.254" layer="16"/>
+<wire x1="8.448" y1="6.888" x2="8.448" y2="7.874" width="0.254" layer="1"/>
+<wire x1="8.448" y1="7.874" x2="8.448" y2="8.994" width="0.254" layer="1"/>
+<wire x1="8.448" y1="8.994" x2="8.598" y2="9.144" width="0.254" layer="1"/>
+<wire x1="9.398" y1="7.874" x2="8.448" y2="7.874" width="0.254" layer="1"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="IC2" pad="8"/>
+<contactref element="TP1" pad="1"/>
+<wire x1="7.814" y1="2.54" x2="7.874" y2="2.48" width="0.254" layer="16"/>
+<wire x1="7.874" y1="2.48" x2="7.874" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="PA02">
+<contactref element="IC2" pad="13"/>
+</signal>
+<signal name="PA04">
+<contactref element="IC2" pad="14"/>
+<contactref element="R7" pad="1"/>
+<wire x1="7.814" y1="10.16" x2="11.176" y2="10.16" width="0.254" layer="16"/>
+<via x="11.176" y="10.16" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="11.176" y1="10.16" x2="12.23" y2="10.16" width="0.254" layer="1"/>
+<wire x1="12.23" y1="10.16" x2="12.7" y2="9.944" width="0.254" layer="1"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="IC2" pad="7"/>
+<contactref element="TP2" pad="1"/>
+<wire x1="13.014" y1="2.54" x2="12.954" y2="2.48" width="0.254" layer="16"/>
+<wire x1="12.954" y1="2.48" x2="12.954" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="IC2" pad="6"/>
+<contactref element="TP3" pad="1"/>
+<wire x1="13.014" y1="3.81" x2="11.684" y2="3.81" width="0.254" layer="16"/>
+<wire x1="11.684" y1="3.81" x2="10.414" y2="2.54" width="0.254" layer="16"/>
+<wire x1="10.414" y1="2.54" x2="10.414" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="N$5">
+<contactref element="J1" pad="2"/>
+<contactref element="R2" pad="1"/>
+<wire x1="17.056" y1="3.81" x2="17.818" y2="3.048" width="0.254" layer="16"/>
+<wire x1="17.818" y1="3.048" x2="19.177" y2="3.048" width="0.254" layer="16"/>
+</signal>
+<signal name="N$9">
+<contactref element="R3" pad="1"/>
+<contactref element="J1" pad="4"/>
+<wire x1="17.056" y1="5.334" x2="18.072" y2="4.318" width="0.254" layer="16"/>
+<wire x1="18.072" y1="4.318" x2="19.177" y2="4.318" width="0.254" layer="16"/>
+</signal>
+<signal name="N$10">
+<contactref element="J1" pad="6"/>
+<contactref element="R4" pad="1"/>
+<wire x1="17.056" y1="6.858" x2="18.326" y2="5.588" width="0.254" layer="16"/>
+<wire x1="18.326" y1="5.588" x2="19.177" y2="5.588" width="0.254" layer="16"/>
+</signal>
+<signal name="N$11">
+<contactref element="R1" pad="1"/>
+<contactref element="J1" pad="8"/>
+<wire x1="17.056" y1="8.382" x2="18.58" y2="6.858" width="0.254" layer="16"/>
+<wire x1="18.58" y1="6.858" x2="19.177" y2="6.858" width="0.254" layer="16"/>
+</signal>
+<signal name="N$12">
+<contactref element="J1" pad="10"/>
+<contactref element="R8" pad="1"/>
+<wire x1="17.056" y1="9.906" x2="18.542" y2="9.906" width="0.254" layer="16"/>
+<wire x1="18.542" y1="9.906" x2="19.177" y2="9.271" width="0.254" layer="16"/>
+<wire x1="19.177" y1="9.271" x2="19.177" y2="8.128" width="0.254" layer="16"/>
+</signal>
+<signal name="PA14">
+<contactref element="IC2" pad="4"/>
+<contactref element="R3" pad="2"/>
+<wire x1="13.014" y1="6.35" x2="14.44" y2="6.35" width="0.254" layer="16"/>
+<wire x1="14.44" y1="6.35" x2="15.456" y2="5.334" width="0.254" layer="16"/>
+</signal>
+<signal name="PA15">
+<contactref element="IC2" pad="5"/>
+<contactref element="R2" pad="2"/>
+<wire x1="13.014" y1="5.08" x2="14.186" y2="5.08" width="0.254" layer="16"/>
+<wire x1="14.186" y1="5.08" x2="15.456" y2="3.81" width="0.254" layer="16"/>
+</signal>
+<signal name="N$3">
+<contactref element="R7" pad="2"/>
+<contactref element="LED1" pad="1"/>
+<wire x1="12.7" y1="6.388" x2="12.7" y2="8.344" width="0.254" layer="1"/>
+</signal>
+<signal name="PA09">
+<contactref element="IC2" pad="3"/>
+<contactref element="R4" pad="2"/>
+<wire x1="13.014" y1="7.62" x2="14.694" y2="7.62" width="0.254" layer="16"/>
+<wire x1="14.694" y1="7.62" x2="15.456" y2="6.858" width="0.254" layer="16"/>
+</signal>
+<signal name="PA08">
+<contactref element="IC2" pad="2"/>
+<contactref element="R1" pad="2"/>
+<wire x1="13.014" y1="8.89" x2="14.948" y2="8.89" width="0.254" layer="16"/>
+<wire x1="14.948" y1="8.89" x2="15.456" y2="8.382" width="0.254" layer="16"/>
+</signal>
+<signal name="PA05">
+<contactref element="IC2" pad="1"/>
+<contactref element="R8" pad="2"/>
+<wire x1="13.014" y1="10.16" x2="15.202" y2="10.16" width="0.254" layer="16"/>
+<wire x1="15.202" y1="10.16" x2="15.456" y2="9.906" width="0.254" layer="16"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std.pdf


+ 1172 - 0
dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std.sch

@@ -0,0 +1,1172 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXC">
+<description>Atmel SAM D09C/D10C/D11C Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="10.16" x2="12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-10.16" x2="-12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-10.16" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="-17.78" y="-5.08" length="middle"/>
+<pin name="PA8" x="-17.78" y="5.08" length="middle"/>
+<pin name="PA9" x="-17.78" y="2.54" length="middle"/>
+<pin name="PA14" x="-17.78" y="0" length="middle"/>
+<pin name="PA15" x="-17.78" y="-2.54" length="middle"/>
+<pin name="PA5" x="-17.78" y="7.62" length="middle"/>
+<pin name="PA04" x="17.78" y="7.62" length="middle" rot="R180"/>
+<pin name="PA02" x="17.78" y="5.08" length="middle" rot="R180"/>
+<text x="0" y="10.922" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-12.192" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="-17.78" y="-7.62" length="middle"/>
+<pin name="VDD" x="17.78" y="2.54" length="middle" rot="R180"/>
+<pin name="GND" x="17.78" y="0" length="middle" rot="R180"/>
+<pin name="PA25" x="17.78" y="-2.54" length="middle" rot="R180"/>
+<pin name="PA24" x="17.78" y="-5.08" length="middle" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-7.62" length="middle" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11C" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXC" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="SO-14">
+<connects>
+<connect gate="G$1" pin="GND" pad="11"/>
+<connect gate="G$1" pin="PA02" pad="13"/>
+<connect gate="G$1" pin="PA04" pad="14"/>
+<connect gate="G$1" pin="PA14" pad="4"/>
+<connect gate="G$1" pin="PA15" pad="5"/>
+<connect gate="G$1" pin="PA24" pad="9"/>
+<connect gate="G$1" pin="PA25" pad="10"/>
+<connect gate="G$1" pin="PA28/RST" pad="6"/>
+<connect gate="G$1" pin="PA30/SCK" pad="7"/>
+<connect gate="G$1" pin="PA31/SIO" pad="8"/>
+<connect gate="G$1" pin="PA5" pad="1"/>
+<connect gate="G$1" pin="PA8" pad="2"/>
+<connect gate="G$1" pin="PA9" pad="3"/>
+<connect gate="G$1" pin="VDD" pad="12"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="HEADER-5X2-2.54MM">
+<wire x1="-6.35" y1="0" x2="-3.81" y2="0" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="0" x2="-3.81" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1.016" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1.016"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1.016"/>
+<pad name="4" x="-2.54" y="1.27" drill="1.016"/>
+<pad name="5" x="0" y="-1.27" drill="1.016"/>
+<pad name="6" x="0" y="1.27" drill="1.016"/>
+<pad name="7" x="2.54" y="-1.27" drill="1.016"/>
+<pad name="8" x="2.54" y="1.27" drill="1.016"/>
+<pad name="9" x="5.08" y="-1.27" drill="1.016"/>
+<pad name="10" x="5.08" y="1.27" drill="1.016"/>
+<text x="0" y="3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.397"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.397"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.7" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.7" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="HEADER-5X2">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-7.62" x2="5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="7.62" x2="-5.08" y2="7.62" width="0.254" layer="94"/>
+<pin name="1" x="-7.62" y="5.08" length="short" direction="pas"/>
+<pin name="2" x="7.62" y="5.08" length="short" direction="pas" rot="R180"/>
+<pin name="3" x="-7.62" y="2.54" length="short" direction="pas"/>
+<pin name="4" x="7.62" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="5" x="-7.62" y="0" length="short" direction="pas"/>
+<pin name="6" x="7.62" y="0" length="short" direction="pas" rot="R180"/>
+<pin name="7" x="-7.62" y="-2.54" length="short" direction="pas"/>
+<pin name="8" x="7.62" y="-2.54" length="short" direction="pas" rot="R180"/>
+<pin name="9" x="-7.62" y="-5.08" length="short" direction="pas"/>
+<pin name="10" x="7.62" y="-5.08" length="short" direction="pas" rot="R180"/>
+<text x="0" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+</symbol>
+<symbol name="MICRO-USB-5">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-10.16" width="0.254" layer="94"/>
+<text x="0.762" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="VBUS" x="-7.62" y="5.08" visible="pin" length="short" direction="pas"/>
+<pin name="DM" x="-7.62" y="2.54" visible="pin" length="short" direction="pas"/>
+<pin name="DP" x="-7.62" y="0" visible="pin" length="short" direction="pas"/>
+<pin name="ID" x="-7.62" y="-2.54" visible="pin" length="short" direction="pas"/>
+<pin name="GND" x="-7.62" y="-5.08" visible="pin" length="short" direction="pas"/>
+<wire x1="7.62" y1="7.62" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-10.16" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<pin name="SHIELD" x="-7.62" y="-7.62" visible="pin" length="short" direction="pas"/>
+<text x="0.762" y="-12.192" size="1.27" layer="95" align="bottom-center">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="HEADER-5X2" prefix="J">
+<gates>
+<gate name="G$1" symbol="HEADER-5X2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH-1.27" package="HEADER-5X2-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54" package="HEADER-5X2-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="USB-B-MICRO" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="MICRO-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMT" package="USB-B-MICRO-SMT-SHELL-TH">
+<connects>
+<connect gate="G$1" pin="DM" pad="2"/>
+<connect gate="G$1" pin="DP" pad="3"/>
+<connect gate="G$1" pin="GND" pad="5"/>
+<connect gate="G$1" pin="ID" pad="4"/>
+<connect gate="G$1" pin="SHIELD" pad="M1 M2 M3 M4" route="any"/>
+<connect gate="G$1" pin="VBUS" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="sup"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="sup" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pwr" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="in"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="IC2" library="ataradov_mcu" deviceset="ATSAMD11C" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_17" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_8" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_16" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="100"/>
+<part name="R3" library="ataradov_rlc" deviceset="R" device="-0603" value="100"/>
+<part name="R4" library="ataradov_rlc" deviceset="R" device="-0603" value="100"/>
+<part name="IC1" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="R7" library="ataradov_rlc" deviceset="R" device="-0603" value="470"/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603"/>
+<part name="J1" library="ataradov_conn" deviceset="HEADER-5X2" device="-TH-1.27"/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="R1" library="ataradov_rlc" deviceset="R" device="-0603" value="100"/>
+<part name="R8" library="ataradov_rlc" deviceset="R" device="-0603" value="100"/>
+<part name="P_5" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J2" library="ataradov_conn" deviceset="USB-B-MICRO" device="-SMT"/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="152.4" y2="119.38" columns="8" rows="5" layer="97"/>
+<text x="35.56" y="106.68" size="1.778" layer="97" align="bottom-center">Program</text>
+<text x="93.98" y="106.68" size="1.778" layer="97" align="bottom-center">Target</text>
+<text x="60.96" y="15.24" size="1.778" layer="97">Copyright (c) 2016-2018, Alex Taradov &lt;alex@taradov.com&gt;
+
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+</plain>
+<instances>
+<instance part="IC2" gate="G$1" x="40.64" y="53.34"/>
+<instance part="P_9" gate="1" x="53.34" y="27.94"/>
+<instance part="P_7" gate="1" x="60.96" y="66.04"/>
+<instance part="P_17" gate="1" x="76.2" y="40.64"/>
+<instance part="P_8" gate="1" x="60.96" y="40.64"/>
+<instance part="P_16" gate="1" x="76.2" y="60.96"/>
+<instance part="P_3" gate="1" x="25.4" y="27.94"/>
+<instance part="C1" gate="G$1" x="20.32" y="17.78" rot="R90"/>
+<instance part="C2" gate="G$1" x="53.34" y="17.78" rot="R90"/>
+<instance part="R2" gate="G$1" x="111.76" y="96.52"/>
+<instance part="R3" gate="G$1" x="111.76" y="91.44"/>
+<instance part="R4" gate="G$1" x="111.76" y="86.36"/>
+<instance part="IC1" gate="G$1" x="38.1" y="20.32"/>
+<instance part="P_4" gate="1" x="38.1" y="12.7"/>
+<instance part="P_6" gate="1" x="53.34" y="12.7"/>
+<instance part="P_1" gate="1" x="20.32" y="12.7"/>
+<instance part="P_2" gate="1" x="33.02" y="86.36"/>
+<instance part="R7" gate="G$1" x="114.3" y="53.34"/>
+<instance part="TP1" gate="G$1" x="35.56" y="96.52"/>
+<instance part="TP2" gate="G$1" x="35.56" y="93.98"/>
+<instance part="TP3" gate="G$1" x="35.56" y="91.44"/>
+<instance part="TP4" gate="G$1" x="35.56" y="88.9"/>
+<instance part="LED1" gate="G$1" x="124.46" y="53.34" rot="MR270"/>
+<instance part="J1" gate="G$1" x="88.9" y="91.44"/>
+<instance part="P_11" gate="1" x="78.74" y="81.28"/>
+<instance part="R1" gate="G$1" x="111.76" y="81.28"/>
+<instance part="R8" gate="G$1" x="111.76" y="76.2"/>
+<instance part="P_5" gate="1" x="132.08" y="48.26"/>
+<instance part="J2" gate="G$1" x="86.36" y="50.8"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="N$1" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA24"/>
+<wire x1="58.42" y1="48.26" x2="76.2" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="48.26" x2="76.2" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="53.34" x2="78.74" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="DM"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA25"/>
+<wire x1="58.42" y1="50.8" x2="78.74" y2="50.8" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="DP"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_17" gate="1" pin="GND"/>
+<wire x1="76.2" y1="43.18" x2="76.2" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="45.72" x2="78.74" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_1" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_6" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_8" gate="1" pin="GND"/>
+<wire x1="58.42" y1="53.34" x2="60.96" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="53.34" x2="60.96" y2="43.18" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="P_2" gate="1" pin="GND"/>
+<wire x1="33.02" y1="88.9" x2="35.56" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="TP4" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="J1" gate="G$1" pin="3"/>
+<wire x1="81.28" y1="93.98" x2="78.74" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="P_11" gate="1" pin="GND"/>
+<wire x1="78.74" y1="93.98" x2="78.74" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="5"/>
+<wire x1="78.74" y1="91.44" x2="78.74" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="81.28" y1="91.44" x2="78.74" y2="91.44" width="0.1524" layer="91"/>
+<junction x="78.74" y="91.44"/>
+</segment>
+<segment>
+<pinref part="P_5" gate="1" pin="GND"/>
+<wire x1="132.08" y1="50.8" x2="132.08" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="132.08" y1="53.34" x2="129.54" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_16" gate="1" pin="V_USB"/>
+<wire x1="76.2" y1="58.42" x2="76.2" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="55.88" x2="78.74" y2="55.88" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="VBUS"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="27.94" y1="20.32" x2="25.4" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="25.4" y1="20.32" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="IC1" gate="G$1" pin="IN"/>
+<wire x1="25.4" y1="22.86" x2="25.4" y2="25.4" width="0.1524" layer="91"/>
+<wire x1="27.94" y1="22.86" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<junction x="25.4" y="22.86"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="25.4" y1="22.86" x2="20.32" y2="22.86" width="0.1524" layer="91"/>
+<wire x1="20.32" y1="22.86" x2="20.32" y2="20.32" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="OUT"/>
+<wire x1="48.26" y1="22.86" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="53.34" y1="20.32" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<junction x="53.34" y="22.86"/>
+<pinref part="P_9" gate="1" pin="+3V3"/>
+<wire x1="53.34" y1="25.4" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="VDD"/>
+<pinref part="P_7" gate="1" pin="+3V3"/>
+<wire x1="58.42" y1="55.88" x2="60.96" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="55.88" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA31/SIO"/>
+<wire x1="58.42" y1="45.72" x2="63.5" y2="45.72" width="0.1524" layer="91"/>
+<label x="63.5" y="45.72" size="1.27" layer="95"/>
+</segment>
+<segment>
+<wire x1="35.56" y1="96.52" x2="33.02" y2="96.52" width="0.1524" layer="91"/>
+<label x="33.02" y="96.52" size="1.27" layer="95" rot="MR0"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PA02" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA02"/>
+<wire x1="58.42" y1="58.42" x2="63.5" y2="58.42" width="0.1524" layer="91"/>
+<label x="63.5" y="58.42" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA04" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA04"/>
+<wire x1="58.42" y1="60.96" x2="63.5" y2="60.96" width="0.1524" layer="91"/>
+<label x="63.5" y="60.96" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="R7" gate="G$1" pin="1"/>
+<wire x1="109.22" y1="53.34" x2="106.68" y2="53.34" width="0.1524" layer="91"/>
+<label x="106.68" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA30/SCK"/>
+<wire x1="22.86" y1="45.72" x2="20.32" y2="45.72" width="0.1524" layer="91"/>
+<label x="20.32" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="33.02" y="93.98" size="1.27" layer="95" rot="MR0"/>
+<wire x1="35.56" y1="93.98" x2="33.02" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA28/RST"/>
+<wire x1="22.86" y1="48.26" x2="20.32" y2="48.26" width="0.1524" layer="91"/>
+<label x="20.32" y="48.26" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="33.02" y="91.44" size="1.27" layer="95" rot="MR0"/>
+<wire x1="35.56" y1="91.44" x2="33.02" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="TP3" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="N$5" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="2"/>
+<pinref part="R2" gate="G$1" pin="1"/>
+<wire x1="96.52" y1="96.52" x2="106.68" y2="96.52" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$9" class="0">
+<segment>
+<pinref part="R3" gate="G$1" pin="1"/>
+<wire x1="106.68" y1="91.44" x2="106.68" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="4"/>
+<wire x1="106.68" y1="93.98" x2="96.52" y2="93.98" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$10" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="6"/>
+<wire x1="96.52" y1="91.44" x2="104.14" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="104.14" y1="91.44" x2="104.14" y2="86.36" width="0.1524" layer="91"/>
+<pinref part="R4" gate="G$1" pin="1"/>
+<wire x1="104.14" y1="86.36" x2="106.68" y2="86.36" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$11" class="0">
+<segment>
+<pinref part="R1" gate="G$1" pin="1"/>
+<wire x1="106.68" y1="81.28" x2="101.6" y2="81.28" width="0.1524" layer="91"/>
+<wire x1="101.6" y1="81.28" x2="101.6" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="8"/>
+<wire x1="101.6" y1="88.9" x2="96.52" y2="88.9" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$12" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="10"/>
+<wire x1="96.52" y1="86.36" x2="99.06" y2="86.36" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="86.36" x2="99.06" y2="76.2" width="0.1524" layer="91"/>
+<pinref part="R8" gate="G$1" pin="1"/>
+<wire x1="99.06" y1="76.2" x2="106.68" y2="76.2" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="PA14" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA14"/>
+<wire x1="20.32" y1="53.34" x2="22.86" y2="53.34" width="0.1524" layer="91"/>
+<label x="20.32" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R3" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="91.44" x2="116.84" y2="91.44" width="0.1524" layer="91"/>
+<label x="119.38" y="91.44" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA15" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA15"/>
+<wire x1="22.86" y1="50.8" x2="20.32" y2="50.8" width="0.1524" layer="91"/>
+<label x="20.32" y="50.8" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R2" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="96.52" x2="116.84" y2="96.52" width="0.1524" layer="91"/>
+<label x="119.38" y="96.52" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<pinref part="R7" gate="G$1" pin="2"/>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="121.92" y1="53.34" x2="119.38" y2="53.34" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="PA09" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA9"/>
+<wire x1="22.86" y1="55.88" x2="20.32" y2="55.88" width="0.1524" layer="91"/>
+<label x="20.32" y="55.88" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R4" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="86.36" x2="116.84" y2="86.36" width="0.1524" layer="91"/>
+<label x="119.38" y="86.36" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA08" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA8"/>
+<wire x1="22.86" y1="58.42" x2="20.32" y2="58.42" width="0.1524" layer="91"/>
+<label x="20.32" y="58.42" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R1" gate="G$1" pin="2"/>
+<wire x1="116.84" y1="81.28" x2="119.38" y2="81.28" width="0.1524" layer="91"/>
+<label x="119.38" y="81.28" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA05" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA5"/>
+<wire x1="22.86" y1="60.96" x2="20.32" y2="60.96" width="0.1524" layer="91"/>
+<label x="20.32" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R8" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="76.2" x2="116.84" y2="76.2" width="0.1524" layer="91"/>
+<label x="119.38" y="76.2" size="1.27" layer="95"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_usb_std/d11_micro_usb_std_gerber.zip


binární
dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2-gerbers.zip


binární
dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2-layers.zip


+ 640 - 0
dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2.brd

@@ -0,0 +1,640 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="17.272" y2="0" width="0.1524" layer="20"/>
+<wire x1="17.272" y1="0" x2="17.272" y2="10.668" width="0.1524" layer="20"/>
+<wire x1="17.272" y1="10.668" x2="0" y2="10.668" width="0.1524" layer="20"/>
+<wire x1="0" y1="10.668" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="12.7" y="9.398" size="0.762" layer="21" font="vector" align="bottom-center">10/18/21</text>
+<text x="15.24" y="1.016" size="1.27" layer="21" font="vector" rot="R90" align="bottom-center">1</text>
+<text x="8.89" y="2.54" size="2.032" layer="21" font="vector" rot="R90" align="bottom-center">AT</text>
+<circle x="16.256" y="1.016" radius="0.254" width="0.508" layer="21"/>
+<circle x="16.256" y="1.524" radius="0.254" width="0.508" layer="22"/>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.318" y1="-1.143" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.143" x2="-4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="-1.143" x2="-4.318" y2="0" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="0" x2="-4.318" y2="1.143" width="0.127" layer="21"/>
+<wire x1="4.318" y1="1.143" x2="4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="1.143" x2="4.318" y2="1.143" width="0.127" layer="21"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<text x="0" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-4.318" y1="0" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="2" x="-0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="3" x="0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="4" x="1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="5" x="1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="6" x="0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="7" x="-0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="8" x="-1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.4986" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="-1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="1.778" y2="1.4986" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="-1.524" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" ratio="10" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="std-tented-new">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="0mil"/>
+<param name="mdSmdVia" value="0mil"/>
+<param name="mdSmdSmd" value="0mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="10mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="8mil"/>
+<param name="msDrill" value="12mil"/>
+<param name="msMicroVia" value="12mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="25mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="6mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="IC2" library="ataradov_mcu" package="SO-14" value="ATSAMD11C" x="9.906" y="6.096" smashed="yes" rot="MR270">
+<attribute name="NAME" x="9.906" y="10.922" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="2.032" y="3.556" rot="MR180"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="4.318" y="5.334" rot="MR90"/>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="100" x="11.43" y="3.048" rot="R180"/>
+<element name="IC1" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="2.032" y="6.096" smashed="yes" rot="MR0">
+<attribute name="NAME" x="2.032" y="8.382" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="R7" library="ataradov_rlc" package="SMD0603" value="470" x="8.382" y="8.382" rot="R270"/>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="7.366" y="1.27" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="12.446" y="1.27" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="9.906" y="1.27" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="4.826" y="1.27" rot="MR0"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="ORANGE" x="8.382" y="5.334" rot="R270"/>
+<element name="J1" library="ataradov_conn" package="HEADER-5X2-1.27MM" value="HEADER-5X2-TH-1.27" x="14.986" y="5.334" rot="R90"/>
+<element name="J2" library="ataradov_conn" package="USB-B-MICRO-SMT-SHELL-TH" value="" x="0" y="5.334"/>
+<element name="RN1" library="ataradov_rlc" package="SMD0603-X4" value="100" x="11.43" y="6.604" rot="R90"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC1" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="IC2" pad="11"/>
+<contactref element="TP4" pad="1"/>
+<contactref element="J1" pad="3"/>
+<contactref element="J1" pad="5"/>
+<contactref element="LED1" pad="2"/>
+<contactref element="J2" pad="5"/>
+<polygon width="0.2032" layer="16" isolate="0.2032">
+<vertex x="0" y="10.668"/>
+<vertex x="17.272" y="10.668"/>
+<vertex x="17.272" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<polygon width="0.2032" layer="1" isolate="0.2032">
+<vertex x="0" y="10.668"/>
+<vertex x="17.272" y="10.668"/>
+<vertex x="17.272" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<via x="8.636" y="1.27" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.556" y="9.398" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.652" y="9.398" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="14.986" y="9.144" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="6.096" y="1.27" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="11.176" y="1.27" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="13.716" y="1.27" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.556" y="1.27" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="9.144" y="2.794" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="2.032" y="5.334" extent="1-16" drill="0.3302" diameter="0.254"/>
+</signal>
+<signal name="N$1">
+<contactref element="IC2" pad="9"/>
+<contactref element="J2" pad="2"/>
+<wire x1="4.825" y1="5.984" x2="6.462" y2="5.984" width="0.254" layer="1"/>
+<wire x1="6.462" y1="5.984" x2="7.366" y2="5.08" width="0.254" layer="1"/>
+<wire x1="7.366" y1="5.08" x2="7.366" y2="3.556" width="0.254" layer="1"/>
+<via x="7.366" y="3.556" extent="1-16" drill="0.3302"/>
+<wire x1="7.306" y1="3.556" x2="7.366" y2="3.556" width="0.254" layer="16"/>
+</signal>
+<signal name="N$2">
+<contactref element="IC2" pad="10"/>
+<contactref element="J2" pad="3"/>
+<wire x1="4.825" y1="5.334" x2="5.842" y2="5.334" width="0.254" layer="1"/>
+<wire x1="5.842" y1="5.334" x2="6.35" y2="4.826" width="0.254" layer="1"/>
+<via x="6.35" y="4.826" extent="1-16" drill="0.3302"/>
+<wire x1="6.35" y1="4.826" x2="7.306" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC1" pad="3"/>
+<contactref element="IC1" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="J2" pad="1"/>
+<wire x1="4.825" y1="6.634" x2="3.078" y2="6.634" width="0.381" layer="1"/>
+<via x="2.54" y="6.096" extent="1-16" drill="0.3302"/>
+<wire x1="1.082" y1="4.796" x2="1.082" y2="5.654" width="0.254" layer="16"/>
+<wire x1="1.082" y1="5.654" x2="1.524" y2="6.096" width="0.254" layer="16"/>
+<wire x1="1.524" y1="6.096" x2="2.54" y2="6.096" width="0.254" layer="16"/>
+<wire x1="2.982" y1="4.796" x2="3.018" y2="4.796" width="0.254" layer="16"/>
+<wire x1="2.832" y1="3.556" x2="2.982" y2="3.706" width="0.254" layer="16"/>
+<wire x1="2.982" y1="3.706" x2="2.982" y2="4.796" width="0.254" layer="16"/>
+<wire x1="2.982" y1="4.796" x2="2.982" y2="5.654" width="0.254" layer="16"/>
+<wire x1="2.982" y1="5.654" x2="2.54" y2="6.096" width="0.254" layer="16"/>
+<wire x1="3.078" y1="6.634" x2="2.54" y2="6.096" width="0.381" layer="1"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC1" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC2" pad="12"/>
+<wire x1="4.318" y1="6.134" x2="4.318" y2="6.604" width="0.254" layer="16"/>
+<wire x1="4.318" y1="6.604" x2="3.526" y2="7.396" width="0.254" layer="16"/>
+<wire x1="3.526" y1="7.396" x2="2.982" y2="7.396" width="0.254" layer="16"/>
+<wire x1="7.306" y1="7.366" x2="6.35" y2="7.366" width="0.254" layer="16"/>
+<wire x1="6.35" y1="7.366" x2="5.118" y2="6.134" width="0.254" layer="16"/>
+<wire x1="5.118" y1="6.134" x2="4.318" y2="6.134" width="0.254" layer="16"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="IC2" pad="8"/>
+<contactref element="TP1" pad="1"/>
+<wire x1="7.306" y1="2.286" x2="7.366" y2="2.226" width="0.254" layer="16"/>
+<wire x1="7.366" y1="2.226" x2="7.366" y2="1.27" width="0.254" layer="16"/>
+</signal>
+<signal name="PA02">
+<contactref element="IC2" pad="13"/>
+</signal>
+<signal name="PA04">
+<contactref element="IC2" pad="14"/>
+<contactref element="R7" pad="1"/>
+<via x="7.366" y="9.652" extent="1-16" drill="0.3302" diameter="0.254"/>
+<wire x1="7.366" y1="9.652" x2="7.836" y2="9.182" width="0.254" layer="1"/>
+<wire x1="7.836" y1="9.182" x2="8.382" y2="9.182" width="0.254" layer="1"/>
+<wire x1="7.306" y1="9.906" x2="7.366" y2="9.846" width="0.254" layer="16"/>
+<wire x1="7.366" y1="9.846" x2="7.366" y2="9.652" width="0.254" layer="16"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="IC2" pad="7"/>
+<contactref element="TP2" pad="1"/>
+<wire x1="12.506" y1="2.286" x2="12.446" y2="2.226" width="0.254" layer="16"/>
+<wire x1="12.446" y1="2.226" x2="12.446" y2="1.27" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="IC2" pad="6"/>
+<contactref element="TP3" pad="1"/>
+<wire x1="12.506" y1="3.556" x2="11.43" y2="3.556" width="0.254" layer="16"/>
+<wire x1="11.43" y1="3.556" x2="9.906" y2="2.032" width="0.254" layer="16"/>
+<wire x1="9.906" y1="2.032" x2="9.906" y2="1.27" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="N$5">
+<contactref element="J1" pad="2"/>
+<contactref element="R2" pad="1"/>
+<wire x1="12.23" y1="3.048" x2="14.097" y2="3.048" width="0.254" layer="1"/>
+<wire x1="14.097" y1="3.048" x2="14.351" y2="2.794" width="0.254" layer="1"/>
+</signal>
+<signal name="N$9">
+<contactref element="J1" pad="4"/>
+<contactref element="RN1" pad="1"/>
+<wire x1="12.182" y1="5.404" x2="13.011" y2="5.404" width="0.254" layer="1"/>
+<wire x1="13.011" y1="5.404" x2="14.351" y2="4.064" width="0.254" layer="1"/>
+</signal>
+<signal name="N$10">
+<contactref element="J1" pad="6"/>
+<contactref element="RN1" pad="2"/>
+<wire x1="12.182" y1="6.204" x2="13.481" y2="6.204" width="0.254" layer="1"/>
+<wire x1="13.481" y1="6.204" x2="14.351" y2="5.334" width="0.254" layer="1"/>
+</signal>
+<signal name="N$11">
+<contactref element="J1" pad="8"/>
+<contactref element="RN1" pad="3"/>
+<wire x1="12.182" y1="7.004" x2="13.951" y2="7.004" width="0.254" layer="1"/>
+<wire x1="13.951" y1="7.004" x2="14.351" y2="6.604" width="0.254" layer="1"/>
+</signal>
+<signal name="N$12">
+<contactref element="J1" pad="10"/>
+<contactref element="RN1" pad="4"/>
+<wire x1="12.182" y1="7.804" x2="14.281" y2="7.804" width="0.254" layer="1"/>
+<wire x1="14.281" y1="7.804" x2="14.351" y2="7.874" width="0.254" layer="1"/>
+</signal>
+<signal name="PA14">
+<contactref element="IC2" pad="4"/>
+<via x="9.652" y="5.08" extent="1-16" drill="0.3302"/>
+<wire x1="12.506" y1="6.096" x2="11.43" y2="6.096" width="0.254" layer="16"/>
+<wire x1="11.43" y1="6.096" x2="10.414" y2="5.08" width="0.254" layer="16"/>
+<wire x1="10.414" y1="5.08" x2="9.652" y2="5.08" width="0.254" layer="16"/>
+<contactref element="RN1" pad="8"/>
+<wire x1="10.678" y1="5.404" x2="9.976" y2="5.404" width="0.254" layer="1"/>
+<wire x1="9.976" y1="5.404" x2="9.652" y2="5.08" width="0.254" layer="1"/>
+</signal>
+<signal name="PA15">
+<contactref element="IC2" pad="5"/>
+<contactref element="R2" pad="2"/>
+<via x="9.652" y="4.064" extent="1-16" drill="0.3302"/>
+<wire x1="12.506" y1="4.826" x2="11.43" y2="4.826" width="0.254" layer="16"/>
+<wire x1="11.43" y1="4.826" x2="10.668" y2="4.064" width="0.254" layer="16"/>
+<wire x1="10.668" y1="4.064" x2="9.652" y2="4.064" width="0.254" layer="16"/>
+<wire x1="10.63" y1="3.048" x2="10.63" y2="3.848" width="0.254" layer="1"/>
+<wire x1="10.63" y1="3.848" x2="10.414" y2="4.064" width="0.254" layer="1"/>
+<wire x1="10.414" y1="4.064" x2="9.652" y2="4.064" width="0.254" layer="1"/>
+</signal>
+<signal name="N$3">
+<contactref element="R7" pad="2"/>
+<contactref element="LED1" pad="1"/>
+<wire x1="8.382" y1="7.582" x2="8.382" y2="6.134" width="0.254" layer="1"/>
+</signal>
+<signal name="PA09">
+<contactref element="IC2" pad="3"/>
+<via x="9.652" y="6.096" extent="1-16" drill="0.3302"/>
+<wire x1="12.506" y1="7.366" x2="11.43" y2="7.366" width="0.254" layer="16"/>
+<wire x1="11.43" y1="7.366" x2="10.16" y2="6.096" width="0.254" layer="16"/>
+<wire x1="10.16" y1="6.096" x2="9.652" y2="6.096" width="0.254" layer="16"/>
+<contactref element="RN1" pad="7"/>
+<wire x1="10.678" y1="6.204" x2="9.76" y2="6.204" width="0.254" layer="1"/>
+<wire x1="9.76" y1="6.204" x2="9.652" y2="6.096" width="0.254" layer="1"/>
+</signal>
+<signal name="PA08">
+<contactref element="IC2" pad="2"/>
+<via x="9.652" y="7.112" extent="1-16" drill="0.3302"/>
+<wire x1="12.506" y1="8.636" x2="11.43" y2="8.636" width="0.254" layer="16"/>
+<wire x1="11.43" y1="8.636" x2="9.906" y2="7.112" width="0.254" layer="16"/>
+<wire x1="9.906" y1="7.112" x2="9.652" y2="7.112" width="0.254" layer="16"/>
+<contactref element="RN1" pad="6"/>
+<wire x1="10.678" y1="7.004" x2="9.76" y2="7.004" width="0.254" layer="1"/>
+<wire x1="9.76" y1="7.004" x2="9.652" y2="7.112" width="0.254" layer="1"/>
+</signal>
+<signal name="PA05">
+<contactref element="IC2" pad="1"/>
+<via x="9.652" y="8.128" extent="1-16" drill="0.3302"/>
+<contactref element="RN1" pad="5"/>
+<wire x1="12.506" y1="9.906" x2="11.43" y2="9.906" width="0.254" layer="16"/>
+<wire x1="11.43" y1="9.906" x2="9.652" y2="8.128" width="0.254" layer="16"/>
+<wire x1="10.678" y1="7.804" x2="9.976" y2="7.804" width="0.254" layer="1"/>
+<wire x1="9.976" y1="7.804" x2="9.652" y2="8.128" width="0.254" layer="1"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2.pdf


+ 1372 - 0
dap_link/lib/free-dap/hardware/d11_micro_usb_std_v2/d11_micro_usb_std_v2.sch

@@ -0,0 +1,1372 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.318" y1="-1.143" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.143" x2="-4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="-1.143" x2="-4.318" y2="0" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="0" x2="-4.318" y2="1.143" width="0.127" layer="21"/>
+<wire x1="4.318" y1="1.143" x2="4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="1.143" x2="4.318" y2="1.143" width="0.127" layer="21"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="1.778" layer="1"/>
+<text x="0" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-4.318" y1="0" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXC">
+<description>Atmel SAM D09C/D10C/D11C Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="10.16" x2="12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-10.16" x2="-12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-10.16" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="-15.24" y="-5.08" length="short"/>
+<pin name="PA8" x="-15.24" y="5.08" length="short"/>
+<pin name="PA9" x="-15.24" y="2.54" length="short"/>
+<pin name="PA14" x="-15.24" y="0" length="short"/>
+<pin name="PA15" x="-15.24" y="-2.54" length="short"/>
+<pin name="PA5" x="-15.24" y="7.62" length="short"/>
+<pin name="PA04" x="15.24" y="7.62" length="short" rot="R180"/>
+<pin name="PA02" x="15.24" y="5.08" length="short" rot="R180"/>
+<text x="0" y="10.922" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-12.192" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="-15.24" y="-7.62" length="short"/>
+<pin name="VDD" x="15.24" y="2.54" length="short" rot="R180"/>
+<pin name="GND" x="15.24" y="0" length="short" rot="R180"/>
+<pin name="PA25" x="15.24" y="-2.54" length="short" rot="R180"/>
+<pin name="PA24" x="15.24" y="-5.08" length="short" rot="R180"/>
+<pin name="PA31/SIO" x="15.24" y="-7.62" length="short" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11C" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXC" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="SO-14">
+<connects>
+<connect gate="G$1" pin="GND" pad="11"/>
+<connect gate="G$1" pin="PA02" pad="13"/>
+<connect gate="G$1" pin="PA04" pad="14"/>
+<connect gate="G$1" pin="PA14" pad="4"/>
+<connect gate="G$1" pin="PA15" pad="5"/>
+<connect gate="G$1" pin="PA24" pad="9"/>
+<connect gate="G$1" pin="PA25" pad="10"/>
+<connect gate="G$1" pin="PA28/RST" pad="6"/>
+<connect gate="G$1" pin="PA30/SCK" pad="7"/>
+<connect gate="G$1" pin="PA31/SIO" pad="8"/>
+<connect gate="G$1" pin="PA5" pad="1"/>
+<connect gate="G$1" pin="PA8" pad="2"/>
+<connect gate="G$1" pin="PA9" pad="3"/>
+<connect gate="G$1" pin="VDD" pad="12"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="5" x="0" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="6" x="0" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6096" diameter="1.016"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6096" diameter="1.016"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6096" diameter="1.016"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="HEADER-5X2-2.54MM">
+<wire x1="-6.35" y1="0" x2="-3.81" y2="0" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="0" x2="-3.81" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1.016" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1.016"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1.016"/>
+<pad name="4" x="-2.54" y="1.27" drill="1.016"/>
+<pad name="5" x="0" y="-1.27" drill="1.016"/>
+<pad name="6" x="0" y="1.27" drill="1.016"/>
+<pad name="7" x="2.54" y="-1.27" drill="1.016"/>
+<pad name="8" x="2.54" y="1.27" drill="1.016"/>
+<pad name="9" x="5.08" y="-1.27" drill="1.016"/>
+<pad name="10" x="5.08" y="1.27" drill="1.016"/>
+<text x="0" y="3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="HEADER-5X2-1.27MM-SHR">
+<wire x1="-6.35" y1="2.794" x2="6.35" y2="2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.794" x2="6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.794" x2="-6.35" y2="-2.794" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.794" x2="-6.35" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="3.302" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<circle x="-5.334" y="-1.778" radius="0.381" width="0.254" layer="21"/>
+</package>
+<package name="HEADER-5X2-2.54MM-SHR-RA">
+<description>10-pin right angle shrouded header</description>
+<wire x1="10.16" y1="2.794" x2="10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="10.16" y1="10.922" x2="1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="1.778" y1="4.572" x2="-1.778" y2="4.572" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="4.572" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="1.778" y1="10.922" x2="-1.778" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="10.922" x2="-10.16" y2="10.922" width="0.127" layer="21"/>
+<wire x1="-10.16" y1="10.922" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<wire x1="10.16" y1="2.794" x2="-10.16" y2="2.794" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1" diameter="1.4224" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="4" x="-2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="5" x="0" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="6" x="0" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="7" x="2.54" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="8" x="2.54" y="1.27" drill="1" diameter="1.4224"/>
+<pad name="9" x="5.08" y="-1.27" drill="1" diameter="1.4224"/>
+<pad name="10" x="5.08" y="1.27" drill="1" diameter="1.4224"/>
+<text x="-8.89" y="-0.508" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-8.89" y1="10.16" x2="-6.35" y2="10.16" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="10.16" x2="-7.62" y2="8.89" width="0.127" layer="21"/>
+<wire x1="-7.62" y1="8.89" x2="-8.89" y2="10.16" width="0.127" layer="21"/>
+</package>
+<package name="HEADER-5X2-2.54MM-SHR-SIDE">
+<wire x1="10.16" y1="0.254" x2="10.16" y2="8.382" width="0.127" layer="21"/>
+<wire x1="10.16" y1="8.382" x2="1.778" y2="8.382" width="0.127" layer="21"/>
+<wire x1="1.778" y1="8.382" x2="1.778" y2="2.032" width="0.127" layer="21"/>
+<wire x1="1.778" y1="2.032" x2="-1.778" y2="2.032" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="2.032" x2="-1.778" y2="8.382" width="0.127" layer="21"/>
+<wire x1="1.778" y1="8.382" x2="-1.778" y2="8.382" width="0.127" layer="21"/>
+<wire x1="-1.778" y1="8.382" x2="-10.16" y2="8.382" width="0.127" layer="21"/>
+<wire x1="-10.16" y1="8.382" x2="-10.16" y2="0.254" width="0.127" layer="21"/>
+<wire x1="10.16" y1="0.254" x2="-10.16" y2="0.254" width="0.127" layer="21"/>
+<text x="8.255" y="-3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-8.89" y1="7.62" x2="-6.35" y2="7.62" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="7.62" x2="-7.62" y2="6.35" width="0.127" layer="21"/>
+<wire x1="-7.62" y1="6.35" x2="-8.89" y2="7.62" width="0.127" layer="21"/>
+<smd name="1" x="-5.08" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="3" x="-2.54" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="5" x="0" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="7" x="2.54" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<smd name="9" x="5.08" y="-2.54" dx="1.27" dy="2.54" layer="1"/>
+<wire x1="-6.35" y1="-2.54" x2="-7.112" y2="-2.032" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-7.112" y2="-3.048" width="0.127" layer="21"/>
+<wire x1="-7.112" y1="-3.048" x2="-7.112" y2="-2.032" width="0.127" layer="21"/>
+<smd name="2" x="-5.08" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="4" x="-2.54" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="6" x="0" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="8" x="2.54" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+<smd name="10" x="5.08" y="-2.54" dx="1.27" dy="2.54" layer="16"/>
+</package>
+</packages>
+<symbols>
+<symbol name="HEADER-5X2">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-7.62" x2="5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="7.62" x2="-5.08" y2="7.62" width="0.254" layer="94"/>
+<pin name="1" x="-7.62" y="5.08" length="short" direction="pas"/>
+<pin name="2" x="7.62" y="5.08" length="short" direction="pas" rot="R180"/>
+<pin name="3" x="-7.62" y="2.54" length="short" direction="pas"/>
+<pin name="4" x="7.62" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="5" x="-7.62" y="0" length="short" direction="pas"/>
+<pin name="6" x="7.62" y="0" length="short" direction="pas" rot="R180"/>
+<pin name="7" x="-7.62" y="-2.54" length="short" direction="pas"/>
+<pin name="8" x="7.62" y="-2.54" length="short" direction="pas" rot="R180"/>
+<pin name="9" x="-7.62" y="-5.08" length="short" direction="pas"/>
+<pin name="10" x="7.62" y="-5.08" length="short" direction="pas" rot="R180"/>
+<text x="0" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+</symbol>
+<symbol name="MICRO-USB-5">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-10.16" width="0.254" layer="94"/>
+<text x="0.762" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="VBUS" x="-7.62" y="5.08" visible="pin" length="short" direction="pas"/>
+<pin name="DM" x="-7.62" y="2.54" visible="pin" length="short" direction="pas"/>
+<pin name="DP" x="-7.62" y="0" visible="pin" length="short" direction="pas"/>
+<pin name="ID" x="-7.62" y="-2.54" visible="pin" length="short" direction="pas"/>
+<pin name="GND" x="-7.62" y="-5.08" visible="pin" length="short" direction="pas"/>
+<wire x1="7.62" y1="7.62" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-10.16" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<pin name="SHIELD" x="-7.62" y="-7.62" visible="pin" length="short" direction="pas"/>
+<text x="0.762" y="-12.192" size="1.27" layer="95" align="bottom-center">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="HEADER-5X2" prefix="J">
+<gates>
+<gate name="G$1" symbol="HEADER-5X2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH-1.27" package="HEADER-5X2-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-1.27-SHR" package="HEADER-5X2-1.27MM-SHR">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54-SHR-RA" package="HEADER-5X2-2.54MM-SHR-RA">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54-SHR-SIDE" package="HEADER-5X2-2.54MM-SHR-SIDE">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54" package="HEADER-5X2-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="USB-B-MICRO" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="MICRO-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMT" package="USB-B-MICRO-SMT-SHELL-TH">
+<connects>
+<connect gate="G$1" pin="DM" pad="2"/>
+<connect gate="G$1" pin="DP" pad="3"/>
+<connect gate="G$1" pin="GND" pad="5"/>
+<connect gate="G$1" pin="ID" pad="4"/>
+<connect gate="G$1" pin="SHIELD" pad="M1 M2 M3 M4" route="any"/>
+<connect gate="G$1" pin="VBUS" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0603-X4">
+<smd name="1" x="-1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="2" x="-0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="3" x="0.4" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="4" x="1.2" y="-0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="5" x="1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="6" x="0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="7" x="-0.4" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<smd name="8" x="-1.2" y="0.752" dx="0.5" dy="0.889" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">&gt;NAME</text>
+<wire x1="1.778" y1="1.4986" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="-1.778" y2="-1.524" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="1.4986" x2="1.778" y2="1.4986" width="0.1016" layer="21"/>
+<wire x1="-1.778" y1="-1.524" x2="1.778" y2="-1.524" width="0.1016" layer="21"/>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" ratio="10" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+<symbol name="RN-4">
+<wire x1="-2.54" y1="1.524" x2="-2.54" y2="3.556" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="2.54" visible="off" length="short" direction="pas"/>
+<pin name="8" x="5.08" y="2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="4.572" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<wire x1="2.54" y1="1.524" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="3.556" x2="2.54" y2="3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.524" x2="2.54" y2="1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="2" x="-5.08" y="0" visible="off" length="short" direction="pas"/>
+<pin name="7" x="5.08" y="0" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="-2.54" y2="-1.524" width="0.254" layer="94"/>
+<pin name="3" x="-5.08" y="-2.54" visible="off" length="short" direction="pas"/>
+<pin name="6" x="5.08" y="-2.54" visible="off" length="short" direction="pas" rot="R180"/>
+<wire x1="2.54" y1="-3.556" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.524" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-3.556" x2="2.54" y2="-3.556" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="-2.54" y2="-4.064" width="0.254" layer="94"/>
+<pin name="4" x="-5.08" y="-5.08" visible="off" length="short" direction="pas"/>
+<pin name="5" x="5.08" y="-5.08" visible="off" length="short" direction="pas" rot="R180"/>
+<text x="0" y="2.54" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-6.096" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-4.064" x2="2.54" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.096" x2="2.54" y2="-6.096" width="0.254" layer="94"/>
+<wire x1="-3.048" y1="-6.604" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="-6.604" x2="-3.048" y2="-6.604" width="0.127" layer="94" style="shortdash"/>
+<wire x1="3.048" y1="4.064" x2="-3.048" y2="4.064" width="0.127" layer="94" style="shortdash"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="RN-4" prefix="RN" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="RN-4" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0603-X4" package="SMD0603-X4">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-4.572" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="pas"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="GND" x="10.16" y="0" visible="pin" length="short" direction="pas" rot="R180"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="pas"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.635MM">
+<smd name="1" x="0" y="0" dx="0.635" dy="0.635" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.5MM">
+<smd name="1" x="0" y="0" dx="0.5" dy="0.5" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-1.27MM-TH">
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<pad name="1" x="0" y="0" drill="0.762" diameter="1.27"/>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.635MM" package="TP-0.635MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.5MM" package="TP-0.5MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1.27MM-TH" package="TP-1.27MM-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="IC2" library="ataradov_mcu" deviceset="ATSAMD11C" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_17" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_8" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_16" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="100"/>
+<part name="IC1" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="R7" library="ataradov_rlc" deviceset="R" device="-0603" value="470"/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="ORANGE"/>
+<part name="J1" library="ataradov_conn" deviceset="HEADER-5X2" device="-TH-1.27"/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_5" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J2" library="ataradov_conn" deviceset="USB-B-MICRO" device="-SMT"/>
+<part name="RN1" library="ataradov_rlc" deviceset="RN-4" device="-0603-X4" value="100"/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="152.4" y2="119.38" columns="8" rows="5" layer="97"/>
+<text x="35.56" y="106.68" size="1.778" layer="97" align="bottom-center">Program</text>
+<text x="93.98" y="106.68" size="1.778" layer="97" align="bottom-center">Target</text>
+<text x="60.96" y="15.24" size="1.778" layer="97">Copyright (c) 2016-2021, Alex Taradov &lt;alex@taradov.com&gt;
+
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+</plain>
+<instances>
+<instance part="IC2" gate="G$1" x="40.64" y="53.34"/>
+<instance part="P_9" gate="1" x="53.34" y="27.94"/>
+<instance part="P_7" gate="1" x="58.42" y="66.04"/>
+<instance part="P_17" gate="1" x="76.2" y="40.64"/>
+<instance part="P_8" gate="1" x="58.42" y="40.64"/>
+<instance part="P_16" gate="1" x="76.2" y="60.96"/>
+<instance part="P_3" gate="1" x="25.4" y="27.94"/>
+<instance part="C1" gate="G$1" x="20.32" y="20.32" rot="R90"/>
+<instance part="C2" gate="G$1" x="53.34" y="20.32" rot="R90"/>
+<instance part="R2" gate="G$1" x="106.68" y="99.06"/>
+<instance part="IC1" gate="G$1" x="38.1" y="20.32"/>
+<instance part="P_4" gate="1" x="48.26" y="15.24"/>
+<instance part="P_6" gate="1" x="53.34" y="15.24"/>
+<instance part="P_1" gate="1" x="20.32" y="15.24"/>
+<instance part="P_2" gate="1" x="33.02" y="86.36"/>
+<instance part="R7" gate="G$1" x="114.3" y="53.34"/>
+<instance part="TP1" gate="G$1" x="35.56" y="96.52"/>
+<instance part="TP2" gate="G$1" x="35.56" y="93.98"/>
+<instance part="TP3" gate="G$1" x="35.56" y="91.44"/>
+<instance part="TP4" gate="G$1" x="35.56" y="88.9"/>
+<instance part="LED1" gate="G$1" x="124.46" y="53.34" rot="MR270"/>
+<instance part="J1" gate="G$1" x="88.9" y="91.44"/>
+<instance part="P_11" gate="1" x="78.74" y="83.82"/>
+<instance part="P_5" gate="1" x="132.08" y="48.26"/>
+<instance part="J2" gate="G$1" x="86.36" y="50.8"/>
+<instance part="RN1" gate="G$1" x="106.68" y="91.44"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="N$1" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA24"/>
+<wire x1="55.88" y1="48.26" x2="76.2" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="48.26" x2="76.2" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="53.34" x2="78.74" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="DM"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA25"/>
+<wire x1="55.88" y1="50.8" x2="78.74" y2="50.8" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="DP"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_17" gate="1" pin="GND"/>
+<wire x1="76.2" y1="43.18" x2="76.2" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="45.72" x2="78.74" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+<wire x1="48.26" y1="17.78" x2="48.26" y2="20.32" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_1" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_6" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_8" gate="1" pin="GND"/>
+<wire x1="55.88" y1="53.34" x2="58.42" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="58.42" y1="53.34" x2="58.42" y2="43.18" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="P_2" gate="1" pin="GND"/>
+<wire x1="33.02" y1="88.9" x2="35.56" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="TP4" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="J1" gate="G$1" pin="3"/>
+<wire x1="81.28" y1="93.98" x2="78.74" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="P_11" gate="1" pin="GND"/>
+<wire x1="78.74" y1="93.98" x2="78.74" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="5"/>
+<wire x1="78.74" y1="91.44" x2="78.74" y2="86.36" width="0.1524" layer="91"/>
+<wire x1="81.28" y1="91.44" x2="78.74" y2="91.44" width="0.1524" layer="91"/>
+<junction x="78.74" y="91.44"/>
+</segment>
+<segment>
+<pinref part="P_5" gate="1" pin="GND"/>
+<wire x1="132.08" y1="50.8" x2="132.08" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="132.08" y1="53.34" x2="129.54" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_16" gate="1" pin="V_USB"/>
+<wire x1="76.2" y1="58.42" x2="76.2" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="55.88" x2="78.74" y2="55.88" width="0.1524" layer="91"/>
+<pinref part="J2" gate="G$1" pin="VBUS"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="27.94" y1="20.32" x2="25.4" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="25.4" y1="20.32" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="IC1" gate="G$1" pin="IN"/>
+<wire x1="25.4" y1="22.86" x2="25.4" y2="25.4" width="0.1524" layer="91"/>
+<wire x1="27.94" y1="22.86" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<junction x="25.4" y="22.86"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="25.4" y1="22.86" x2="20.32" y2="22.86" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="OUT"/>
+<wire x1="48.26" y1="22.86" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<junction x="53.34" y="22.86"/>
+<pinref part="P_9" gate="1" pin="+3V3"/>
+<wire x1="53.34" y1="25.4" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="VDD"/>
+<pinref part="P_7" gate="1" pin="+3V3"/>
+<wire x1="55.88" y1="55.88" x2="58.42" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="58.42" y1="55.88" x2="58.42" y2="63.5" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA31/SIO"/>
+<wire x1="55.88" y1="45.72" x2="60.96" y2="45.72" width="0.1524" layer="91"/>
+<label x="60.96" y="45.72" size="1.27" layer="95"/>
+</segment>
+<segment>
+<wire x1="35.56" y1="96.52" x2="33.02" y2="96.52" width="0.1524" layer="91"/>
+<label x="33.02" y="96.52" size="1.27" layer="95" rot="MR0"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PA02" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA02"/>
+<wire x1="55.88" y1="58.42" x2="60.96" y2="58.42" width="0.1524" layer="91"/>
+<label x="60.96" y="58.42" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA04" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA04"/>
+<wire x1="55.88" y1="60.96" x2="60.96" y2="60.96" width="0.1524" layer="91"/>
+<label x="60.96" y="60.96" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="R7" gate="G$1" pin="1"/>
+<wire x1="109.22" y1="53.34" x2="106.68" y2="53.34" width="0.1524" layer="91"/>
+<label x="106.68" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA30/SCK"/>
+<wire x1="25.4" y1="45.72" x2="22.86" y2="45.72" width="0.1524" layer="91"/>
+<label x="22.86" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="33.02" y="93.98" size="1.27" layer="95" rot="MR0"/>
+<wire x1="35.56" y1="93.98" x2="33.02" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA28/RST"/>
+<wire x1="25.4" y1="48.26" x2="22.86" y2="48.26" width="0.1524" layer="91"/>
+<label x="22.86" y="48.26" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="33.02" y="91.44" size="1.27" layer="95" rot="MR0"/>
+<wire x1="35.56" y1="91.44" x2="33.02" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="TP3" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="N$5" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="2"/>
+<pinref part="R2" gate="G$1" pin="1"/>
+<wire x1="96.52" y1="96.52" x2="99.06" y2="96.52" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="96.52" x2="99.06" y2="99.06" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="99.06" x2="101.6" y2="99.06" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$9" class="0">
+<segment>
+<wire x1="101.6" y1="93.98" x2="96.52" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="4"/>
+<pinref part="RN1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="N$10" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="6"/>
+<wire x1="96.52" y1="91.44" x2="101.6" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="RN1" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="N$11" class="0">
+<segment>
+<wire x1="101.6" y1="88.9" x2="96.52" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="8"/>
+<pinref part="RN1" gate="G$1" pin="3"/>
+</segment>
+</net>
+<net name="N$12" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="10"/>
+<wire x1="96.52" y1="86.36" x2="101.6" y2="86.36" width="0.1524" layer="91"/>
+<pinref part="RN1" gate="G$1" pin="4"/>
+</segment>
+</net>
+<net name="PA14" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA14"/>
+<wire x1="22.86" y1="53.34" x2="25.4" y2="53.34" width="0.1524" layer="91"/>
+<label x="22.86" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="114.3" y1="93.98" x2="111.76" y2="93.98" width="0.1524" layer="91"/>
+<label x="114.3" y="93.98" size="1.27" layer="95"/>
+<pinref part="RN1" gate="G$1" pin="8"/>
+</segment>
+</net>
+<net name="PA15" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA15"/>
+<wire x1="25.4" y1="50.8" x2="22.86" y2="50.8" width="0.1524" layer="91"/>
+<label x="22.86" y="50.8" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R2" gate="G$1" pin="2"/>
+<wire x1="114.3" y1="99.06" x2="111.76" y2="99.06" width="0.1524" layer="91"/>
+<label x="114.3" y="99.06" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<pinref part="R7" gate="G$1" pin="2"/>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="121.92" y1="53.34" x2="119.38" y2="53.34" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="PA09" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA9"/>
+<wire x1="25.4" y1="55.88" x2="22.86" y2="55.88" width="0.1524" layer="91"/>
+<label x="22.86" y="55.88" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="114.3" y1="91.44" x2="111.76" y2="91.44" width="0.1524" layer="91"/>
+<label x="114.3" y="91.44" size="1.27" layer="95"/>
+<pinref part="RN1" gate="G$1" pin="7"/>
+</segment>
+</net>
+<net name="PA08" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA8"/>
+<wire x1="25.4" y1="58.42" x2="22.86" y2="58.42" width="0.1524" layer="91"/>
+<label x="22.86" y="58.42" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="111.76" y1="88.9" x2="114.3" y2="88.9" width="0.1524" layer="91"/>
+<label x="114.3" y="88.9" size="1.27" layer="95"/>
+<pinref part="RN1" gate="G$1" pin="6"/>
+</segment>
+</net>
+<net name="PA05" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA5"/>
+<wire x1="25.4" y1="60.96" x2="22.86" y2="60.96" width="0.1524" layer="91"/>
+<label x="22.86" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="114.3" y1="86.36" x2="111.76" y2="86.36" width="0.1524" layer="91"/>
+<label x="114.3" y="86.36" size="1.27" layer="95"/>
+<pinref part="RN1" gate="G$1" pin="5"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo-gerbers.zip


+ 599 - 0
dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo.brd

@@ -0,0 +1,599 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="31.75" y2="0" width="0.1524" layer="20"/>
+<wire x1="31.75" y1="0" x2="31.75" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="31.75" y1="11.176" x2="0" y2="11.176" width="0.1524" layer="20"/>
+<wire x1="0" y1="11.176" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="19.05" y="5.588" size="0.762" layer="22" font="vector" rot="MR90" align="bottom-center">AT 3/20/21</text>
+<text x="30.226" y="8.382" size="2.032" layer="28" font="vector" rot="MR0">GND</text>
+<text x="30.226" y="3.302" size="2.032" layer="28" font="vector" rot="MR0">RESET</text>
+<text x="30.226" y="0.762" size="2.032" layer="28" font="vector" rot="MR0">SWCLK</text>
+<text x="29.972" y="5.842" size="2.032" layer="28" font="vector" rot="MR0">SWDIO</text>
+<rectangle x1="12.446" y1="9.652" x2="25.654" y2="10.922" layer="21"/>
+<text x="17.526" y="5.588" size="0.762" layer="22" font="vector" rot="MR90" align="bottom-center">www.taradov.com</text>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.318" y1="-1.143" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.143" x2="-4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="-1.143" x2="-4.318" y2="0" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="0" x2="-4.318" y2="1.143" width="0.127" layer="21"/>
+<wire x1="4.318" y1="1.143" x2="4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="1.143" x2="4.318" y2="1.143" width="0.127" layer="21"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="0" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-4.318" y1="0" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<circle x="-4.699" y="-1.524" radius="0.127" width="0.254" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="POGO-PIN">
+<text x="12.7" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="25.4" y1="0.762" x2="25.4" y2="0" width="0.127" layer="21"/>
+<wire x1="25.4" y1="0" x2="25.4" y2="-0.762" width="0.127" layer="21"/>
+<smd name="2" x="21.717" y="0" dx="3.81" dy="2.032" layer="1"/>
+<smd name="1" x="3.683" y="0" dx="3.81" dy="2.032" layer="1"/>
+<wire x1="0" y1="-0.762" x2="0" y2="0" width="0.127" layer="21"/>
+<wire x1="0" y1="0" x2="0" y2="0.762" width="0.127" layer="21"/>
+<wire x1="19.558" y1="0.762" x2="5.842" y2="0.762" width="0.127" layer="21"/>
+<wire x1="1.524" y1="0.762" x2="0" y2="0.762" width="0.127" layer="21"/>
+<wire x1="25.4" y1="0.762" x2="23.876" y2="0.762" width="0.127" layer="21"/>
+<wire x1="1.524" y1="-0.762" x2="0" y2="-0.762" width="0.127" layer="21"/>
+<wire x1="19.558" y1="-0.762" x2="5.842" y2="-0.762" width="0.127" layer="21"/>
+<wire x1="25.4" y1="-0.762" x2="23.876" y2="-0.762" width="0.127" layer="21"/>
+<wire x1="1.524" y1="0" x2="0" y2="0" width="0.127" layer="21"/>
+<wire x1="25.4" y1="0" x2="23.876" y2="0" width="0.127" layer="21"/>
+<wire x1="7.112" y1="0" x2="5.842" y2="0" width="0.127" layer="21"/>
+<wire x1="9.652" y1="0" x2="8.382" y2="0" width="0.127" layer="21"/>
+<wire x1="17.018" y1="0" x2="15.748" y2="0" width="0.127" layer="21"/>
+<wire x1="19.558" y1="0" x2="18.288" y2="0" width="0.127" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="std-tented-new">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="0mil"/>
+<param name="mdSmdVia" value="0mil"/>
+<param name="mdSmdSmd" value="0mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="10mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="8mil"/>
+<param name="msDrill" value="12mil"/>
+<param name="msMicroVia" value="12mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="25mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="6mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="IC2" library="ataradov_mcu" package="SO-14" value="ATSAMD11C" x="10.922" y="6.35" smashed="yes" rot="MR270">
+<attribute name="NAME" x="10.922" y="11.176" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="2.032" y="3.556" rot="MR180"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="4.318" y="5.588" smashed="yes" rot="MR90">
+<attribute name="NAME" x="5.334" y="5.588" size="1.27" layer="26" font="vector" rot="MR90" align="bottom-center"/>
+</element>
+<element name="IC1" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="2.032" y="6.35" smashed="yes" rot="MR0">
+<attribute name="NAME" x="2.032" y="8.636" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="R1" library="ataradov_rlc" package="SMD0603" value="10K" x="4.826" y="10.16" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="8.382" y="1.524" rot="MR0"/>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="" x="13.462" y="1.524" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="10.922" y="1.524" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="5.842" y="1.524" rot="MR0"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="ORANGE" x="4.826" y="10.16"/>
+<element name="J1" library="ataradov_conn" package="USB-B-MICRO-SMT-SHELL-TH" value="" x="0" y="5.588"/>
+<element name="J4" library="ataradov_conn" package="POGO-PIN" value="POGO-PIN-SMD" x="31.75" y="6.858" rot="R180"/>
+<element name="J2" library="ataradov_conn" package="POGO-PIN" value="POGO-PIN-SMD" x="31.75" y="1.778" rot="R180"/>
+<element name="J3" library="ataradov_conn" package="POGO-PIN" value="POGO-PIN-SMD" x="31.75" y="4.318" rot="R180"/>
+<element name="J5" library="ataradov_conn" package="POGO-PIN" value="POGO-PIN-SMD" x="31.75" y="9.398" rot="R180"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC1" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="IC2" pad="11"/>
+<contactref element="TP4" pad="1"/>
+<contactref element="LED1" pad="2"/>
+<contactref element="J1" pad="5"/>
+<polygon width="0.254" layer="16" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="31.75" y="11.176"/>
+<vertex x="31.75" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<polygon width="0.254" layer="1" isolate="0.2032">
+<vertex x="0" y="11.176"/>
+<vertex x="31.75" y="11.176"/>
+<vertex x="31.75" y="0"/>
+<vertex x="0" y="0"/>
+</polygon>
+<via x="6.604" y="8.382" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.81" y="8.89" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="20.574" y="8.128" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="25.146" y="8.128" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="25.146" y="5.588" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="30.734" y="8.128" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="30.734" y="5.588" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="30.734" y="3.048" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="25.146" y="3.048" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="20.574" y="3.048" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="20.574" y="5.588" extent="1-16" drill="0.3302" diameter="0.254"/>
+<contactref element="J5" pad="2" route="any" routetag="G$1.1"/>
+<contactref element="J5" pad="1" route="any" routetag="G$1.1"/>
+<via x="1.016" y="10.16" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="1.016" y="1.016" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="2.032" y="6.858" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="3.81" y="2.286" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="15.24" y="3.556" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="15.24" y="8.128" extent="1-16" drill="0.3302" diameter="0.254"/>
+<via x="6.604" y="3.048" extent="1-16" drill="0.3302" diameter="0.254"/>
+</signal>
+<signal name="N$1">
+<contactref element="IC2" pad="9"/>
+<contactref element="J1" pad="2"/>
+<via x="6.096" y="6.35" extent="1-16" drill="0.3302" diameter="0.254"/>
+<wire x1="6.096" y1="6.35" x2="5.984" y2="6.238" width="0.254" layer="1"/>
+<wire x1="5.984" y1="6.238" x2="4.825" y2="6.238" width="0.254" layer="1"/>
+<wire x1="7.112" y1="3.81" x2="8.322" y2="3.81" width="0.254" layer="16"/>
+<wire x1="6.096" y1="6.35" x2="6.096" y2="4.826" width="0.254" layer="16"/>
+<wire x1="6.096" y1="4.826" x2="7.112" y2="3.81" width="0.254" layer="16"/>
+</signal>
+<signal name="N$2">
+<contactref element="IC2" pad="10"/>
+<contactref element="J1" pad="3"/>
+<via x="6.858" y="5.588" extent="1-16" drill="0.3302" diameter="0.254"/>
+<wire x1="4.825" y1="5.588" x2="6.858" y2="5.588" width="0.254" layer="1"/>
+<wire x1="6.858" y1="5.588" x2="6.858" y2="5.334" width="0.254" layer="16"/>
+<wire x1="6.858" y1="5.334" x2="7.112" y2="5.08" width="0.254" layer="16"/>
+<wire x1="7.112" y1="5.08" x2="8.322" y2="5.08" width="0.254" layer="16"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC1" pad="3"/>
+<contactref element="IC1" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="J1" pad="1"/>
+<wire x1="4.825" y1="6.888" x2="3.84" y2="6.888" width="0.254" layer="1"/>
+<wire x1="3.84" y1="6.888" x2="3.048" y2="6.096" width="0.254" layer="1"/>
+<via x="3.048" y="6.096" extent="1-16" drill="0.3302"/>
+<wire x1="2.982" y1="6.03" x2="2.982" y2="5.05" width="0.254" layer="16"/>
+<wire x1="3.048" y1="6.096" x2="1.27" y2="6.096" width="0.254" layer="16"/>
+<wire x1="1.27" y1="6.096" x2="1.082" y2="5.908" width="0.254" layer="16"/>
+<wire x1="1.082" y1="5.908" x2="1.082" y2="5.05" width="0.254" layer="16"/>
+<wire x1="2.832" y1="3.556" x2="2.982" y2="3.706" width="0.254" layer="16"/>
+<wire x1="2.982" y1="3.706" x2="2.982" y2="5.05" width="0.254" layer="16"/>
+<wire x1="2.982" y1="6.03" x2="3.048" y2="6.096" width="0.254" layer="16"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC1" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC2" pad="12"/>
+<wire x1="8.322" y1="7.62" x2="7.112" y2="7.62" width="0.254" layer="16"/>
+<wire x1="7.112" y1="7.62" x2="6.604" y2="7.112" width="0.254" layer="16"/>
+<wire x1="6.604" y1="7.112" x2="4.318" y2="7.112" width="0.254" layer="16"/>
+<wire x1="4.318" y1="7.112" x2="4.064" y2="7.112" width="0.254" layer="16"/>
+<wire x1="4.318" y1="6.388" x2="4.318" y2="7.112" width="0.254" layer="16"/>
+<wire x1="4.064" y1="7.112" x2="3.526" y2="7.65" width="0.254" layer="16"/>
+<wire x1="3.526" y1="7.65" x2="2.982" y2="7.65" width="0.254" layer="16"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="IC2" pad="8"/>
+<contactref element="TP3" pad="1"/>
+<wire x1="8.322" y1="2.54" x2="8.382" y2="2.48" width="0.254" layer="16"/>
+<wire x1="8.382" y1="2.48" x2="8.382" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="LED">
+<contactref element="IC2" pad="14"/>
+<contactref element="R1" pad="1"/>
+<wire x1="8.322" y1="10.16" x2="5.626" y2="10.16" width="0.254" layer="16"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="IC2" pad="7"/>
+<contactref element="TP1" pad="1"/>
+<wire x1="13.522" y1="2.54" x2="13.462" y2="2.48" width="0.254" layer="16"/>
+<wire x1="13.462" y1="2.48" x2="13.462" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="IC2" pad="6"/>
+<contactref element="TP2" pad="1"/>
+<wire x1="13.522" y1="3.81" x2="12.192" y2="3.81" width="0.254" layer="16"/>
+<wire x1="12.192" y1="3.81" x2="10.922" y2="2.54" width="0.254" layer="16"/>
+<wire x1="10.922" y1="2.54" x2="10.922" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="T_SWCLK">
+<contactref element="IC2" pad="4"/>
+<contactref element="J2" pad="2" route="any" routetag="G$1.1"/>
+<contactref element="J2" pad="1" route="any" routetag="G$1.1"/>
+<via x="16.256" y="3.048" extent="1-16" drill="0.3302"/>
+<wire x1="15.494" y1="6.35" x2="13.522" y2="6.35" width="0.254" layer="16"/>
+<wire x1="10.033" y1="1.778" x2="14.986" y2="1.778" width="0.254" layer="1"/>
+<wire x1="14.986" y1="1.778" x2="16.256" y2="3.048" width="0.254" layer="1"/>
+<wire x1="15.494" y1="6.35" x2="16.256" y2="5.588" width="0.254" layer="16"/>
+<wire x1="16.256" y1="5.588" x2="16.256" y2="3.048" width="0.254" layer="16"/>
+</signal>
+<signal name="T_SWDIO">
+<contactref element="IC2" pad="5"/>
+<contactref element="J4" pad="2" route="any" routetag="G$1.1"/>
+<contactref element="J4" pad="1" route="any" routetag="G$1.1"/>
+<via x="14.986" y="5.588" extent="1-16" drill="0.3302"/>
+<wire x1="10.033" y1="6.858" x2="13.97" y2="6.858" width="0.254" layer="1"/>
+<wire x1="13.97" y1="6.858" x2="14.986" y2="5.588" width="0.254" layer="1"/>
+<wire x1="13.522" y1="5.08" x2="14.732" y2="5.08" width="0.254" layer="16"/>
+<wire x1="14.732" y1="5.08" x2="14.986" y2="5.334" width="0.254" layer="16"/>
+<wire x1="14.986" y1="5.334" x2="14.986" y2="5.588" width="0.254" layer="16"/>
+</signal>
+<signal name="N$3">
+<contactref element="R1" pad="2"/>
+<contactref element="LED1" pad="1"/>
+<via x="3.048" y="10.414" extent="1-16" drill="0.3302"/>
+<wire x1="4.026" y1="10.16" x2="3.302" y2="10.16" width="0.254" layer="16"/>
+<wire x1="3.302" y1="10.16" x2="3.048" y2="10.414" width="0.254" layer="16"/>
+<wire x1="3.048" y1="10.414" x2="3.302" y2="10.16" width="0.254" layer="1"/>
+<wire x1="3.302" y1="10.16" x2="4.026" y2="10.16" width="0.254" layer="1"/>
+</signal>
+<signal name="T_RESET">
+<contactref element="IC2" pad="1"/>
+<contactref element="J3" pad="2" route="any" routetag="G$1.1"/>
+<contactref element="J3" pad="1" route="any" routetag="G$1.1"/>
+<via x="16.256" y="9.144" extent="1-16" drill="0.3302"/>
+<wire x1="15.24" y1="10.16" x2="13.522" y2="10.16" width="0.254" layer="16"/>
+<wire x1="10.033" y1="4.318" x2="15.494" y2="4.318" width="0.254" layer="1"/>
+<wire x1="15.494" y1="4.318" x2="16.256" y2="5.08" width="0.254" layer="1"/>
+<wire x1="16.256" y1="5.08" x2="16.256" y2="9.144" width="0.254" layer="1"/>
+<wire x1="15.24" y1="10.16" x2="16.256" y2="9.144" width="0.254" layer="16"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo.pdf


+ 1064 - 0
dap_link/lib/free-dap/hardware/d11_pogo/d11_pogo.sch

@@ -0,0 +1,1064 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.318" y1="-1.143" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.143" x2="-4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="-1.143" x2="-4.318" y2="0" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="0" x2="-4.318" y2="1.143" width="0.127" layer="21"/>
+<wire x1="4.318" y1="1.143" x2="4.318" y2="-1.143" width="0.127" layer="21"/>
+<wire x1="-4.318" y1="1.143" x2="4.318" y2="1.143" width="0.127" layer="21"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="0" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="-4.318" y1="0" x2="-3.175" y2="-1.143" width="0.127" layer="21"/>
+<circle x="-4.699" y="-1.524" radius="0.127" width="0.254" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXC">
+<description>Atmel SAM D09C/D10C/D11C Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="10.16" x2="12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-10.16" x2="-12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-10.16" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="-17.78" y="-5.08" length="middle"/>
+<pin name="PA8" x="-17.78" y="5.08" length="middle"/>
+<pin name="PA9" x="-17.78" y="2.54" length="middle"/>
+<pin name="PA14" x="-17.78" y="0" length="middle"/>
+<pin name="PA15" x="-17.78" y="-2.54" length="middle"/>
+<pin name="PA5" x="-17.78" y="7.62" length="middle"/>
+<pin name="PA04" x="17.78" y="7.62" length="middle" rot="R180"/>
+<pin name="PA02" x="17.78" y="5.08" length="middle" rot="R180"/>
+<text x="0" y="10.922" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-12.192" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="-17.78" y="-7.62" length="middle"/>
+<pin name="VDD" x="17.78" y="2.54" length="middle" rot="R180"/>
+<pin name="GND" x="17.78" y="0" length="middle" rot="R180"/>
+<pin name="PA25" x="17.78" y="-2.54" length="middle" rot="R180"/>
+<pin name="PA24" x="17.78" y="-5.08" length="middle" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-7.62" length="middle" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11C" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXC" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="SO-14">
+<connects>
+<connect gate="G$1" pin="GND" pad="11"/>
+<connect gate="G$1" pin="PA02" pad="13"/>
+<connect gate="G$1" pin="PA04" pad="14"/>
+<connect gate="G$1" pin="PA14" pad="4"/>
+<connect gate="G$1" pin="PA15" pad="5"/>
+<connect gate="G$1" pin="PA24" pad="9"/>
+<connect gate="G$1" pin="PA25" pad="10"/>
+<connect gate="G$1" pin="PA28/RST" pad="6"/>
+<connect gate="G$1" pin="PA30/SCK" pad="7"/>
+<connect gate="G$1" pin="PA31/SIO" pad="8"/>
+<connect gate="G$1" pin="PA5" pad="1"/>
+<connect gate="G$1" pin="PA8" pad="2"/>
+<connect gate="G$1" pin="PA9" pad="3"/>
+<connect gate="G$1" pin="VDD" pad="12"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="USB-B-MICRO-SMT-SHELL-TH">
+<pad name="M1" x="2.15" y="-3.6" drill="1.143"/>
+<pad name="M2" x="2.15" y="3.6" drill="1.143"/>
+<smd name="1" x="4.825" y="1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="2" x="4.825" y="0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="3" x="4.825" y="0" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="4" x="4.825" y="-0.65" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<smd name="5" x="4.825" y="-1.3" dx="1.35" dy="0.4" layer="1" stop="no"/>
+<text x="3.175" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<rectangle x1="4.1" y1="1.05" x2="5.55" y2="1.55" layer="29"/>
+<pad name="M3" x="5.05" y="2.425" drill="0.635" shape="long"/>
+<pad name="M4" x="5.05" y="-2.425" drill="0.635" shape="long"/>
+<rectangle x1="4.1" y1="0.4" x2="5.55" y2="0.9" layer="29"/>
+<rectangle x1="4.1" y1="-0.25" x2="5.55" y2="0.25" layer="29"/>
+<rectangle x1="4.1" y1="-0.9" x2="5.55" y2="-0.4" layer="29"/>
+<rectangle x1="4.1" y1="-1.55" x2="5.55" y2="-1.05" layer="29"/>
+<wire x1="-0.5" y1="4" x2="-0.6" y2="3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.8" x2="0" y2="3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.5" x2="0" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.1" x2="-0.6" y2="3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="3.1" x2="-0.6" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.1" x2="0" y2="-3.1" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.1" x2="0" y2="-3.5" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.5" x2="-0.6" y2="-3.8" width="0.1524" layer="21"/>
+<wire x1="-0.6" y1="-3.8" x2="-0.5" y2="-4" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="-4" x2="0" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="-3.75" x2="5" y2="-3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="-3.75" x2="5" y2="-3.16" width="0.1524" layer="21"/>
+<wire x1="-0.5" y1="4" x2="0" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="0" y1="3.75" x2="5" y2="3.75" width="0.1524" layer="21"/>
+<wire x1="5" y1="3.75" x2="5" y2="3.16" width="0.1524" layer="21"/>
+</package>
+<package name="POGO-PIN">
+<text x="12.7" y="-0.635" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<wire x1="25.4" y1="0.762" x2="25.4" y2="0" width="0.127" layer="21"/>
+<wire x1="25.4" y1="0" x2="25.4" y2="-0.762" width="0.127" layer="21"/>
+<smd name="2" x="21.717" y="0" dx="3.81" dy="2.032" layer="1"/>
+<smd name="1" x="3.683" y="0" dx="3.81" dy="2.032" layer="1"/>
+<wire x1="0" y1="-0.762" x2="0" y2="0" width="0.127" layer="21"/>
+<wire x1="0" y1="0" x2="0" y2="0.762" width="0.127" layer="21"/>
+<wire x1="19.558" y1="0.762" x2="5.842" y2="0.762" width="0.127" layer="21"/>
+<wire x1="1.524" y1="0.762" x2="0" y2="0.762" width="0.127" layer="21"/>
+<wire x1="25.4" y1="0.762" x2="23.876" y2="0.762" width="0.127" layer="21"/>
+<wire x1="1.524" y1="-0.762" x2="0" y2="-0.762" width="0.127" layer="21"/>
+<wire x1="19.558" y1="-0.762" x2="5.842" y2="-0.762" width="0.127" layer="21"/>
+<wire x1="25.4" y1="-0.762" x2="23.876" y2="-0.762" width="0.127" layer="21"/>
+<wire x1="1.524" y1="0" x2="0" y2="0" width="0.127" layer="21"/>
+<wire x1="25.4" y1="0" x2="23.876" y2="0" width="0.127" layer="21"/>
+<wire x1="7.112" y1="0" x2="5.842" y2="0" width="0.127" layer="21"/>
+<wire x1="9.652" y1="0" x2="8.382" y2="0" width="0.127" layer="21"/>
+<wire x1="17.018" y1="0" x2="15.748" y2="0" width="0.127" layer="21"/>
+<wire x1="19.558" y1="0" x2="18.288" y2="0" width="0.127" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="MICRO-USB-5">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-10.16" width="0.254" layer="94"/>
+<text x="0.762" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<pin name="VBUS" x="-7.62" y="5.08" visible="pin" length="short" direction="pas"/>
+<pin name="DM" x="-7.62" y="2.54" visible="pin" length="short" direction="pas"/>
+<pin name="DP" x="-7.62" y="0" visible="pin" length="short" direction="pas"/>
+<pin name="ID" x="-7.62" y="-2.54" visible="pin" length="short" direction="pas"/>
+<pin name="GND" x="-7.62" y="-5.08" visible="pin" length="short" direction="pas"/>
+<wire x1="7.62" y1="7.62" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-10.16" x2="7.62" y2="-10.16" width="0.254" layer="94"/>
+<pin name="SHIELD" x="-7.62" y="-7.62" visible="pin" length="short" direction="pas"/>
+<text x="0.762" y="-12.192" size="1.27" layer="95" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="POGO-PIN">
+<wire x1="0" y1="0.254" x2="4.064" y2="0.254" width="0.254" layer="94"/>
+<wire x1="4.064" y1="0.254" x2="4.318" y2="0" width="0.254" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<text x="6.096" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<wire x1="4.318" y1="0" x2="4.064" y2="-0.254" width="0.254" layer="94"/>
+<wire x1="0" y1="-0.254" x2="4.064" y2="-0.254" width="0.254" layer="94"/>
+<wire x1="0" y1="0.254" x2="0" y2="-0.254" width="0.254" layer="94"/>
+<wire x1="4.318" y1="0" x2="5.588" y2="0" width="0.254" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="USB-B-MICRO" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="MICRO-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMT" package="USB-B-MICRO-SMT-SHELL-TH">
+<connects>
+<connect gate="G$1" pin="DM" pad="2"/>
+<connect gate="G$1" pin="DP" pad="3"/>
+<connect gate="G$1" pin="GND" pad="5"/>
+<connect gate="G$1" pin="ID" pad="4"/>
+<connect gate="G$1" pin="SHIELD" pad="M1 M2 M3 M4" route="any"/>
+<connect gate="G$1" pin="VBUS" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="POGO-PIN" prefix="J">
+<gates>
+<gate name="G$1" symbol="POGO-PIN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SMD" package="POGO-PIN">
+<connects>
+<connect gate="G$1" pin="1" pad="1 2" route="any"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="sup"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="sup" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pwr" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="in"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.635MM">
+<smd name="1" x="0" y="0" dx="0.635" dy="0.635" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-0.5MM">
+<smd name="1" x="0" y="0" dx="0.5" dy="0.5" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-1.27MM-TH">
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<pad name="1" x="0" y="0" drill="0.762" diameter="1.27"/>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.635MM" package="TP-0.635MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0.5MM" package="TP-0.5MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1.27MM-TH" package="TP-1.27MM-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-0.254" size="0.508" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="IC2" library="ataradov_mcu" deviceset="ATSAMD11C" device=""/>
+<part name="P_4" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_8" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="IC1" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_3" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_5" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="R1" library="ataradov_rlc" deviceset="R" device="-0603" value="10K"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603" value="ORANGE"/>
+<part name="P_10" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="J1" library="ataradov_conn" deviceset="USB-B-MICRO" device="-SMT"/>
+<part name="J4" library="ataradov_conn" deviceset="POGO-PIN" device="-SMD"/>
+<part name="J2" library="ataradov_conn" deviceset="POGO-PIN" device="-SMD"/>
+<part name="J3" library="ataradov_conn" deviceset="POGO-PIN" device="-SMD"/>
+<part name="J5" library="ataradov_conn" deviceset="POGO-PIN" device="-SMD"/>
+<part name="P_12" library="ataradov_pwr" deviceset="GND" device=""/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="127" y2="101.6" columns="8" rows="5" layer="97"/>
+<text x="111.76" y="83.82" size="1.778" layer="97" align="bottom-center">Program</text>
+<text x="111.76" y="60.96" size="1.778" layer="97" align="bottom-center">Target</text>
+<text x="22.86" y="7.62" size="1.778" layer="97">Copyright (c) 2021, Alex Taradov &lt;alex@taradov.com&gt;
+
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+</plain>
+<instances>
+<instance part="IC2" gate="G$1" x="38.1" y="71.12"/>
+<instance part="P_4" gate="1" x="43.18" y="38.1"/>
+<instance part="P_6" gate="1" x="58.42" y="83.82"/>
+<instance part="P_9" gate="1" x="71.12" y="58.42"/>
+<instance part="P_7" gate="1" x="58.42" y="58.42"/>
+<instance part="P_8" gate="1" x="71.12" y="78.74"/>
+<instance part="P_1" gate="1" x="15.24" y="38.1"/>
+<instance part="C1" gate="G$1" x="15.24" y="27.94" rot="R90"/>
+<instance part="C2" gate="G$1" x="43.18" y="27.94" rot="R90"/>
+<instance part="IC1" gate="G$1" x="27.94" y="30.48"/>
+<instance part="P_3" gate="1" x="27.94" y="22.86"/>
+<instance part="P_5" gate="1" x="43.18" y="22.86"/>
+<instance part="P_2" gate="1" x="15.24" y="22.86"/>
+<instance part="P_11" gate="1" x="109.22" y="71.12"/>
+<instance part="R1" gate="G$1" x="73.66" y="30.48"/>
+<instance part="TP3" gate="G$1" x="109.22" y="76.2"/>
+<instance part="TP1" gate="G$1" x="109.22" y="81.28"/>
+<instance part="TP2" gate="G$1" x="109.22" y="78.74"/>
+<instance part="TP4" gate="G$1" x="109.22" y="73.66"/>
+<instance part="LED1" gate="G$1" x="83.82" y="30.48" rot="MR270"/>
+<instance part="P_10" gate="1" x="91.44" y="27.94"/>
+<instance part="J1" gate="G$1" x="81.28" y="68.58"/>
+<instance part="J4" gate="G$1" x="111.76" y="53.34"/>
+<instance part="J2" gate="G$1" x="111.76" y="58.42"/>
+<instance part="J3" gate="G$1" x="111.76" y="55.88"/>
+<instance part="J5" gate="G$1" x="111.76" y="50.8"/>
+<instance part="P_12" gate="1" x="109.22" y="48.26"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="N$1" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA24"/>
+<wire x1="55.88" y1="66.04" x2="71.12" y2="66.04" width="0.1524" layer="91"/>
+<wire x1="71.12" y1="66.04" x2="71.12" y2="71.12" width="0.1524" layer="91"/>
+<wire x1="71.12" y1="71.12" x2="73.66" y2="71.12" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="DM"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA25"/>
+<wire x1="55.88" y1="68.58" x2="73.66" y2="68.58" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="DP"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_9" gate="1" pin="GND"/>
+<wire x1="71.12" y1="60.96" x2="71.12" y2="63.5" width="0.1524" layer="91"/>
+<wire x1="71.12" y1="63.5" x2="73.66" y2="63.5" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<pinref part="P_3" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_2" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_5" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_7" gate="1" pin="GND"/>
+<wire x1="55.88" y1="71.12" x2="58.42" y2="71.12" width="0.1524" layer="91"/>
+<wire x1="58.42" y1="71.12" x2="58.42" y2="60.96" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="P_11" gate="1" pin="GND"/>
+<pinref part="TP4" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="P_10" gate="1" pin="GND"/>
+<wire x1="91.44" y1="30.48" x2="88.9" y2="30.48" width="0.1524" layer="91"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+</segment>
+<segment>
+<pinref part="J5" gate="G$1" pin="1"/>
+<pinref part="P_12" gate="1" pin="GND"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_8" gate="1" pin="V_USB"/>
+<wire x1="71.12" y1="76.2" x2="71.12" y2="73.66" width="0.1524" layer="91"/>
+<wire x1="71.12" y1="73.66" x2="73.66" y2="73.66" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="VBUS"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="EN"/>
+<pinref part="P_1" gate="1" pin="V_USB"/>
+<wire x1="17.78" y1="30.48" x2="15.24" y2="30.48" width="0.1524" layer="91"/>
+<pinref part="IC1" gate="G$1" pin="IN"/>
+<wire x1="15.24" y1="33.02" x2="15.24" y2="35.56" width="0.1524" layer="91"/>
+<wire x1="17.78" y1="33.02" x2="15.24" y2="33.02" width="0.1524" layer="91"/>
+<junction x="15.24" y="33.02"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="15.24" y1="33.02" x2="15.24" y2="30.48" width="0.1524" layer="91"/>
+<junction x="15.24" y="30.48"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="OUT"/>
+<wire x1="38.1" y1="33.02" x2="43.18" y2="33.02" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="43.18" y1="30.48" x2="43.18" y2="33.02" width="0.1524" layer="91"/>
+<junction x="43.18" y="33.02"/>
+<pinref part="P_4" gate="1" pin="+3V3"/>
+<wire x1="43.18" y1="35.56" x2="43.18" y2="33.02" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="VDD"/>
+<pinref part="P_6" gate="1" pin="+3V3"/>
+<wire x1="55.88" y1="73.66" x2="58.42" y2="73.66" width="0.1524" layer="91"/>
+<wire x1="58.42" y1="73.66" x2="58.42" y2="81.28" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA31/SIO"/>
+<wire x1="55.88" y1="63.5" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+<label x="60.96" y="63.5" size="1.27" layer="95"/>
+</segment>
+<segment>
+<wire x1="109.22" y1="76.2" x2="106.68" y2="76.2" width="0.1524" layer="91"/>
+<label x="106.68" y="76.2" size="1.27" layer="95" rot="MR0"/>
+<pinref part="TP3" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="LED" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA04"/>
+<wire x1="55.88" y1="78.74" x2="60.96" y2="78.74" width="0.1524" layer="91"/>
+<label x="60.96" y="78.74" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="R1" gate="G$1" pin="1"/>
+<wire x1="68.58" y1="30.48" x2="66.04" y2="30.48" width="0.1524" layer="91"/>
+<label x="66.04" y="30.48" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA30/SCK"/>
+<wire x1="20.32" y1="63.5" x2="17.78" y2="63.5" width="0.1524" layer="91"/>
+<label x="17.78" y="63.5" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="106.68" y="81.28" size="1.27" layer="95" rot="MR0"/>
+<wire x1="109.22" y1="81.28" x2="106.68" y2="81.28" width="0.1524" layer="91"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA28/RST"/>
+<wire x1="20.32" y1="66.04" x2="17.78" y2="66.04" width="0.1524" layer="91"/>
+<label x="17.78" y="66.04" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<label x="106.68" y="78.74" size="1.27" layer="95" rot="MR0"/>
+<wire x1="109.22" y1="78.74" x2="106.68" y2="78.74" width="0.1524" layer="91"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="T_SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA14"/>
+<wire x1="17.78" y1="71.12" x2="20.32" y2="71.12" width="0.1524" layer="91"/>
+<label x="17.78" y="71.12" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="106.68" y1="58.42" x2="109.22" y2="58.42" width="0.1524" layer="91"/>
+<label x="106.68" y="58.42" size="1.27" layer="95" rot="MR0"/>
+<pinref part="J2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="T_SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA15"/>
+<wire x1="20.32" y1="68.58" x2="17.78" y2="68.58" width="0.1524" layer="91"/>
+<label x="17.78" y="68.58" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="106.68" y1="53.34" x2="109.22" y2="53.34" width="0.1524" layer="91"/>
+<label x="106.68" y="53.34" size="1.27" layer="95" rot="MR0"/>
+<pinref part="J4" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<pinref part="R1" gate="G$1" pin="2"/>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="81.28" y1="30.48" x2="78.74" y2="30.48" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="T_RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA5"/>
+<wire x1="20.32" y1="78.74" x2="17.78" y2="78.74" width="0.1524" layer="91"/>
+<label x="17.78" y="78.74" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="106.68" y1="55.88" x2="109.22" y2="55.88" width="0.1524" layer="91"/>
+<label x="106.68" y="55.88" size="1.27" layer="95" rot="MR0"/>
+<pinref part="J3" gate="G$1" pin="1"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

+ 764 - 0
dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini.brd

@@ -0,0 +1,764 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="17.45" y2="0" width="0.1524" layer="20"/>
+<wire x1="17.45" y1="0" x2="17.45" y2="12.182" width="0.1524" layer="20"/>
+<wire x1="17.45" y1="12.182" x2="0" y2="12.182" width="0.1524" layer="20"/>
+<wire x1="0" y1="12.182" x2="0" y2="0" width="0.1524" layer="20"/>
+<circle x="15.748" y="9.906" radius="1.143" width="0.3048" layer="27"/>
+<text x="12.7" y="0.508" size="0.762" layer="28" font="vector" rot="MR0" align="bottom-center">1/26/17</text>
+<text x="4.572" y="10.16" size="1.27" layer="28" font="vector" rot="MR0" align="bottom-center">AT</text>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
+<pad name="1" x="0" y="0" drill="1.016" shape="octagon"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="con-cypressindustries">
+<description>&lt;b&gt;Connectors from Cypress Industries&lt;/b&gt;&lt;p&gt;
+www.cypressindustries.com&lt;br&gt;
+&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
+<packages>
+<package name="32005-201">
+<description>&lt;b&gt;MINI USB-B R/A SMT W/ REAR&lt;/b&gt;&lt;p&gt;
+Source: http://www.cypressindustries.com/pdf/32005-201.pdf</description>
+<wire x1="-5.9182" y1="3.8416" x2="-3.6879" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="3.8416" x2="-3.6879" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="4.8799" x2="-3.3245" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.8799" x2="-3.3245" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.4646" x2="-2.7015" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.4646" x2="-2.7015" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.8799" x2="-2.3093" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="4.8799" x2="-2.3093" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-1.5825" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="3.8416" x2="0.519" y2="4.0492" width="0.1016" layer="21" curve="-90"/>
+<wire x1="0.519" y1="4.0492" x2="0.519" y2="4.205" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="4.205" x2="2.907" y2="4.205" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="4.205" x2="3.4781" y2="3.6339" width="0.1016" layer="51" curve="-90"/>
+<wire x1="-5.9182" y1="-3.8415" x2="-5.9182" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-5.9182" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.9591" x2="-4.5685" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="2.7514" x2="-4.828" y2="2.5438" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.828" y1="2.5438" x2="-4.828" y2="1.9727" width="0.1016" layer="21" curve="34.099487"/>
+<wire x1="-4.828" y1="1.9727" x2="-4.5685" y2="1.7651" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.5685" y1="1.7651" x2="-1.8171" y2="1.5055" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.5055" x2="-1.8171" y2="1.7132" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.7132" x2="-4.2051" y2="1.9727" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="1.9727" x2="-4.2051" y2="2.4919" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="2.4919" x2="-1.8171" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.7514" x2="-1.8171" y2="2.9591" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="3.0627" y2="3.5821" width="0.1016" layer="51" curve="-90"/>
+<wire x1="3.0627" y1="3.5821" x2="3.0627" y2="3.011" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="3.011" x2="3.4261" y2="3.011" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="4.2569" x2="1.713" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="4.8799" x2="2.1283" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.8799" x2="2.1283" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.4646" x2="2.6474" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.4646" x2="2.6474" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.8799" x2="3.0627" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="4.8799" x2="3.0627" y2="4.2569" width="0.1016" layer="51"/>
+<wire x1="0.5709" y1="1.7651" x2="0.5709" y2="-1.765" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="-1.8169" x2="1.0381" y2="1.817" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="1.817" x2="0.8305" y2="2.0246" width="0.1016" layer="21" curve="90.055225"/>
+<wire x1="0.8305" y1="2.0246" x2="0.8304" y2="2.0246" width="0.1016" layer="21"/>
+<wire x1="0.8304" y1="2.0246" x2="0.5709" y2="1.7651" width="0.1016" layer="21" curve="89.955858"/>
+<wire x1="1.5573" y1="-2.0246" x2="3.4261" y2="-2.0246" width="0.1016" layer="21"/>
+<wire x1="3.0627" y1="-1.9726" x2="3.0627" y2="1.9727" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="1.2459" x2="-0.5192" y2="1.0383" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="1.0383" x2="-0.3116" y2="0.8306" width="0.1016" layer="21" curve="-83.771817"/>
+<wire x1="-4.5685" y1="1.2459" x2="-4.7761" y2="1.0383" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.7761" y1="1.0383" x2="-4.7761" y2="1.0382" width="0.1016" layer="21"/>
+<wire x1="-4.7761" y1="1.0382" x2="-4.5685" y2="0.8306" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.5685" y1="0.8306" x2="-1.1422" y2="0.623" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-3.6879" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-3.8414" x2="-3.6879" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-4.8797" x2="-3.3245" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.8797" x2="-3.3245" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.4644" x2="-2.7015" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.4644" x2="-2.7015" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.8797" x2="-2.3093" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-4.8797" x2="-2.3093" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-3.8414" x2="2.8032" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="-3.8414" x2="0.519" y2="-4.049" width="0.1016" layer="21" curve="90"/>
+<wire x1="0.519" y1="-4.049" x2="0.519" y2="-4.2048" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="-4.2048" x2="2.907" y2="-4.2048" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="-4.2048" x2="3.4781" y2="-3.6337" width="0.1016" layer="51" curve="90.020069"/>
+<wire x1="-1.8171" y1="-2.9589" x2="-4.5685" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-2.7512" x2="-4.828" y2="-2.5436" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.828" y1="-2.5436" x2="-4.828" y2="-1.9725" width="0.1016" layer="21" curve="-34.099487"/>
+<wire x1="-4.828" y1="-1.9725" x2="-4.5685" y2="-1.7649" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.5685" y1="-1.7649" x2="-1.8171" y2="-1.5053" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.5053" x2="-1.8171" y2="-1.713" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.713" x2="-4.2051" y2="-1.9725" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-1.9725" x2="-4.2051" y2="-2.4917" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-2.4917" x2="-1.8171" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-2.7512" x2="-1.8171" y2="-2.9589" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="-3.8414" x2="3.0627" y2="-3.5819" width="0.1016" layer="51" curve="90.044176"/>
+<wire x1="3.0627" y1="-3.5819" x2="3.0627" y2="-3.0108" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-3.0108" x2="3.4261" y2="-3.0108" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="-4.2567" x2="1.713" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="-4.8797" x2="2.1283" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.8797" x2="2.1283" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.4644" x2="2.6474" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.4644" x2="2.6474" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.8797" x2="3.0627" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-4.8797" x2="3.0627" y2="-4.2567" width="0.1016" layer="51"/>
+<wire x1="1.0381" y1="-1.8168" x2="0.8305" y2="-2.0244" width="0.1016" layer="21" curve="-90.055225"/>
+<wire x1="0.8304" y1="-2.0244" x2="0.5709" y2="-1.7649" width="0.1016" layer="21" curve="-89.867677"/>
+<wire x1="1.5573" y1="-1.9725" x2="1.5573" y2="2.0248" width="0.1016" layer="51"/>
+<wire x1="1.5573" y1="2.0248" x2="3.4261" y2="2.0248" width="0.1016" layer="21"/>
+<wire x1="-4.5684" y1="-1.2457" x2="-0.5192" y2="-1.0381" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="-1.0381" x2="-0.3116" y2="-0.8304" width="0.1016" layer="21" curve="83.722654"/>
+<wire x1="-0.3116" y1="-0.8304" x2="-0.3116" y2="0.8307" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-1.2457" x2="-4.7761" y2="-1.0381" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.7761" y1="-1.038" x2="-4.5685" y2="-0.8304" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.5685" y1="-0.8304" x2="-1.1422" y2="-0.6228" width="0.1016" layer="21"/>
+<wire x1="-1.1422" y1="-0.6228" x2="-1.1422" y2="0.6232" width="0.1016" layer="21"/>
+<wire x1="-1.5826" y1="-3.8414" x2="0.7267" y2="-3.8415" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-4.4146" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-4.4147" y2="3.8415" width="0.1016" layer="21"/>
+<wire x1="-2.3093" y1="3.8416" x2="0.7265" y2="3.8415" width="0.1016" layer="51"/>
+<wire x1="3.4781" y1="-2.0245" x2="3.4781" y2="-3.0109" width="0.1016" layer="21"/>
+<wire x1="3.4781" y1="3.634" x2="3.478" y2="-3.0109" width="0.1016" layer="51"/>
+<wire x1="3.4782" y1="3.011" x2="3.4782" y2="2.0246" width="0.1016" layer="21"/>
+<smd name="M1" x="-3" y="-4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M2" x="-3" y="4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M4" x="2.9" y="-4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="M3" x="2.9" y="4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="1" x="3" y="1.6" dx="3.1" dy="0.5" layer="1"/>
+<smd name="2" x="3" y="0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="3" x="3" y="0" dx="3.1" dy="0.5" layer="1"/>
+<smd name="4" x="3" y="-0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="5" x="3" y="-1.6" dx="3.1" dy="0.5" layer="1"/>
+<text x="-4.445" y="5.715" size="1.27" layer="25">&gt;NAME</text>
+<text x="-4.445" y="-6.985" size="1.27" layer="27">&gt;VALUE</text>
+<hole x="0" y="2.2" drill="0.9"/>
+<hole x="0" y="-2.2" drill="0.9"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="OSHPark">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="6mil"/>
+<param name="mdSmdVia" value="6mil"/>
+<param name="mdSmdSmd" value="6mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="15mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="6mil"/>
+<param name="msDrill" value="13mil"/>
+<param name="msMicroVia" value="13mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="0mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="10mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="IC2" library="ataradov_mcu" package="SO-14" value="ATSAMD11C" x="4.826" y="7.366" smashed="yes" rot="MR270">
+<attribute name="NAME" x="4.826" y="12.192" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="J5" library="ataradov_conn" package="PIN-TH" value="SIO" x="15.748" y="9.906" smashed="yes">
+<attribute name="NAME" x="15.748" y="11.43" size="1.27" layer="25" font="vector" align="bottom-center"/>
+<attribute name="VALUE" x="14.224" y="9.906" size="0.762" layer="27" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="J6" library="ataradov_conn" package="PIN-TH" value="SCK" x="15.748" y="7.366" smashed="yes">
+<attribute name="NAME" x="15.748" y="8.89" size="1.27" layer="25" font="vector" align="bottom-center"/>
+<attribute name="VALUE" x="14.224" y="7.366" size="0.762" layer="27" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="J7" library="ataradov_conn" package="PIN-TH" value="RST" x="15.748" y="4.826" smashed="yes">
+<attribute name="NAME" x="15.748" y="6.35" size="1.27" layer="25" font="vector" align="bottom-center"/>
+<attribute name="VALUE" x="14.224" y="4.826" size="0.762" layer="27" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="J8" library="ataradov_conn" package="PIN-TH" value="GND" x="15.748" y="2.286" smashed="yes">
+<attribute name="NAME" x="15.748" y="3.81" size="1.27" layer="25" font="vector" align="bottom-center"/>
+<attribute name="VALUE" x="14.224" y="2.286" size="0.762" layer="27" font="vector" rot="R90" align="bottom-center"/>
+</element>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="11.43" y="10.922" rot="R180"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="11.43" y="4.826" smashed="yes">
+<attribute name="NAME" x="11.43" y="5.842" size="1.27" layer="25" font="vector" align="bottom-center"/>
+</element>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="330" x="11.43" y="10.922" rot="MR180"/>
+<element name="R3" library="ataradov_rlc" package="SMD0603" value="330" x="11.43" y="9.398" rot="MR180"/>
+<element name="R4" library="ataradov_rlc" package="SMD0603" value="330" x="11.43" y="7.874" rot="MR180"/>
+<element name="IC1" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="11.43" y="7.874" smashed="yes" rot="R180">
+<attribute name="NAME" x="11.43" y="5.588" size="1.27" layer="25" font="vector" rot="R180" align="bottom-center"/>
+</element>
+<element name="R5" library="ataradov_rlc" package="SMD0603" value="100K" x="11.43" y="4.826" rot="MR180"/>
+<element name="R6" library="ataradov_rlc" package="SMD0603" value="100K" x="11.43" y="3.302" rot="MR180"/>
+<element name="X1" library="con-cypressindustries" package="32005-201" value="MINI-USB-32005-201" x="4.826" y="6.096" smashed="yes">
+<attribute name="MF" value="" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="MPN" value="" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="OC_FARNELL" value="unknown" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="OC_NEWARK" value="unknown" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="NAME" x="0.381" y="11.811" size="1.27" layer="25"/>
+</element>
+<element name="R7" library="ataradov_rlc" package="SMD0603" value="330" x="11.43" y="6.35" rot="MR180"/>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="4.318" y="1.524" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="9.398" y="1.524" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="6.858" y="1.524" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="1.778" y="1.524" rot="MR0"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="" x="11.43" y="3.302"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC1" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="IC2" pad="11"/>
+<contactref element="J8" pad="1"/>
+<contactref element="X1" pad="5"/>
+<contactref element="TP4" pad="1"/>
+<wire x1="2.226" y1="7.366" x2="4.064" y2="7.366" width="0.254" layer="16"/>
+<wire x1="4.064" y1="7.366" x2="4.318" y2="7.112" width="0.254" layer="16"/>
+<via x="4.318" y="7.112" extent="1-16" drill="0.508" diameter="0.8636"/>
+<wire x1="2.226" y1="7.366" x2="1.016" y2="7.366" width="0.254" layer="16"/>
+<wire x1="1.016" y1="7.366" x2="0.762" y2="7.112" width="0.254" layer="16"/>
+<wire x1="0.762" y1="7.112" x2="0.762" y2="2.54" width="0.254" layer="16"/>
+<wire x1="0.762" y1="2.54" x2="1.778" y2="1.524" width="0.254" layer="16"/>
+<wire x1="4.318" y1="7.112" x2="3.81" y2="6.604" width="0.254" layer="1"/>
+<wire x1="3.81" y1="6.604" x2="3.81" y2="5.588" width="0.254" layer="1"/>
+<wire x1="3.81" y1="5.588" x2="4.318" y2="5.08" width="0.254" layer="1"/>
+<wire x1="4.318" y1="5.08" x2="5.334" y2="5.08" width="0.254" layer="1"/>
+<wire x1="5.334" y1="5.08" x2="5.918" y2="4.496" width="0.254" layer="1"/>
+<wire x1="7.826" y1="4.496" x2="5.918" y2="4.496" width="0.254" layer="1"/>
+<wire x1="11.43" y1="9.174" x2="11.43" y2="7.874" width="0.254" layer="1"/>
+<wire x1="11.43" y1="7.874" x2="11.43" y2="5.626" width="0.254" layer="1"/>
+<wire x1="11.43" y1="5.626" x2="10.63" y2="4.826" width="0.254" layer="1"/>
+<wire x1="7.826" y1="4.496" x2="9.83" y2="4.496" width="0.254" layer="1"/>
+<wire x1="9.83" y1="4.496" x2="10.16" y2="4.826" width="0.254" layer="1"/>
+<wire x1="10.16" y1="4.826" x2="10.63" y2="4.826" width="0.254" layer="1"/>
+<wire x1="12.23" y1="10.922" x2="12.954" y2="10.922" width="0.254" layer="1"/>
+<wire x1="12.954" y1="10.922" x2="13.208" y2="10.668" width="0.254" layer="1"/>
+<wire x1="13.208" y1="7.874" x2="11.43" y2="7.874" width="0.254" layer="1"/>
+<wire x1="15.748" y1="2.286" x2="13.716" y2="2.286" width="0.254" layer="1"/>
+<wire x1="13.716" y1="2.286" x2="13.208" y2="2.794" width="0.254" layer="1"/>
+<wire x1="13.208" y1="2.794" x2="13.208" y2="7.874" width="0.254" layer="1"/>
+<wire x1="13.208" y1="7.874" x2="13.208" y2="10.668" width="0.254" layer="1"/>
+</signal>
+<signal name="N$1">
+<contactref element="IC2" pad="9"/>
+<contactref element="X1" pad="2"/>
+<wire x1="7.826" y1="6.896" x2="5.88" y2="6.896" width="0.254" layer="1"/>
+<wire x1="5.88" y1="6.896" x2="5.588" y2="7.112" width="0.254" layer="1"/>
+<via x="5.588" y="7.112" extent="1-16" drill="0.508" diameter="0.8636"/>
+<wire x1="5.588" y1="7.112" x2="5.588" y2="5.588" width="0.254" layer="16"/>
+<wire x1="5.588" y1="5.588" x2="5.08" y2="5.08" width="0.254" layer="16"/>
+<wire x1="5.08" y1="5.08" x2="4.064" y2="5.08" width="0.254" layer="16"/>
+<wire x1="4.064" y1="5.08" x2="3.81" y2="4.826" width="0.254" layer="16"/>
+<wire x1="3.81" y1="4.826" x2="2.226" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="N$2">
+<contactref element="IC2" pad="10"/>
+<contactref element="X1" pad="3"/>
+<wire x1="7.826" y1="6.096" x2="4.826" y2="6.096" width="0.254" layer="1"/>
+<via x="4.826" y="6.096" extent="1-16" drill="0.508" diameter="0.8636"/>
+<wire x1="4.826" y1="6.096" x2="2.226" y2="6.096" width="0.254" layer="16"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC1" pad="3"/>
+<contactref element="IC1" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="X1" pad="1"/>
+<wire x1="10.48" y1="9.174" x2="10.48" y2="10.16" width="0.254" layer="1"/>
+<wire x1="10.48" y1="10.16" x2="10.48" y2="10.772" width="0.254" layer="1"/>
+<wire x1="10.48" y1="10.772" x2="10.63" y2="10.922" width="0.254" layer="1"/>
+<wire x1="12.38" y1="9.174" x2="12.38" y2="9.972" width="0.254" layer="1"/>
+<wire x1="12.38" y1="9.972" x2="12.192" y2="10.16" width="0.254" layer="1"/>
+<wire x1="12.192" y1="10.16" x2="10.48" y2="10.16" width="0.254" layer="1"/>
+<wire x1="8.128" y1="8.636" x2="7.874" y2="8.382" width="0.254" layer="1"/>
+<wire x1="7.874" y1="8.382" x2="7.874" y2="7.744" width="0.254" layer="1"/>
+<wire x1="7.874" y1="7.744" x2="7.826" y2="7.696" width="0.254" layer="1"/>
+<wire x1="8.128" y1="8.636" x2="9.652" y2="8.636" width="0.254" layer="1"/>
+<wire x1="9.652" y1="8.636" x2="10.19" y2="9.174" width="0.254" layer="1"/>
+<wire x1="10.19" y1="9.174" x2="10.48" y2="9.174" width="0.254" layer="1"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC1" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC2" pad="12"/>
+<contactref element="R6" pad="2"/>
+<contactref element="R5" pad="2"/>
+<wire x1="2.226" y1="8.636" x2="3.556" y2="8.636" width="0.254" layer="16"/>
+<wire x1="3.556" y1="8.636" x2="4.064" y2="9.144" width="0.254" layer="16"/>
+<wire x1="4.064" y1="9.144" x2="4.064" y2="9.398" width="0.254" layer="16"/>
+<via x="4.064" y="9.398" extent="1-16" drill="0.508" diameter="0.8636"/>
+<wire x1="4.064" y1="9.398" x2="3.048" y2="8.382" width="0.254" layer="1"/>
+<wire x1="3.048" y1="8.382" x2="3.048" y2="3.81" width="0.254" layer="1"/>
+<wire x1="3.048" y1="3.81" x2="4.064" y2="2.794" width="0.254" layer="1"/>
+<wire x1="4.064" y1="2.794" x2="5.588" y2="2.794" width="0.254" layer="1"/>
+<wire x1="5.588" y1="2.794" x2="6.096" y2="3.302" width="0.254" layer="1"/>
+<wire x1="12.23" y1="4.826" x2="12.38" y2="4.976" width="0.254" layer="1"/>
+<wire x1="12.38" y1="4.976" x2="12.38" y2="6.574" width="0.254" layer="1"/>
+<wire x1="12.23" y1="3.302" x2="12.23" y2="4.826" width="0.254" layer="16"/>
+<via x="11.43" y="2.032" extent="1-16" drill="0.508" diameter="0.8636"/>
+<wire x1="11.43" y1="2.032" x2="11.43" y2="2.502" width="0.254" layer="16"/>
+<wire x1="11.43" y1="2.502" x2="12.23" y2="3.302" width="0.254" layer="16"/>
+<contactref element="LED1" pad="1"/>
+<wire x1="10.63" y1="3.302" x2="6.096" y2="3.302" width="0.254" layer="1"/>
+<wire x1="10.63" y1="3.302" x2="10.63" y2="2.832" width="0.254" layer="1"/>
+<wire x1="10.63" y1="2.832" x2="10.668" y2="2.794" width="0.254" layer="1"/>
+<wire x1="10.668" y1="2.794" x2="11.43" y2="2.032" width="0.254" layer="1"/>
+<wire x1="12.23" y1="4.826" x2="12.192" y2="4.826" width="0.254" layer="1"/>
+<wire x1="12.192" y1="4.826" x2="10.668" y2="3.302" width="0.254" layer="1"/>
+<wire x1="10.668" y1="3.302" x2="10.668" y2="2.794" width="0.254" layer="1"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="IC2" pad="8"/>
+<contactref element="TP1" pad="1"/>
+<wire x1="2.226" y1="3.556" x2="3.556" y2="3.556" width="0.254" layer="16"/>
+<wire x1="3.556" y1="3.556" x2="4.318" y2="2.794" width="0.254" layer="16"/>
+<wire x1="4.318" y1="2.794" x2="4.318" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="PA02">
+<contactref element="IC2" pad="13"/>
+</signal>
+<signal name="PA04">
+<contactref element="IC2" pad="14"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="IC2" pad="7"/>
+<contactref element="R6" pad="1"/>
+<contactref element="TP2" pad="1"/>
+<wire x1="7.366" y1="3.496" x2="7.426" y2="3.556" width="0.254" layer="16"/>
+<wire x1="7.426" y1="3.556" x2="9.144" y2="3.556" width="0.254" layer="16"/>
+<wire x1="9.144" y1="3.556" x2="9.398" y2="3.302" width="0.254" layer="16"/>
+<wire x1="9.398" y1="3.302" x2="10.63" y2="3.302" width="0.254" layer="16"/>
+<wire x1="9.398" y1="1.524" x2="9.398" y2="3.302" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="IC2" pad="6"/>
+<contactref element="R5" pad="1"/>
+<contactref element="TP3" pad="1"/>
+<wire x1="7.426" y1="4.826" x2="6.096" y2="4.826" width="0.254" layer="16"/>
+<wire x1="6.096" y1="4.826" x2="5.842" y2="4.572" width="0.254" layer="16"/>
+<wire x1="5.842" y1="4.572" x2="5.842" y2="2.794" width="0.254" layer="16"/>
+<wire x1="5.842" y1="2.794" x2="6.096" y2="2.54" width="0.254" layer="16"/>
+<wire x1="6.096" y1="2.54" x2="6.604" y2="2.54" width="0.254" layer="16"/>
+<wire x1="6.604" y1="2.54" x2="6.858" y2="2.286" width="0.254" layer="16"/>
+<wire x1="6.858" y1="2.286" x2="6.858" y2="1.524" width="0.254" layer="16"/>
+<wire x1="7.426" y1="4.826" x2="10.63" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="PA15">
+<contactref element="IC2" pad="5"/>
+</signal>
+<signal name="PA14">
+<contactref element="IC2" pad="4"/>
+<contactref element="R7" pad="1"/>
+<wire x1="7.426" y1="7.366" x2="9.144" y2="7.366" width="0.254" layer="16"/>
+<wire x1="9.652" y1="6.35" x2="10.63" y2="6.35" width="0.254" layer="16"/>
+<wire x1="9.652" y1="6.35" x2="9.398" y2="6.604" width="0.254" layer="16"/>
+<wire x1="9.398" y1="6.604" x2="9.398" y2="7.112" width="0.254" layer="16"/>
+<wire x1="9.398" y1="7.112" x2="9.144" y2="7.366" width="0.254" layer="16"/>
+</signal>
+<signal name="PA09">
+<contactref element="IC2" pad="3"/>
+<contactref element="R4" pad="1"/>
+<wire x1="7.426" y1="8.636" x2="9.144" y2="8.636" width="0.254" layer="16"/>
+<wire x1="9.144" y1="8.636" x2="9.906" y2="7.874" width="0.254" layer="16"/>
+<wire x1="9.906" y1="7.874" x2="10.63" y2="7.874" width="0.254" layer="16"/>
+</signal>
+<signal name="PA08">
+<contactref element="IC2" pad="2"/>
+<contactref element="R3" pad="1"/>
+<wire x1="7.426" y1="9.906" x2="9.144" y2="9.906" width="0.254" layer="16"/>
+<wire x1="9.144" y1="9.906" x2="9.652" y2="9.398" width="0.254" layer="16"/>
+<wire x1="9.652" y1="9.398" x2="10.63" y2="9.398" width="0.254" layer="16"/>
+</signal>
+<signal name="PA05">
+<contactref element="IC2" pad="1"/>
+<contactref element="R2" pad="1"/>
+<wire x1="7.426" y1="11.176" x2="9.144" y2="11.176" width="0.254" layer="16"/>
+<wire x1="9.144" y1="11.176" x2="9.398" y2="10.922" width="0.254" layer="16"/>
+<wire x1="9.398" y1="10.922" x2="10.63" y2="10.922" width="0.254" layer="16"/>
+</signal>
+<signal name="N$3">
+<contactref element="R2" pad="2"/>
+<contactref element="J5" pad="1"/>
+<wire x1="12.23" y1="10.922" x2="14.732" y2="10.922" width="0.254" layer="16"/>
+<wire x1="14.732" y1="10.922" x2="15.748" y2="9.906" width="0.254" layer="16"/>
+</signal>
+<signal name="N$4">
+<contactref element="R3" pad="2"/>
+<contactref element="J6" pad="1"/>
+<wire x1="12.23" y1="9.398" x2="13.716" y2="9.398" width="0.254" layer="16"/>
+<wire x1="13.716" y1="9.398" x2="15.748" y2="7.366" width="0.254" layer="16"/>
+</signal>
+<signal name="N$5">
+<contactref element="R4" pad="2"/>
+<contactref element="J7" pad="1"/>
+<wire x1="12.23" y1="7.874" x2="13.716" y2="7.874" width="0.254" layer="16"/>
+<wire x1="13.716" y1="7.874" x2="14.478" y2="7.112" width="0.254" layer="16"/>
+<wire x1="14.478" y1="7.112" x2="14.478" y2="6.096" width="0.254" layer="16"/>
+<wire x1="14.478" y1="6.096" x2="15.748" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="N$6">
+<contactref element="R7" pad="2"/>
+<wire x1="12.23" y1="6.35" x2="12.954" y2="6.35" width="0.254" layer="16"/>
+<wire x1="12.954" y1="6.35" x2="13.208" y2="6.096" width="0.254" layer="16"/>
+<wire x1="13.208" y1="6.096" x2="13.208" y2="2.286" width="0.254" layer="16"/>
+<wire x1="13.208" y1="2.286" x2="12.954" y2="2.032" width="0.254" layer="16"/>
+<wire x1="12.954" y1="2.032" x2="12.7" y2="2.032" width="0.254" layer="16"/>
+<via x="12.7" y="2.032" extent="1-16" drill="0.508" diameter="0.8636"/>
+<contactref element="LED1" pad="2"/>
+<wire x1="12.23" y1="3.302" x2="12.23" y2="2.502" width="0.254" layer="1"/>
+<wire x1="12.23" y1="2.502" x2="12.7" y2="2.032" width="0.254" layer="1"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini.pdf


+ 1341 - 0
dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini.sch

@@ -0,0 +1,1341 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXC">
+<description>Atmel SAM D09C/D10C/D11C Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="10.16" x2="12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-10.16" x2="-12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-10.16" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="-17.78" y="-5.08" length="middle"/>
+<pin name="PA8" x="-17.78" y="5.08" length="middle"/>
+<pin name="PA9" x="-17.78" y="2.54" length="middle"/>
+<pin name="PA14" x="-17.78" y="0" length="middle"/>
+<pin name="PA15" x="-17.78" y="-2.54" length="middle"/>
+<pin name="PA5" x="-17.78" y="7.62" length="middle"/>
+<pin name="PA04" x="17.78" y="7.62" length="middle" rot="R180"/>
+<pin name="PA02" x="17.78" y="5.08" length="middle" rot="R180"/>
+<text x="0" y="10.922" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-12.192" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="-17.78" y="-7.62" length="middle"/>
+<pin name="VDD" x="17.78" y="2.54" length="middle" rot="R180"/>
+<pin name="GND" x="17.78" y="0" length="middle" rot="R180"/>
+<pin name="PA25" x="17.78" y="-2.54" length="middle" rot="R180"/>
+<pin name="PA24" x="17.78" y="-5.08" length="middle" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-7.62" length="middle" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11C" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXC" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="SO-14">
+<connects>
+<connect gate="G$1" pin="GND" pad="11"/>
+<connect gate="G$1" pin="PA02" pad="13"/>
+<connect gate="G$1" pin="PA04" pad="14"/>
+<connect gate="G$1" pin="PA14" pad="4"/>
+<connect gate="G$1" pin="PA15" pad="5"/>
+<connect gate="G$1" pin="PA24" pad="9"/>
+<connect gate="G$1" pin="PA25" pad="10"/>
+<connect gate="G$1" pin="PA28/RST" pad="6"/>
+<connect gate="G$1" pin="PA30/SCK" pad="7"/>
+<connect gate="G$1" pin="PA31/SIO" pad="8"/>
+<connect gate="G$1" pin="PA5" pad="1"/>
+<connect gate="G$1" pin="PA8" pad="2"/>
+<connect gate="G$1" pin="PA9" pad="3"/>
+<connect gate="G$1" pin="VDD" pad="12"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="PIN-TH">
+<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
+<pad name="1" x="0" y="0" drill="1.016" shape="octagon"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-2.794" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="CONN-SINGLE">
+<wire x1="-2.54" y1="0.762" x2="0.127" y2="0" width="0.254" layer="94"/>
+<wire x1="0.127" y1="0" x2="-2.4765" y2="-0.762" width="0.254" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<text x="1.27" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<text x="6.096" y="-0.508" size="1.27" layer="96">&gt;VALUE</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="CONN-SINGLE" prefix="J" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="CONN-SINGLE" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH" package="PIN-TH">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="sup"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="sup" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pwr" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="in"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="con-cypressindustries">
+<description>&lt;b&gt;Connectors from Cypress Industries&lt;/b&gt;&lt;p&gt;
+www.cypressindustries.com&lt;br&gt;
+&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
+<packages>
+<package name="32005-201">
+<description>&lt;b&gt;MINI USB-B R/A SMT W/ REAR&lt;/b&gt;&lt;p&gt;
+Source: http://www.cypressindustries.com/pdf/32005-201.pdf</description>
+<wire x1="-5.9182" y1="3.8416" x2="-3.6879" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="3.8416" x2="-3.6879" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="4.8799" x2="-3.3245" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.8799" x2="-3.3245" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.4646" x2="-2.7015" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.4646" x2="-2.7015" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.8799" x2="-2.3093" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="4.8799" x2="-2.3093" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-1.5825" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="3.8416" x2="0.519" y2="4.0492" width="0.1016" layer="21" curve="-90"/>
+<wire x1="0.519" y1="4.0492" x2="0.519" y2="4.205" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="4.205" x2="2.907" y2="4.205" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="4.205" x2="3.4781" y2="3.6339" width="0.1016" layer="51" curve="-90"/>
+<wire x1="-5.9182" y1="-3.8415" x2="-5.9182" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-5.9182" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.9591" x2="-4.5685" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="2.7514" x2="-4.828" y2="2.5438" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.828" y1="2.5438" x2="-4.828" y2="1.9727" width="0.1016" layer="21" curve="34.099487"/>
+<wire x1="-4.828" y1="1.9727" x2="-4.5685" y2="1.7651" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.5685" y1="1.7651" x2="-1.8171" y2="1.5055" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.5055" x2="-1.8171" y2="1.7132" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.7132" x2="-4.2051" y2="1.9727" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="1.9727" x2="-4.2051" y2="2.4919" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="2.4919" x2="-1.8171" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.7514" x2="-1.8171" y2="2.9591" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="3.0627" y2="3.5821" width="0.1016" layer="51" curve="-90"/>
+<wire x1="3.0627" y1="3.5821" x2="3.0627" y2="3.011" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="3.011" x2="3.4261" y2="3.011" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="4.2569" x2="1.713" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="4.8799" x2="2.1283" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.8799" x2="2.1283" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.4646" x2="2.6474" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.4646" x2="2.6474" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.8799" x2="3.0627" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="4.8799" x2="3.0627" y2="4.2569" width="0.1016" layer="51"/>
+<wire x1="0.5709" y1="1.7651" x2="0.5709" y2="-1.765" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="-1.8169" x2="1.0381" y2="1.817" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="1.817" x2="0.8305" y2="2.0246" width="0.1016" layer="21" curve="90.055225"/>
+<wire x1="0.8305" y1="2.0246" x2="0.8304" y2="2.0246" width="0.1016" layer="21"/>
+<wire x1="0.8304" y1="2.0246" x2="0.5709" y2="1.7651" width="0.1016" layer="21" curve="89.955858"/>
+<wire x1="1.5573" y1="-2.0246" x2="3.4261" y2="-2.0246" width="0.1016" layer="21"/>
+<wire x1="3.0627" y1="-1.9726" x2="3.0627" y2="1.9727" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="1.2459" x2="-0.5192" y2="1.0383" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="1.0383" x2="-0.3116" y2="0.8306" width="0.1016" layer="21" curve="-83.771817"/>
+<wire x1="-4.5685" y1="1.2459" x2="-4.7761" y2="1.0383" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.7761" y1="1.0383" x2="-4.7761" y2="1.0382" width="0.1016" layer="21"/>
+<wire x1="-4.7761" y1="1.0382" x2="-4.5685" y2="0.8306" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.5685" y1="0.8306" x2="-1.1422" y2="0.623" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-3.6879" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-3.8414" x2="-3.6879" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-4.8797" x2="-3.3245" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.8797" x2="-3.3245" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.4644" x2="-2.7015" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.4644" x2="-2.7015" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.8797" x2="-2.3093" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-4.8797" x2="-2.3093" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-3.8414" x2="2.8032" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="-3.8414" x2="0.519" y2="-4.049" width="0.1016" layer="21" curve="90"/>
+<wire x1="0.519" y1="-4.049" x2="0.519" y2="-4.2048" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="-4.2048" x2="2.907" y2="-4.2048" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="-4.2048" x2="3.4781" y2="-3.6337" width="0.1016" layer="51" curve="90.020069"/>
+<wire x1="-1.8171" y1="-2.9589" x2="-4.5685" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-2.7512" x2="-4.828" y2="-2.5436" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.828" y1="-2.5436" x2="-4.828" y2="-1.9725" width="0.1016" layer="21" curve="-34.099487"/>
+<wire x1="-4.828" y1="-1.9725" x2="-4.5685" y2="-1.7649" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.5685" y1="-1.7649" x2="-1.8171" y2="-1.5053" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.5053" x2="-1.8171" y2="-1.713" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.713" x2="-4.2051" y2="-1.9725" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-1.9725" x2="-4.2051" y2="-2.4917" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-2.4917" x2="-1.8171" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-2.7512" x2="-1.8171" y2="-2.9589" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="-3.8414" x2="3.0627" y2="-3.5819" width="0.1016" layer="51" curve="90.044176"/>
+<wire x1="3.0627" y1="-3.5819" x2="3.0627" y2="-3.0108" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-3.0108" x2="3.4261" y2="-3.0108" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="-4.2567" x2="1.713" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="-4.8797" x2="2.1283" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.8797" x2="2.1283" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.4644" x2="2.6474" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.4644" x2="2.6474" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.8797" x2="3.0627" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-4.8797" x2="3.0627" y2="-4.2567" width="0.1016" layer="51"/>
+<wire x1="1.0381" y1="-1.8168" x2="0.8305" y2="-2.0244" width="0.1016" layer="21" curve="-90.055225"/>
+<wire x1="0.8304" y1="-2.0244" x2="0.5709" y2="-1.7649" width="0.1016" layer="21" curve="-89.867677"/>
+<wire x1="1.5573" y1="-1.9725" x2="1.5573" y2="2.0248" width="0.1016" layer="51"/>
+<wire x1="1.5573" y1="2.0248" x2="3.4261" y2="2.0248" width="0.1016" layer="21"/>
+<wire x1="-4.5684" y1="-1.2457" x2="-0.5192" y2="-1.0381" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="-1.0381" x2="-0.3116" y2="-0.8304" width="0.1016" layer="21" curve="83.722654"/>
+<wire x1="-0.3116" y1="-0.8304" x2="-0.3116" y2="0.8307" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-1.2457" x2="-4.7761" y2="-1.0381" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.7761" y1="-1.038" x2="-4.5685" y2="-0.8304" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.5685" y1="-0.8304" x2="-1.1422" y2="-0.6228" width="0.1016" layer="21"/>
+<wire x1="-1.1422" y1="-0.6228" x2="-1.1422" y2="0.6232" width="0.1016" layer="21"/>
+<wire x1="-1.5826" y1="-3.8414" x2="0.7267" y2="-3.8415" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-4.4146" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-4.4147" y2="3.8415" width="0.1016" layer="21"/>
+<wire x1="-2.3093" y1="3.8416" x2="0.7265" y2="3.8415" width="0.1016" layer="51"/>
+<wire x1="3.4781" y1="-2.0245" x2="3.4781" y2="-3.0109" width="0.1016" layer="21"/>
+<wire x1="3.4781" y1="3.634" x2="3.478" y2="-3.0109" width="0.1016" layer="51"/>
+<wire x1="3.4782" y1="3.011" x2="3.4782" y2="2.0246" width="0.1016" layer="21"/>
+<smd name="M1" x="-3" y="-4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M2" x="-3" y="4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M4" x="2.9" y="-4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="M3" x="2.9" y="4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="1" x="3" y="1.6" dx="3.1" dy="0.5" layer="1"/>
+<smd name="2" x="3" y="0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="3" x="3" y="0" dx="3.1" dy="0.5" layer="1"/>
+<smd name="4" x="3" y="-0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="5" x="3" y="-1.6" dx="3.1" dy="0.5" layer="1"/>
+<text x="-4.445" y="5.715" size="1.27" layer="25">&gt;NAME</text>
+<text x="-4.445" y="-6.985" size="1.27" layer="27">&gt;VALUE</text>
+<hole x="0" y="2.2" drill="0.9"/>
+<hole x="0" y="-2.2" drill="0.9"/>
+</package>
+<package name="32005-301">
+<description>&lt;b&gt;MINI USB-B R/A SMT W/O REAR&lt;/b&gt;&lt;p&gt;
+Source: http://www.cypressindustries.com/pdf/32005-301.pdf</description>
+<wire x1="-5.9228" y1="3.8473" x2="3.1598" y2="3.8473" width="0.1016" layer="51"/>
+<wire x1="2.9404" y1="3.7967" x2="2.9404" y2="2.5986" width="0.1016" layer="51"/>
+<wire x1="2.9404" y1="2.5986" x2="1.8098" y2="2.5986" width="0.1016" layer="21"/>
+<wire x1="1.8098" y1="3.7798" x2="1.8098" y2="-3.8473" width="0.1016" layer="51"/>
+<wire x1="3.1597" y1="-3.8473" x2="-5.9228" y2="-3.8473" width="0.1016" layer="51"/>
+<wire x1="-5.9228" y1="-3.8473" x2="-5.9228" y2="3.8473" width="0.1016" layer="21"/>
+<wire x1="2.9573" y1="-3.8217" x2="2.9573" y2="-2.6998" width="0.1016" layer="51"/>
+<wire x1="2.9573" y1="-2.6998" x2="1.8098" y2="-2.6998" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-3.6879" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="3.8416" x2="-3.6879" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="4.8799" x2="-3.3245" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.8799" x2="-3.3245" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.4646" x2="-2.7015" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.4646" x2="-2.7015" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.8799" x2="-2.3093" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="4.8799" x2="-2.3093" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-5.9182" y1="-3.8415" x2="-5.9182" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-5.9182" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.9591" x2="-4.5685" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="2.7514" x2="-4.828" y2="2.5438" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.828" y1="2.5438" x2="-4.828" y2="1.9727" width="0.1016" layer="21" curve="34.099487"/>
+<wire x1="-4.828" y1="1.9727" x2="-4.5685" y2="1.7651" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.5685" y1="1.7651" x2="-1.8171" y2="1.5055" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.5055" x2="-1.8171" y2="1.7132" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.7132" x2="-4.2051" y2="1.9727" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="1.9727" x2="-4.2051" y2="2.4919" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="2.4919" x2="-1.8171" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.7514" x2="-1.8171" y2="2.9591" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="3.8856" x2="1.713" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="4.8799" x2="2.1283" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.8799" x2="2.1283" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.4646" x2="2.6474" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.4646" x2="2.6474" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.8799" x2="3.1639" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="3.1639" y1="4.8799" x2="3.1639" y2="3.8519" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="1.2459" x2="-0.5192" y2="1.0383" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="1.0383" x2="-0.3116" y2="0.8306" width="0.1016" layer="21" curve="-83.771817"/>
+<wire x1="-4.5685" y1="1.2459" x2="-4.7761" y2="1.0383" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.7761" y1="1.0383" x2="-4.7761" y2="1.0382" width="0.1016" layer="21"/>
+<wire x1="-4.7761" y1="1.0382" x2="-4.5685" y2="0.8306" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.5685" y1="0.8306" x2="-1.1422" y2="0.623" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-3.6879" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-3.8414" x2="-3.6879" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-4.8797" x2="-3.3245" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.8797" x2="-3.3245" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.4644" x2="-2.7015" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.4644" x2="-2.7015" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.8797" x2="-2.3093" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-4.8797" x2="-2.3093" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-1.8171" y1="-2.9589" x2="-4.5685" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-2.7512" x2="-4.828" y2="-2.5436" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.828" y1="-2.5436" x2="-4.828" y2="-1.9725" width="0.1016" layer="21" curve="-34.099487"/>
+<wire x1="-4.828" y1="-1.9725" x2="-4.5685" y2="-1.7649" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.5685" y1="-1.7649" x2="-1.8171" y2="-1.5053" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.5053" x2="-1.8171" y2="-1.713" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.713" x2="-4.2051" y2="-1.9725" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-1.9725" x2="-4.2051" y2="-2.4917" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-2.4917" x2="-1.8171" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-2.7512" x2="-1.8171" y2="-2.9589" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="-3.8855" x2="1.713" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="-4.8797" x2="2.1283" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.8797" x2="2.1283" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.4644" x2="2.6474" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.4644" x2="2.6474" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.8797" x2="3.1627" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="3.1627" y1="-4.8797" x2="3.1627" y2="-3.8518" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="-1.2457" x2="-0.5192" y2="-1.0381" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="-1.0381" x2="-0.3116" y2="-0.8304" width="0.1016" layer="21" curve="83.722654"/>
+<wire x1="-0.3116" y1="-0.8304" x2="-0.3116" y2="0.8307" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-1.2457" x2="-4.7761" y2="-1.0381" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.7761" y1="-1.038" x2="-4.5685" y2="-0.8304" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.5685" y1="-0.8304" x2="-1.1422" y2="-0.6228" width="0.1016" layer="21"/>
+<wire x1="-1.1422" y1="-0.6228" x2="-1.1422" y2="0.6232" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-4.4146" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-4.4147" y2="3.8415" width="0.1016" layer="21"/>
+<wire x1="1.0842" y1="-3.8472" x2="-1.6031" y2="-3.8472" width="0.1016" layer="21"/>
+<wire x1="-1.5523" y1="3.8472" x2="0.9831" y2="3.8473" width="0.1016" layer="21"/>
+<wire x1="2.9404" y1="3.3243" x2="2.9404" y2="2.5986" width="0.1016" layer="21"/>
+<wire x1="1.8098" y1="2.5986" x2="1.8099" y2="3.3243" width="0.1016" layer="21"/>
+<wire x1="1.8098" y1="-2.6999" x2="1.8098" y2="-3.3242" width="0.1016" layer="21"/>
+<wire x1="2.9573" y1="-3.3324" x2="2.9573" y2="-2.6998" width="0.1016" layer="21"/>
+<smd name="M1" x="-3" y="-4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M2" x="-3" y="4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M4" x="2.9" y="-4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="M3" x="2.9" y="4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="1" x="3" y="1.6" dx="3.1" dy="0.5" layer="1"/>
+<smd name="2" x="3" y="0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="3" x="3" y="0" dx="3.1" dy="0.5" layer="1"/>
+<smd name="4" x="3" y="-0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="5" x="3" y="-1.6" dx="3.1" dy="0.5" layer="1"/>
+<text x="-4.445" y="5.715" size="1.27" layer="25">&gt;NAME</text>
+<text x="-4.445" y="-6.985" size="1.27" layer="27">&gt;VALUE</text>
+<hole x="0" y="2.2" drill="0.9"/>
+<hole x="0" y="-2.2" drill="0.9"/>
+</package>
+</packages>
+<symbols>
+<symbol name="MINI-USB-5">
+<wire x1="-2.54" y1="6.35" x2="-2.54" y2="-6.35" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.35" x2="-1.27" y2="-7.62" width="0.254" layer="94" curve="90"/>
+<wire x1="-1.27" y1="-7.62" x2="0" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="0" y1="-7.62" x2="1.016" y2="-8.128" width="0.254" layer="94" curve="-53.130102"/>
+<wire x1="1.016" y1="-8.128" x2="2.54" y2="-8.89" width="0.254" layer="94" curve="53.130102"/>
+<wire x1="2.54" y1="-8.89" x2="5.08" y2="-8.89" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-8.89" x2="6.35" y2="-7.62" width="0.254" layer="94" curve="90"/>
+<wire x1="6.35" y1="-7.62" x2="6.35" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="6.35" x2="-1.27" y2="7.62" width="0.254" layer="94" curve="-90"/>
+<wire x1="-1.27" y1="7.62" x2="0" y2="7.62" width="0.254" layer="94"/>
+<wire x1="0" y1="7.62" x2="1.016" y2="8.128" width="0.254" layer="94" curve="53.130102"/>
+<wire x1="1.016" y1="8.128" x2="2.54" y2="8.89" width="0.254" layer="94" curve="-53.130102"/>
+<wire x1="2.54" y1="8.89" x2="5.08" y2="8.89" width="0.254" layer="94"/>
+<wire x1="5.08" y1="8.89" x2="6.35" y2="7.62" width="0.254" layer="94" curve="-90"/>
+<wire x1="0" y1="5.08" x2="0" y2="-5.08" width="0.254" layer="94"/>
+<wire x1="0" y1="-5.08" x2="1.27" y2="-6.35" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-6.35" x2="3.81" y2="-6.35" width="0.254" layer="94"/>
+<wire x1="3.81" y1="-6.35" x2="3.81" y2="6.35" width="0.254" layer="94"/>
+<wire x1="3.81" y1="6.35" x2="1.27" y2="6.35" width="0.254" layer="94"/>
+<wire x1="1.27" y1="6.35" x2="0" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.54" y="11.43" size="1.778" layer="95">&gt;NAME</text>
+<text x="10.16" y="-7.62" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
+<pin name="1" x="-5.08" y="5.08" visible="pin" direction="pas"/>
+<pin name="2" x="-5.08" y="2.54" visible="pin" direction="pas"/>
+<pin name="3" x="-5.08" y="0" visible="pin" direction="pas"/>
+<pin name="4" x="-5.08" y="-2.54" visible="pin" direction="pas"/>
+<pin name="5" x="-5.08" y="-5.08" visible="pin" direction="pas"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MINI-USB-" prefix="X">
+<description>&lt;b&gt;MINI USB-B Conector&lt;/b&gt;&lt;p&gt;
+Source: www.cypressindustries.com</description>
+<gates>
+<gate name="G$1" symbol="MINI-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="32005-201" package="32005-201">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+</connects>
+<technologies>
+<technology name="">
+<attribute name="MF" value="" constant="no"/>
+<attribute name="MPN" value="" constant="no"/>
+<attribute name="OC_FARNELL" value="unknown" constant="no"/>
+<attribute name="OC_NEWARK" value="unknown" constant="no"/>
+</technology>
+</technologies>
+</device>
+<device name="32005-301" package="32005-301">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+</connects>
+<technologies>
+<technology name="">
+<attribute name="MF" value="" constant="no"/>
+<attribute name="MPN" value="" constant="no"/>
+<attribute name="OC_FARNELL" value="unknown" constant="no"/>
+<attribute name="OC_NEWARK" value="unknown" constant="no"/>
+</technology>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="IC2" library="ataradov_mcu" deviceset="ATSAMD11C" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_17" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_8" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_16" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="J5" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="SIO"/>
+<part name="J6" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="SCK"/>
+<part name="J7" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="RST"/>
+<part name="J8" library="ataradov_conn" deviceset="CONN-SINGLE" device="-TH" value="GND"/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="R3" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="R4" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="IC1" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="R5" library="ataradov_rlc" deviceset="R" device="-0603" value="100K"/>
+<part name="R6" library="ataradov_rlc" deviceset="R" device="-0603" value="100K"/>
+<part name="P_18" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_19" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="X1" library="con-cypressindustries" deviceset="MINI-USB-" device="32005-201"/>
+<part name="R7" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="P_5" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603"/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="152.4" y2="119.38" columns="8" rows="5" layer="97"/>
+<text x="35.56" y="106.68" size="1.778" layer="97" align="bottom-center">Program</text>
+<text x="78.74" y="106.68" size="1.778" layer="97" align="bottom-center">Target</text>
+<text x="60.96" y="15.24" size="1.778" layer="97">Copyright (c) 2016-2017, Alex Taradov &lt;alex@taradov.com&gt;
+
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+</plain>
+<instances>
+<instance part="IC2" gate="G$1" x="40.64" y="53.34"/>
+<instance part="P_9" gate="1" x="53.34" y="27.94"/>
+<instance part="P_7" gate="1" x="60.96" y="66.04"/>
+<instance part="P_17" gate="1" x="76.2" y="40.64"/>
+<instance part="P_8" gate="1" x="60.96" y="40.64"/>
+<instance part="P_16" gate="1" x="76.2" y="60.96"/>
+<instance part="P_3" gate="1" x="25.4" y="27.94"/>
+<instance part="J5" gate="G$1" x="91.44" y="101.6"/>
+<instance part="J6" gate="G$1" x="91.44" y="99.06"/>
+<instance part="J7" gate="G$1" x="91.44" y="96.52"/>
+<instance part="J8" gate="G$1" x="91.44" y="93.98"/>
+<instance part="C1" gate="G$1" x="20.32" y="17.78" rot="R90"/>
+<instance part="C2" gate="G$1" x="53.34" y="17.78" rot="R90"/>
+<instance part="R2" gate="G$1" x="71.12" y="101.6"/>
+<instance part="R3" gate="G$1" x="71.12" y="96.52"/>
+<instance part="R4" gate="G$1" x="71.12" y="91.44"/>
+<instance part="IC1" gate="G$1" x="38.1" y="20.32"/>
+<instance part="P_4" gate="1" x="38.1" y="12.7"/>
+<instance part="P_6" gate="1" x="53.34" y="12.7"/>
+<instance part="P_1" gate="1" x="20.32" y="12.7"/>
+<instance part="P_2" gate="1" x="38.1" y="76.2"/>
+<instance part="P_11" gate="1" x="86.36" y="91.44"/>
+<instance part="R5" gate="G$1" x="38.1" y="93.98" rot="R90"/>
+<instance part="R6" gate="G$1" x="33.02" y="93.98" rot="R90"/>
+<instance part="P_18" gate="1" x="33.02" y="101.6"/>
+<instance part="P_19" gate="1" x="38.1" y="101.6"/>
+<instance part="X1" gate="G$1" x="83.82" y="50.8" smashed="yes">
+<attribute name="NAME" x="81.28" y="62.23" size="1.778" layer="95"/>
+</instance>
+<instance part="R7" gate="G$1" x="73.66" y="78.74"/>
+<instance part="TP1" gate="G$1" x="40.64" y="86.36"/>
+<instance part="TP2" gate="G$1" x="40.64" y="83.82"/>
+<instance part="TP3" gate="G$1" x="40.64" y="81.28"/>
+<instance part="TP4" gate="G$1" x="40.64" y="78.74"/>
+<instance part="P_5" gate="1" x="91.44" y="83.82"/>
+<instance part="LED1" gate="G$1" x="86.36" y="78.74" rot="R270"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="N$1" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA24"/>
+<wire x1="58.42" y1="48.26" x2="76.2" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="48.26" x2="76.2" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="53.34" x2="78.74" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA25"/>
+<wire x1="58.42" y1="50.8" x2="78.74" y2="50.8" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="3"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_17" gate="1" pin="GND"/>
+<wire x1="76.2" y1="43.18" x2="76.2" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="45.72" x2="78.74" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="5"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_1" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_6" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_8" gate="1" pin="GND"/>
+<wire x1="58.42" y1="53.34" x2="60.96" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="53.34" x2="60.96" y2="43.18" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="P_2" gate="1" pin="GND"/>
+<wire x1="38.1" y1="78.74" x2="40.64" y2="78.74" width="0.1524" layer="91"/>
+<pinref part="TP4" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="P_11" gate="1" pin="GND"/>
+<pinref part="J8" gate="G$1" pin="1"/>
+<wire x1="86.36" y1="93.98" x2="88.9" y2="93.98" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_16" gate="1" pin="V_USB"/>
+<wire x1="76.2" y1="58.42" x2="76.2" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="55.88" x2="78.74" y2="55.88" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="27.94" y1="20.32" x2="25.4" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="25.4" y1="20.32" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="IC1" gate="G$1" pin="IN"/>
+<wire x1="25.4" y1="22.86" x2="25.4" y2="25.4" width="0.1524" layer="91"/>
+<wire x1="27.94" y1="22.86" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<junction x="25.4" y="22.86"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="25.4" y1="22.86" x2="20.32" y2="22.86" width="0.1524" layer="91"/>
+<wire x1="20.32" y1="22.86" x2="20.32" y2="20.32" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="OUT"/>
+<wire x1="48.26" y1="22.86" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="53.34" y1="20.32" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<junction x="53.34" y="22.86"/>
+<pinref part="P_9" gate="1" pin="+3V3"/>
+<wire x1="53.34" y1="25.4" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="VDD"/>
+<pinref part="P_7" gate="1" pin="+3V3"/>
+<wire x1="58.42" y1="55.88" x2="60.96" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="55.88" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="R6" gate="G$1" pin="2"/>
+<pinref part="P_18" gate="1" pin="+3V3"/>
+</segment>
+<segment>
+<pinref part="R5" gate="G$1" pin="2"/>
+<pinref part="P_19" gate="1" pin="+3V3"/>
+</segment>
+<segment>
+<wire x1="88.9" y1="78.74" x2="91.44" y2="78.74" width="0.1524" layer="91"/>
+<pinref part="P_5" gate="1" pin="+3V3"/>
+<wire x1="91.44" y1="81.28" x2="91.44" y2="78.74" width="0.1524" layer="91"/>
+<pinref part="LED1" gate="G$1" pin="A"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA31/SIO"/>
+<wire x1="58.42" y1="45.72" x2="63.5" y2="45.72" width="0.1524" layer="91"/>
+<label x="63.5" y="45.72" size="1.27" layer="95"/>
+</segment>
+<segment>
+<wire x1="40.64" y1="86.36" x2="22.86" y2="86.36" width="0.1524" layer="91"/>
+<label x="22.86" y="86.36" size="1.27" layer="95" rot="MR0"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PA02" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA02"/>
+<wire x1="58.42" y1="58.42" x2="63.5" y2="58.42" width="0.1524" layer="91"/>
+<label x="63.5" y="58.42" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA04" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA04"/>
+<wire x1="58.42" y1="60.96" x2="63.5" y2="60.96" width="0.1524" layer="91"/>
+<label x="63.5" y="60.96" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA30/SCK"/>
+<wire x1="22.86" y1="45.72" x2="20.32" y2="45.72" width="0.1524" layer="91"/>
+<label x="20.32" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="40.64" y1="83.82" x2="33.02" y2="83.82" width="0.1524" layer="91"/>
+<label x="22.86" y="83.82" size="1.27" layer="95" rot="MR0"/>
+<pinref part="R6" gate="G$1" pin="1"/>
+<wire x1="33.02" y1="83.82" x2="22.86" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="33.02" y1="88.9" x2="33.02" y2="83.82" width="0.1524" layer="91"/>
+<junction x="33.02" y="83.82"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA28/RST"/>
+<wire x1="22.86" y1="48.26" x2="20.32" y2="48.26" width="0.1524" layer="91"/>
+<label x="20.32" y="48.26" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="40.64" y1="81.28" x2="38.1" y2="81.28" width="0.1524" layer="91"/>
+<label x="22.86" y="81.28" size="1.27" layer="95" rot="MR0"/>
+<pinref part="R5" gate="G$1" pin="1"/>
+<wire x1="38.1" y1="81.28" x2="22.86" y2="81.28" width="0.1524" layer="91"/>
+<wire x1="38.1" y1="88.9" x2="38.1" y2="81.28" width="0.1524" layer="91"/>
+<junction x="38.1" y="81.28"/>
+<pinref part="TP3" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PA15" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA15"/>
+<wire x1="22.86" y1="50.8" x2="20.32" y2="50.8" width="0.1524" layer="91"/>
+<label x="20.32" y="50.8" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="PA14" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA14"/>
+<wire x1="22.86" y1="53.34" x2="20.32" y2="53.34" width="0.1524" layer="91"/>
+<label x="20.32" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="68.58" y1="78.74" x2="66.04" y2="78.74" width="0.1524" layer="91"/>
+<label x="66.04" y="78.74" size="1.27" layer="95" rot="MR0"/>
+<pinref part="R7" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PA09" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA9"/>
+<wire x1="22.86" y1="55.88" x2="20.32" y2="55.88" width="0.1524" layer="91"/>
+<label x="20.32" y="55.88" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R4" gate="G$1" pin="1"/>
+<wire x1="66.04" y1="91.44" x2="63.5" y2="91.44" width="0.1524" layer="91"/>
+<label x="63.5" y="91.44" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="PA08" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA8"/>
+<wire x1="22.86" y1="58.42" x2="20.32" y2="58.42" width="0.1524" layer="91"/>
+<label x="20.32" y="58.42" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R3" gate="G$1" pin="1"/>
+<wire x1="66.04" y1="96.52" x2="63.5" y2="96.52" width="0.1524" layer="91"/>
+<label x="63.5" y="96.52" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="PA05" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA5"/>
+<wire x1="22.86" y1="60.96" x2="20.32" y2="60.96" width="0.1524" layer="91"/>
+<label x="20.32" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R2" gate="G$1" pin="1"/>
+<wire x1="66.04" y1="101.6" x2="63.5" y2="101.6" width="0.1524" layer="91"/>
+<label x="63.5" y="101.6" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<pinref part="R2" gate="G$1" pin="2"/>
+<pinref part="J5" gate="G$1" pin="1"/>
+<wire x1="76.2" y1="101.6" x2="88.9" y2="101.6" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$4" class="0">
+<segment>
+<pinref part="R3" gate="G$1" pin="2"/>
+<wire x1="76.2" y1="96.52" x2="78.74" y2="96.52" width="0.1524" layer="91"/>
+<wire x1="78.74" y1="96.52" x2="78.74" y2="99.06" width="0.1524" layer="91"/>
+<pinref part="J6" gate="G$1" pin="1"/>
+<wire x1="78.74" y1="99.06" x2="88.9" y2="99.06" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$5" class="0">
+<segment>
+<pinref part="R4" gate="G$1" pin="2"/>
+<wire x1="76.2" y1="91.44" x2="81.28" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="81.28" y1="91.44" x2="81.28" y2="96.52" width="0.1524" layer="91"/>
+<pinref part="J7" gate="G$1" pin="1"/>
+<wire x1="81.28" y1="96.52" x2="88.9" y2="96.52" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$6" class="0">
+<segment>
+<pinref part="R7" gate="G$1" pin="2"/>
+<wire x1="78.74" y1="78.74" x2="81.28" y2="78.74" width="0.1524" layer="91"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_usb_mini/d11_usb_mini_gerber.zip


+ 807 - 0
dap_link/lib/free-dap/hardware/d11_usb_std/d11_usb_std.brd

@@ -0,0 +1,807 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.01" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="17.704" y2="0" width="0.1524" layer="20"/>
+<wire x1="17.704" y1="0" x2="17.704" y2="12.182" width="0.1524" layer="20"/>
+<wire x1="17.704" y1="12.182" x2="0" y2="12.182" width="0.1524" layer="20"/>
+<wire x1="0" y1="12.182" x2="0" y2="0" width="0.1524" layer="20"/>
+<text x="9.906" y="6.096" size="0.762" layer="28" font="vector" rot="MR270" align="bottom-center">3/25/17</text>
+<text x="14.986" y="10.16" size="1.27" layer="28" font="vector" rot="MR0" align="bottom-center">AT</text>
+<text x="16.764" y="1.524" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">1</text>
+</plain>
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="con-cypressindustries">
+<description>&lt;b&gt;Connectors from Cypress Industries&lt;/b&gt;&lt;p&gt;
+www.cypressindustries.com&lt;br&gt;
+&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
+<packages>
+<package name="32005-201">
+<description>&lt;b&gt;MINI USB-B R/A SMT W/ REAR&lt;/b&gt;&lt;p&gt;
+Source: http://www.cypressindustries.com/pdf/32005-201.pdf</description>
+<wire x1="-5.9182" y1="3.8416" x2="-3.6879" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="3.8416" x2="-3.6879" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="4.8799" x2="-3.3245" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.8799" x2="-3.3245" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.4646" x2="-2.7015" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.4646" x2="-2.7015" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.8799" x2="-2.3093" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="4.8799" x2="-2.3093" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-1.5825" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="3.8416" x2="0.519" y2="4.0492" width="0.1016" layer="21" curve="-90"/>
+<wire x1="0.519" y1="4.0492" x2="0.519" y2="4.205" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="4.205" x2="2.907" y2="4.205" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="4.205" x2="3.4781" y2="3.6339" width="0.1016" layer="51" curve="-90"/>
+<wire x1="-5.9182" y1="-3.8415" x2="-5.9182" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-5.9182" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.9591" x2="-4.5685" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="2.7514" x2="-4.828" y2="2.5438" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.828" y1="2.5438" x2="-4.828" y2="1.9727" width="0.1016" layer="21" curve="34.099487"/>
+<wire x1="-4.828" y1="1.9727" x2="-4.5685" y2="1.7651" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.5685" y1="1.7651" x2="-1.8171" y2="1.5055" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.5055" x2="-1.8171" y2="1.7132" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.7132" x2="-4.2051" y2="1.9727" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="1.9727" x2="-4.2051" y2="2.4919" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="2.4919" x2="-1.8171" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.7514" x2="-1.8171" y2="2.9591" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="3.0627" y2="3.5821" width="0.1016" layer="51" curve="-90"/>
+<wire x1="3.0627" y1="3.5821" x2="3.0627" y2="3.011" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="3.011" x2="3.4261" y2="3.011" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="4.2569" x2="1.713" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="4.8799" x2="2.1283" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.8799" x2="2.1283" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.4646" x2="2.6474" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.4646" x2="2.6474" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.8799" x2="3.0627" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="4.8799" x2="3.0627" y2="4.2569" width="0.1016" layer="51"/>
+<wire x1="0.5709" y1="1.7651" x2="0.5709" y2="-1.765" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="-1.8169" x2="1.0381" y2="1.817" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="1.817" x2="0.8305" y2="2.0246" width="0.1016" layer="21" curve="90.055225"/>
+<wire x1="0.8305" y1="2.0246" x2="0.8304" y2="2.0246" width="0.1016" layer="21"/>
+<wire x1="0.8304" y1="2.0246" x2="0.5709" y2="1.7651" width="0.1016" layer="21" curve="89.955858"/>
+<wire x1="1.5573" y1="-2.0246" x2="3.4261" y2="-2.0246" width="0.1016" layer="21"/>
+<wire x1="3.0627" y1="-1.9726" x2="3.0627" y2="1.9727" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="1.2459" x2="-0.5192" y2="1.0383" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="1.0383" x2="-0.3116" y2="0.8306" width="0.1016" layer="21" curve="-83.771817"/>
+<wire x1="-4.5685" y1="1.2459" x2="-4.7761" y2="1.0383" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.7761" y1="1.0383" x2="-4.7761" y2="1.0382" width="0.1016" layer="21"/>
+<wire x1="-4.7761" y1="1.0382" x2="-4.5685" y2="0.8306" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.5685" y1="0.8306" x2="-1.1422" y2="0.623" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-3.6879" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-3.8414" x2="-3.6879" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-4.8797" x2="-3.3245" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.8797" x2="-3.3245" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.4644" x2="-2.7015" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.4644" x2="-2.7015" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.8797" x2="-2.3093" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-4.8797" x2="-2.3093" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-3.8414" x2="2.8032" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="-3.8414" x2="0.519" y2="-4.049" width="0.1016" layer="21" curve="90"/>
+<wire x1="0.519" y1="-4.049" x2="0.519" y2="-4.2048" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="-4.2048" x2="2.907" y2="-4.2048" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="-4.2048" x2="3.4781" y2="-3.6337" width="0.1016" layer="51" curve="90.020069"/>
+<wire x1="-1.8171" y1="-2.9589" x2="-4.5685" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-2.7512" x2="-4.828" y2="-2.5436" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.828" y1="-2.5436" x2="-4.828" y2="-1.9725" width="0.1016" layer="21" curve="-34.099487"/>
+<wire x1="-4.828" y1="-1.9725" x2="-4.5685" y2="-1.7649" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.5685" y1="-1.7649" x2="-1.8171" y2="-1.5053" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.5053" x2="-1.8171" y2="-1.713" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.713" x2="-4.2051" y2="-1.9725" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-1.9725" x2="-4.2051" y2="-2.4917" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-2.4917" x2="-1.8171" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-2.7512" x2="-1.8171" y2="-2.9589" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="-3.8414" x2="3.0627" y2="-3.5819" width="0.1016" layer="51" curve="90.044176"/>
+<wire x1="3.0627" y1="-3.5819" x2="3.0627" y2="-3.0108" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-3.0108" x2="3.4261" y2="-3.0108" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="-4.2567" x2="1.713" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="-4.8797" x2="2.1283" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.8797" x2="2.1283" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.4644" x2="2.6474" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.4644" x2="2.6474" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.8797" x2="3.0627" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-4.8797" x2="3.0627" y2="-4.2567" width="0.1016" layer="51"/>
+<wire x1="1.0381" y1="-1.8168" x2="0.8305" y2="-2.0244" width="0.1016" layer="21" curve="-90.055225"/>
+<wire x1="0.8304" y1="-2.0244" x2="0.5709" y2="-1.7649" width="0.1016" layer="21" curve="-89.867677"/>
+<wire x1="1.5573" y1="-1.9725" x2="1.5573" y2="2.0248" width="0.1016" layer="51"/>
+<wire x1="1.5573" y1="2.0248" x2="3.4261" y2="2.0248" width="0.1016" layer="21"/>
+<wire x1="-4.5684" y1="-1.2457" x2="-0.5192" y2="-1.0381" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="-1.0381" x2="-0.3116" y2="-0.8304" width="0.1016" layer="21" curve="83.722654"/>
+<wire x1="-0.3116" y1="-0.8304" x2="-0.3116" y2="0.8307" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-1.2457" x2="-4.7761" y2="-1.0381" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.7761" y1="-1.038" x2="-4.5685" y2="-0.8304" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.5685" y1="-0.8304" x2="-1.1422" y2="-0.6228" width="0.1016" layer="21"/>
+<wire x1="-1.1422" y1="-0.6228" x2="-1.1422" y2="0.6232" width="0.1016" layer="21"/>
+<wire x1="-1.5826" y1="-3.8414" x2="0.7267" y2="-3.8415" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-4.4146" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-4.4147" y2="3.8415" width="0.1016" layer="21"/>
+<wire x1="-2.3093" y1="3.8416" x2="0.7265" y2="3.8415" width="0.1016" layer="51"/>
+<wire x1="3.4781" y1="-2.0245" x2="3.4781" y2="-3.0109" width="0.1016" layer="21"/>
+<wire x1="3.4781" y1="3.634" x2="3.478" y2="-3.0109" width="0.1016" layer="51"/>
+<wire x1="3.4782" y1="3.011" x2="3.4782" y2="2.0246" width="0.1016" layer="21"/>
+<smd name="M1" x="-3" y="-4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M2" x="-3" y="4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M4" x="2.9" y="-4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="M3" x="2.9" y="4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="1" x="3" y="1.6" dx="3.1" dy="0.5" layer="1"/>
+<smd name="2" x="3" y="0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="3" x="3" y="0" dx="3.1" dy="0.5" layer="1"/>
+<smd name="4" x="3" y="-0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="5" x="3" y="-1.6" dx="3.1" dy="0.5" layer="1"/>
+<text x="-4.445" y="5.715" size="1.27" layer="25">&gt;NAME</text>
+<text x="-4.445" y="-6.985" size="1.27" layer="27">&gt;VALUE</text>
+<hole x="0" y="2.2" drill="0.9"/>
+<hole x="0" y="-2.2" drill="0.9"/>
+</package>
+</packages>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="OSHPark">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für 
+die meisten Anwendungen passen. Sollte ihre Platine 
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter 
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;Laen's PCB Order Design Rules&lt;/b&gt;
+&lt;p&gt;
+Please make sure your boards conform to these design rules.</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
+<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="6mil"/>
+<param name="mdSmdVia" value="6mil"/>
+<param name="mdSmdSmd" value="6mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="15mil"/>
+<param name="mdDrill" value="6mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="6mil"/>
+<param name="msDrill" value="13mil"/>
+<param name="msMicroVia" value="13mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="7mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="7mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="7mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="7mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="7mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="-1"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="3mil"/>
+<param name="mlMaxStopFrame" value="3mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="0mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="10mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="1"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="AutoGrid" value="1"/>
+<param name="Efforts" value="0"/>
+<param name="TopRouterVariant" value="1"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="a"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="a"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+<pass name="Optimize1" refer="Default" active="yes">
+<param name="cfVia" value="99"/>
+<param name="cfExtdStep" value="10"/>
+<param name="cfHugging" value="1"/>
+<param name="mnExtdSteps" value="1"/>
+<param name="mnRipupLevel" value="0"/>
+</pass>
+<pass name="Optimize2" refer="Optimize1" active="yes">
+<param name="cfNonPref" value="0"/>
+<param name="cfChangeDir" value="6"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="2"/>
+<param name="cfMalusStep" value="2"/>
+<param name="cfPadImpact" value="2"/>
+<param name="cfSmdImpact" value="2"/>
+<param name="cfHugging" value="0"/>
+</pass>
+<pass name="Optimize3" refer="Optimize2" active="yes">
+<param name="cfChangeDir" value="8"/>
+<param name="cfPadImpact" value="0"/>
+<param name="cfSmdImpact" value="0"/>
+</pass>
+<pass name="Optimize4" refer="Optimize3" active="yes">
+<param name="cfChangeDir" value="25"/>
+</pass>
+</autorouter>
+<elements>
+<element name="IC2" library="ataradov_mcu" package="SO-14" value="ATSAMD11C" x="4.826" y="7.366" smashed="yes" rot="MR270">
+<attribute name="NAME" x="4.826" y="12.192" size="1.27" layer="26" font="vector" rot="MR0" align="bottom-center"/>
+</element>
+<element name="C1" library="ataradov_rlc" package="SMD0603" value="1uF" x="11.684" y="8.382" rot="R180"/>
+<element name="C2" library="ataradov_rlc" package="SMD0603" value="1uF" x="11.684" y="2.54" smashed="yes">
+<attribute name="NAME" x="11.684" y="3.556" size="1.27" layer="25" font="vector" align="bottom-center"/>
+</element>
+<element name="R2" library="ataradov_rlc" package="SMD0603" value="330" x="11.684" y="4.826" rot="MR0"/>
+<element name="R3" library="ataradov_rlc" package="SMD0603" value="330" x="11.684" y="6.35" rot="MR0"/>
+<element name="R4" library="ataradov_rlc" package="SMD0603" value="330" x="11.684" y="7.874" rot="MR0"/>
+<element name="IC1" library="ataradov_vreg" package="SOT23-5" value="MIC5504-3.3" x="11.684" y="5.334" smashed="yes" rot="R180">
+<attribute name="NAME" x="11.684" y="3.048" size="1.27" layer="25" font="vector" rot="R180" align="bottom-center"/>
+</element>
+<element name="R5" library="ataradov_rlc" package="SMD0603" value="100K" x="11.684" y="3.302" rot="MR180"/>
+<element name="R6" library="ataradov_rlc" package="SMD0603" value="100K" x="11.684" y="1.778" rot="MR180"/>
+<element name="X1" library="con-cypressindustries" package="32005-201" value="MINI-USB-32005-201" x="4.826" y="6.096" smashed="yes">
+<attribute name="MF" value="" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="MPN" value="" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="OC_FARNELL" value="unknown" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="OC_NEWARK" value="unknown" x="4.826" y="6.096" size="1.778" layer="27" display="off"/>
+<attribute name="NAME" x="0.381" y="11.811" size="1.27" layer="25"/>
+</element>
+<element name="R7" library="ataradov_rlc" package="SMD0603" value="330" x="11.684" y="10.922"/>
+<element name="TP1" library="ataradov_misc" package="TP-1.27MM" value="SIO" x="4.318" y="1.524" rot="MR0"/>
+<element name="TP2" library="ataradov_misc" package="TP-1.27MM" value="" x="9.398" y="1.524" rot="MR0"/>
+<element name="TP3" library="ataradov_misc" package="TP-1.27MM" value="" x="6.858" y="1.524" rot="MR0"/>
+<element name="TP4" library="ataradov_misc" package="TP-1.27MM" value="" x="1.778" y="1.524" rot="MR0"/>
+<element name="LED1" library="ataradov_led" package="SMD0603" value="" x="11.684" y="9.652" rot="R180"/>
+<element name="J1" library="ataradov_conn" package="HEADER-5X2-1.27MM" value="HEADER-5X2-TH-1.27" x="15.494" y="6.096" rot="R90"/>
+<element name="R1" library="ataradov_rlc" package="SMD0603" value="330" x="11.684" y="9.398" rot="MR0"/>
+<element name="R8" library="ataradov_rlc" package="SMD0603" value="330" x="11.684" y="10.922" rot="MR0"/>
+</elements>
+<signals>
+<signal name="GND">
+<contactref element="IC1" pad="2"/>
+<contactref element="C1" pad="1"/>
+<contactref element="C2" pad="1"/>
+<contactref element="IC2" pad="11"/>
+<contactref element="X1" pad="5"/>
+<contactref element="TP4" pad="1"/>
+<contactref element="J1" pad="3"/>
+<contactref element="J1" pad="5"/>
+<wire x1="2.226" y1="7.366" x2="1.016" y2="7.366" width="0.254" layer="16"/>
+<wire x1="1.016" y1="7.366" x2="0.762" y2="7.112" width="0.254" layer="16"/>
+<wire x1="0.762" y1="7.112" x2="0.762" y2="2.032" width="0.254" layer="16"/>
+<wire x1="0.762" y1="2.032" x2="1.27" y2="1.524" width="0.254" layer="16"/>
+<wire x1="1.27" y1="1.524" x2="1.778" y2="1.524" width="0.254" layer="16"/>
+<wire x1="7.826" y1="4.496" x2="7.75" y2="4.572" width="0.254" layer="1"/>
+<wire x1="7.75" y1="4.572" x2="5.842" y2="4.572" width="0.254" layer="1"/>
+<wire x1="5.842" y1="4.572" x2="5.334" y2="5.08" width="0.254" layer="1"/>
+<wire x1="5.334" y1="5.08" x2="4.826" y2="5.08" width="0.254" layer="1"/>
+<wire x1="4.826" y1="5.08" x2="4.572" y2="4.826" width="0.254" layer="1"/>
+<wire x1="4.572" y1="4.826" x2="3.556" y2="4.826" width="0.254" layer="1"/>
+<wire x1="3.556" y1="4.826" x2="3.048" y2="5.334" width="0.254" layer="1"/>
+<wire x1="3.048" y1="5.334" x2="3.048" y2="6.604" width="0.254" layer="1"/>
+<wire x1="3.048" y1="6.604" x2="3.556" y2="7.112" width="0.254" layer="1"/>
+<wire x1="3.556" y1="7.112" x2="4.064" y2="7.112" width="0.254" layer="1"/>
+<via x="4.064" y="7.112" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="4.064" y1="7.112" x2="3.81" y2="7.366" width="0.254" layer="16"/>
+<wire x1="3.81" y1="7.366" x2="2.226" y2="7.366" width="0.254" layer="16"/>
+<wire x1="12.484" y1="8.382" x2="13.208" y2="8.382" width="0.254" layer="1"/>
+<wire x1="13.208" y1="8.382" x2="13.462" y2="8.128" width="0.254" layer="1"/>
+<wire x1="11.684" y1="6.634" x2="11.684" y2="7.62" width="0.254" layer="1"/>
+<wire x1="11.684" y1="7.62" x2="12.446" y2="8.382" width="0.254" layer="1"/>
+<wire x1="12.446" y1="8.382" x2="12.484" y2="8.382" width="0.254" layer="1"/>
+<wire x1="10.884" y1="2.54" x2="9.906" y2="3.518" width="0.254" layer="1"/>
+<wire x1="9.906" y1="3.518" x2="9.906" y2="4.064" width="0.254" layer="1"/>
+<wire x1="9.906" y1="4.064" x2="9.474" y2="4.496" width="0.254" layer="1"/>
+<wire x1="9.474" y1="4.496" x2="7.826" y2="4.496" width="0.254" layer="1"/>
+<wire x1="10.884" y1="2.54" x2="10.922" y2="2.502" width="0.254" layer="1"/>
+<wire x1="16.764" y1="2.54" x2="17.018" y2="2.794" width="0.254" layer="1"/>
+<wire x1="17.018" y1="2.794" x2="17.018" y2="4.572" width="0.254" layer="1"/>
+<wire x1="17.018" y1="4.572" x2="16.764" y2="4.826" width="0.254" layer="1"/>
+<wire x1="16.764" y1="4.826" x2="16.129" y2="4.826" width="0.254" layer="1"/>
+<wire x1="16.129" y1="6.096" x2="16.129" y2="4.826" width="0.254" layer="1"/>
+<wire x1="9.474" y1="4.496" x2="10.058" y2="5.08" width="0.254" layer="1"/>
+<wire x1="10.058" y1="5.08" x2="13.462" y2="5.08" width="0.254" layer="1"/>
+<wire x1="13.462" y1="8.128" x2="13.462" y2="5.08" width="0.254" layer="1"/>
+<wire x1="13.462" y1="5.08" x2="13.462" y2="2.794" width="0.254" layer="1"/>
+<wire x1="13.462" y1="2.794" x2="13.716" y2="2.54" width="0.254" layer="1"/>
+<wire x1="13.716" y1="2.54" x2="16.764" y2="2.54" width="0.254" layer="1"/>
+<contactref element="LED1" pad="2"/>
+<wire x1="12.446" y1="8.382" x2="12.192" y2="8.382" width="0.254" layer="1"/>
+<wire x1="12.192" y1="8.382" x2="10.922" y2="9.652" width="0.254" layer="1"/>
+<wire x1="10.922" y1="9.652" x2="10.884" y2="9.652" width="0.254" layer="1"/>
+</signal>
+<signal name="N$1">
+<contactref element="IC2" pad="9"/>
+<contactref element="X1" pad="2"/>
+<wire x1="7.826" y1="6.896" x2="7.788" y2="6.858" width="0.254" layer="1"/>
+<wire x1="7.788" y1="6.858" x2="5.08" y2="6.858" width="0.254" layer="1"/>
+<wire x1="5.08" y1="6.858" x2="4.064" y2="5.842" width="0.254" layer="1"/>
+<wire x1="4.064" y1="5.842" x2="4.064" y2="5.588" width="0.254" layer="1"/>
+<via x="4.064" y="5.588" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="4.064" y1="5.588" x2="3.556" y2="4.826" width="0.254" layer="16"/>
+<wire x1="3.556" y1="4.826" x2="2.226" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="N$2">
+<contactref element="IC2" pad="10"/>
+<contactref element="X1" pad="3"/>
+<wire x1="7.826" y1="6.096" x2="5.588" y2="6.096" width="0.254" layer="1"/>
+<via x="5.588" y="6.096" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="5.588" y1="6.096" x2="5.334" y2="6.35" width="0.254" layer="16"/>
+<wire x1="5.334" y1="6.35" x2="3.556" y2="6.35" width="0.254" layer="16"/>
+<wire x1="3.556" y1="6.35" x2="3.302" y2="6.096" width="0.254" layer="16"/>
+<wire x1="3.302" y1="6.096" x2="2.226" y2="6.096" width="0.254" layer="16"/>
+</signal>
+<signal name="V_USB">
+<contactref element="IC1" pad="3"/>
+<contactref element="IC1" pad="1"/>
+<contactref element="C1" pad="2"/>
+<contactref element="X1" pad="1"/>
+<wire x1="10.884" y1="8.382" x2="10.734" y2="8.232" width="0.254" layer="1"/>
+<wire x1="10.734" y1="8.232" x2="10.734" y2="7.62" width="0.254" layer="1"/>
+<wire x1="10.734" y1="7.62" x2="10.734" y2="6.634" width="0.254" layer="1"/>
+<wire x1="10.18" y1="7.696" x2="7.826" y2="7.696" width="0.254" layer="1"/>
+<wire x1="10.734" y1="6.634" x2="10.668" y2="6.822" width="0.254" layer="1"/>
+<wire x1="10.668" y1="6.822" x2="10.668" y2="5.842" width="0.254" layer="1"/>
+<wire x1="10.668" y1="5.842" x2="10.922" y2="5.588" width="0.254" layer="1"/>
+<wire x1="10.922" y1="5.588" x2="12.446" y2="5.588" width="0.254" layer="1"/>
+<wire x1="12.634" y1="6.634" x2="12.7" y2="6.822" width="0.254" layer="1"/>
+<wire x1="12.7" y1="6.822" x2="12.7" y2="5.842" width="0.254" layer="1"/>
+<wire x1="12.7" y1="5.842" x2="12.446" y2="5.588" width="0.254" layer="1"/>
+<wire x1="10.18" y1="7.696" x2="10.256" y2="7.62" width="0.254" layer="1"/>
+<wire x1="10.256" y1="7.62" x2="10.734" y2="7.62" width="0.254" layer="1"/>
+</signal>
+<signal name="+3V3">
+<contactref element="IC1" pad="5"/>
+<contactref element="C2" pad="2"/>
+<contactref element="IC2" pad="12"/>
+<contactref element="R6" pad="2"/>
+<contactref element="R5" pad="2"/>
+<wire x1="2.226" y1="8.636" x2="3.556" y2="8.636" width="0.254" layer="16"/>
+<wire x1="3.556" y1="8.636" x2="4.572" y2="9.652" width="0.254" layer="16"/>
+<via x="4.572" y="9.652" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="4.572" y1="9.652" x2="3.81" y2="8.89" width="0.254" layer="1"/>
+<wire x1="3.81" y1="8.89" x2="2.286" y2="8.89" width="0.254" layer="1"/>
+<wire x1="2.286" y1="8.89" x2="2.032" y2="8.636" width="0.254" layer="1"/>
+<wire x1="2.032" y1="8.636" x2="2.032" y2="3.556" width="0.254" layer="1"/>
+<wire x1="2.032" y1="3.556" x2="2.286" y2="3.302" width="0.254" layer="1"/>
+<wire x1="2.286" y1="3.302" x2="3.556" y2="3.302" width="0.254" layer="1"/>
+<wire x1="3.556" y1="3.302" x2="4.318" y2="2.54" width="0.254" layer="1"/>
+<wire x1="4.318" y1="2.54" x2="5.334" y2="2.54" width="0.254" layer="1"/>
+<wire x1="5.334" y1="2.54" x2="6.096" y2="3.302" width="0.254" layer="1"/>
+<wire x1="6.096" y1="3.302" x2="9.398" y2="3.302" width="0.254" layer="1"/>
+<wire x1="9.398" y1="3.302" x2="9.906" y2="2.794" width="0.254" layer="1"/>
+<wire x1="9.906" y1="2.794" x2="9.906" y2="1.778" width="0.254" layer="1"/>
+<wire x1="9.906" y1="1.778" x2="10.16" y2="1.524" width="0.254" layer="1"/>
+<wire x1="10.16" y1="1.524" x2="12.446" y2="1.524" width="0.254" layer="1"/>
+<wire x1="12.446" y1="1.524" x2="13.716" y2="1.524" width="0.254" layer="1"/>
+<wire x1="12.484" y1="3.302" x2="12.484" y2="1.778" width="0.254" layer="16"/>
+<via x="13.716" y="1.524" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="13.716" y1="1.524" x2="13.462" y2="1.778" width="0.254" layer="16"/>
+<wire x1="13.462" y1="1.778" x2="12.484" y2="1.778" width="0.254" layer="16"/>
+<wire x1="12.484" y1="2.54" x2="12.446" y2="2.502" width="0.254" layer="1"/>
+<wire x1="12.446" y1="2.502" x2="12.446" y2="1.524" width="0.254" layer="1"/>
+<wire x1="12.634" y1="4.034" x2="12.484" y2="3.884" width="0.254" layer="1"/>
+<wire x1="12.484" y1="3.884" x2="12.484" y2="2.54" width="0.254" layer="1"/>
+</signal>
+<signal name="SWDIO">
+<contactref element="IC2" pad="8"/>
+<contactref element="TP1" pad="1"/>
+<wire x1="2.226" y1="3.556" x2="3.556" y2="3.556" width="0.254" layer="16"/>
+<wire x1="3.556" y1="3.556" x2="4.318" y2="2.794" width="0.254" layer="16"/>
+<wire x1="4.318" y1="2.794" x2="4.318" y2="1.524" width="0.254" layer="16"/>
+</signal>
+<signal name="PA02">
+<contactref element="IC2" pad="13"/>
+</signal>
+<signal name="PA04">
+<contactref element="IC2" pad="14"/>
+<contactref element="R7" pad="1"/>
+<wire x1="2.226" y1="11.176" x2="4.064" y2="11.176" width="0.254" layer="16"/>
+<wire x1="4.064" y1="11.176" x2="4.318" y2="10.922" width="0.254" layer="16"/>
+<wire x1="4.318" y1="10.922" x2="4.572" y2="10.922" width="0.254" layer="16"/>
+<via x="4.572" y="10.922" extent="1-16" drill="0.508" diameter="0.254"/>
+<wire x1="4.572" y1="10.922" x2="5.334" y2="10.922" width="0.254" layer="1"/>
+<wire x1="5.334" y1="10.922" x2="5.588" y2="10.668" width="0.254" layer="1"/>
+<wire x1="5.588" y1="10.668" x2="5.588" y2="9.144" width="0.254" layer="1"/>
+<wire x1="5.588" y1="9.144" x2="5.842" y2="8.89" width="0.254" layer="1"/>
+<wire x1="5.842" y1="8.89" x2="9.652" y2="8.89" width="0.254" layer="1"/>
+<wire x1="9.652" y1="8.89" x2="9.906" y2="9.144" width="0.254" layer="1"/>
+<wire x1="9.906" y1="9.144" x2="9.906" y2="10.668" width="0.254" layer="1"/>
+<wire x1="9.906" y1="10.668" x2="10.16" y2="10.922" width="0.254" layer="1"/>
+<wire x1="10.16" y1="10.922" x2="10.884" y2="10.922" width="0.254" layer="1"/>
+</signal>
+<signal name="SWCLK">
+<contactref element="IC2" pad="7"/>
+<contactref element="R6" pad="1"/>
+<contactref element="TP2" pad="1"/>
+<wire x1="9.398" y1="3.048" x2="9.398" y2="1.524" width="0.254" layer="16"/>
+<wire x1="9.398" y1="3.048" x2="8.89" y2="3.556" width="0.254" layer="16"/>
+<wire x1="8.89" y1="3.556" x2="7.426" y2="3.556" width="0.254" layer="16"/>
+<wire x1="9.398" y1="1.524" x2="10.668" y2="1.524" width="0.254" layer="16"/>
+<wire x1="10.668" y1="1.524" x2="10.668" y2="1.778" width="0.254" layer="16"/>
+<wire x1="10.668" y1="1.778" x2="10.884" y2="1.778" width="0.254" layer="16"/>
+</signal>
+<signal name="RESET">
+<contactref element="IC2" pad="6"/>
+<contactref element="R5" pad="1"/>
+<contactref element="TP3" pad="1"/>
+<wire x1="7.426" y1="4.826" x2="6.35" y2="4.826" width="0.254" layer="16"/>
+<wire x1="6.35" y1="4.826" x2="5.842" y2="4.318" width="0.254" layer="16"/>
+<wire x1="5.842" y1="4.318" x2="5.842" y2="2.032" width="0.254" layer="16"/>
+<wire x1="5.842" y1="2.032" x2="6.35" y2="1.524" width="0.254" layer="16"/>
+<wire x1="6.35" y1="1.524" x2="6.858" y2="1.524" width="0.254" layer="16"/>
+<wire x1="7.426" y1="4.826" x2="8.89" y2="4.826" width="0.254" layer="16"/>
+<wire x1="8.89" y1="4.826" x2="10.414" y2="3.302" width="0.254" layer="16"/>
+<wire x1="10.414" y1="3.302" x2="10.884" y2="3.302" width="0.254" layer="16"/>
+</signal>
+<signal name="N$8">
+</signal>
+<signal name="N$5">
+<contactref element="J1" pad="2"/>
+<contactref element="R2" pad="1"/>
+<wire x1="14.859" y1="3.556" x2="14.224" y2="3.556" width="0.254" layer="16"/>
+<wire x1="14.224" y1="3.556" x2="12.954" y2="4.826" width="0.254" layer="16"/>
+<wire x1="12.954" y1="4.826" x2="12.484" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="N$9">
+<contactref element="R3" pad="1"/>
+<contactref element="J1" pad="4"/>
+<wire x1="14.859" y1="4.826" x2="14.478" y2="4.826" width="0.254" layer="16"/>
+<wire x1="14.478" y1="4.826" x2="12.954" y2="6.35" width="0.254" layer="16"/>
+<wire x1="12.954" y1="6.35" x2="12.484" y2="6.35" width="0.254" layer="16"/>
+</signal>
+<signal name="N$10">
+<contactref element="J1" pad="6"/>
+<contactref element="R4" pad="1"/>
+<wire x1="14.859" y1="6.096" x2="14.732" y2="6.096" width="0.254" layer="16"/>
+<wire x1="14.732" y1="6.096" x2="12.954" y2="7.874" width="0.254" layer="16"/>
+<wire x1="12.954" y1="7.874" x2="12.484" y2="7.874" width="0.254" layer="16"/>
+</signal>
+<signal name="N$11">
+<contactref element="R1" pad="1"/>
+<contactref element="J1" pad="8"/>
+<wire x1="14.859" y1="7.366" x2="14.732" y2="7.366" width="0.254" layer="16"/>
+<wire x1="14.732" y1="7.366" x2="13.462" y2="8.636" width="0.254" layer="16"/>
+<wire x1="13.462" y1="8.636" x2="13.462" y2="8.89" width="0.254" layer="16"/>
+<wire x1="13.462" y1="8.89" x2="12.954" y2="9.398" width="0.254" layer="16"/>
+<wire x1="12.954" y1="9.398" x2="12.484" y2="9.398" width="0.254" layer="16"/>
+</signal>
+<signal name="N$12">
+<contactref element="J1" pad="10"/>
+<contactref element="R8" pad="1"/>
+<wire x1="14.859" y1="8.636" x2="14.732" y2="8.763" width="0.254" layer="16"/>
+<wire x1="14.732" y1="8.763" x2="14.732" y2="9.144" width="0.254" layer="16"/>
+<wire x1="14.732" y1="9.144" x2="12.954" y2="10.922" width="0.254" layer="16"/>
+<wire x1="12.954" y1="10.922" x2="12.484" y2="10.922" width="0.254" layer="16"/>
+</signal>
+<signal name="PA14">
+<contactref element="IC2" pad="4"/>
+<wire x1="7.426" y1="7.366" x2="9.144" y2="7.366" width="0.254" layer="16"/>
+<wire x1="9.144" y1="7.366" x2="10.16" y2="6.35" width="0.254" layer="16"/>
+<contactref element="R3" pad="2"/>
+<wire x1="10.16" y1="6.35" x2="10.884" y2="6.35" width="0.254" layer="16"/>
+</signal>
+<signal name="PA15">
+<contactref element="IC2" pad="5"/>
+<wire x1="7.426" y1="6.096" x2="9.144" y2="6.096" width="0.254" layer="16"/>
+<wire x1="9.144" y1="6.096" x2="10.414" y2="4.826" width="0.254" layer="16"/>
+<contactref element="R2" pad="2"/>
+<wire x1="10.884" y1="4.826" x2="10.414" y2="4.826" width="0.254" layer="16"/>
+</signal>
+<signal name="N$3">
+<contactref element="R7" pad="2"/>
+<contactref element="LED1" pad="1"/>
+<wire x1="12.484" y1="10.922" x2="12.484" y2="9.652" width="0.254" layer="1"/>
+</signal>
+<signal name="PA09">
+<contactref element="IC2" pad="3"/>
+<contactref element="R4" pad="2"/>
+<wire x1="9.652" y1="8.636" x2="10.414" y2="7.874" width="0.254" layer="16"/>
+<wire x1="10.414" y1="7.874" x2="10.884" y2="7.874" width="0.254" layer="16"/>
+<wire x1="9.652" y1="8.636" x2="7.426" y2="8.636" width="0.254" layer="16"/>
+</signal>
+<signal name="PA08">
+<contactref element="IC2" pad="2"/>
+<contactref element="R1" pad="2"/>
+<wire x1="9.652" y1="9.906" x2="10.16" y2="9.398" width="0.254" layer="16"/>
+<wire x1="10.16" y1="9.398" x2="10.884" y2="9.398" width="0.254" layer="16"/>
+<wire x1="9.652" y1="9.906" x2="7.426" y2="9.906" width="0.254" layer="16"/>
+</signal>
+<signal name="PA05">
+<contactref element="IC2" pad="1"/>
+<contactref element="R8" pad="2"/>
+<wire x1="9.906" y1="11.176" x2="10.16" y2="10.922" width="0.254" layer="16"/>
+<wire x1="10.16" y1="10.922" x2="10.884" y2="10.922" width="0.254" layer="16"/>
+<wire x1="9.906" y1="11.176" x2="7.426" y2="11.176" width="0.254" layer="16"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>

+ 1430 - 0
dap_link/lib/free-dap/hardware/d11_usb_std/d11_usb_std.sch

@@ -0,0 +1,1430 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="7.3.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="6" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="ataradov_mcu">
+<description>Alex Taradov Library (MCUs)</description>
+<packages>
+<package name="SO-14">
+<description>SO-14</description>
+<wire x1="4.305" y1="-1.9" x2="-4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.9" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="-1.4" x2="-4.305" y2="1.9" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="-4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="1.9" x2="4.305" y2="-1.4" width="0.2032" layer="51"/>
+<wire x1="4.305" y1="-1.4" x2="4.305" y2="-1.9" width="0.2032" layer="51"/>
+<wire x1="-4.305" y1="1.9" x2="4.305" y2="1.9" width="0.2032" layer="51"/>
+<smd name="2" x="-2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="13" x="-2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="1" x="-3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="3" x="-1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="4" x="0" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="14" x="-3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="12" x="-1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="11" x="0" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="6" x="2.54" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="9" x="2.54" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="5" x="1.27" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="7" x="3.81" y="-2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="10" x="1.27" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<smd name="8" x="3.81" y="2.6" dx="0.6" dy="2.2" layer="1"/>
+<text x="-4.826" y="0" size="1.27" layer="25" font="vector" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="6.096" y="0" size="1.27" layer="27" font="vector" rot="R90" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-4.0551" y1="-3.1001" x2="-3.5649" y2="-2" layer="51"/>
+<rectangle x1="-2.7851" y1="-3.1001" x2="-2.2949" y2="-2" layer="51"/>
+<rectangle x1="-1.5151" y1="-3.1001" x2="-1.0249" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="-3.1001" x2="0.2451" y2="-2" layer="51"/>
+<rectangle x1="-0.2451" y1="2" x2="0.2451" y2="3.1001" layer="51"/>
+<rectangle x1="-1.5151" y1="2" x2="-1.0249" y2="3.1001" layer="51"/>
+<rectangle x1="-2.7851" y1="2" x2="-2.2949" y2="3.1001" layer="51"/>
+<rectangle x1="-4.0551" y1="2" x2="-3.5649" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="-3.1001" x2="1.5151" y2="-2" layer="51"/>
+<rectangle x1="2.2949" y1="-3.1001" x2="2.7851" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="-3.1001" x2="4.0551" y2="-2" layer="51"/>
+<rectangle x1="3.5649" y1="2" x2="4.0551" y2="3.1001" layer="51"/>
+<rectangle x1="2.2949" y1="2" x2="2.7851" y2="3.1001" layer="51"/>
+<rectangle x1="1.0249" y1="2" x2="1.5151" y2="3.1001" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="ATSAMDXXC">
+<description>Atmel SAM D09C/D10C/D11C Cortex-M0+ microcontroller</description>
+<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="10.16" x2="12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="12.7" y1="-10.16" x2="-12.7" y2="-10.16" width="0.254" layer="94"/>
+<wire x1="-12.7" y1="-10.16" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
+<pin name="PA28/RST" x="-17.78" y="-5.08" length="middle"/>
+<pin name="PA8" x="-17.78" y="5.08" length="middle"/>
+<pin name="PA9" x="-17.78" y="2.54" length="middle"/>
+<pin name="PA14" x="-17.78" y="0" length="middle"/>
+<pin name="PA15" x="-17.78" y="-2.54" length="middle"/>
+<pin name="PA5" x="-17.78" y="7.62" length="middle"/>
+<pin name="PA04" x="17.78" y="7.62" length="middle" rot="R180"/>
+<pin name="PA02" x="17.78" y="5.08" length="middle" rot="R180"/>
+<text x="0" y="10.922" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-12.192" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="PA30/SCK" x="-17.78" y="-7.62" length="middle"/>
+<pin name="VDD" x="17.78" y="2.54" length="middle" rot="R180"/>
+<pin name="GND" x="17.78" y="0" length="middle" rot="R180"/>
+<pin name="PA25" x="17.78" y="-2.54" length="middle" rot="R180"/>
+<pin name="PA24" x="17.78" y="-5.08" length="middle" rot="R180"/>
+<pin name="PA31/SIO" x="17.78" y="-7.62" length="middle" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="ATSAMD11C" prefix="IC">
+<gates>
+<gate name="G$1" symbol="ATSAMDXXC" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="SO-14">
+<connects>
+<connect gate="G$1" pin="GND" pad="11"/>
+<connect gate="G$1" pin="PA02" pad="13"/>
+<connect gate="G$1" pin="PA04" pad="14"/>
+<connect gate="G$1" pin="PA14" pad="4"/>
+<connect gate="G$1" pin="PA15" pad="5"/>
+<connect gate="G$1" pin="PA24" pad="9"/>
+<connect gate="G$1" pin="PA25" pad="10"/>
+<connect gate="G$1" pin="PA28/RST" pad="6"/>
+<connect gate="G$1" pin="PA30/SCK" pad="7"/>
+<connect gate="G$1" pin="PA31/SIO" pad="8"/>
+<connect gate="G$1" pin="PA5" pad="1"/>
+<connect gate="G$1" pin="PA8" pad="2"/>
+<connect gate="G$1" pin="PA9" pad="3"/>
+<connect gate="G$1" pin="VDD" pad="12"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_pwr">
+<description>Alex Taradov Library (Power Symbols)</description>
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="-2.032" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V_USB">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="0" y="0.762" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+<pin name="V_USB" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="P_">
+<gates>
+<gate name="1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="P_">
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V_USB" prefix="P_">
+<gates>
+<gate name="1" symbol="V_USB" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_conn">
+<description>Alex Taradov Library (Connectors)</description>
+<packages>
+<package name="HEADER-5X2-1.27MM">
+<wire x1="-3.81" y1="1.905" x2="3.81" y2="1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="3.81" y1="-1.905" x2="-3.175" y2="-1.905" width="0.127" layer="21"/>
+<wire x1="-3.175" y1="-1.905" x2="-3.81" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="-1.27" x2="-3.81" y2="1.905" width="0.127" layer="21"/>
+<pad name="1" x="-2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="2" x="-2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="3" x="-1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="4" x="-1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="5" x="0" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="6" x="0" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="7" x="1.27" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="8" x="1.27" y="0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="9" x="2.54" y="-0.635" drill="0.6604" diameter="1.0668"/>
+<pad name="10" x="2.54" y="0.635" drill="0.6604" diameter="1.0668"/>
+<text x="0" y="2.54" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="HEADER-5X2-2.54MM">
+<wire x1="-6.35" y1="0" x2="-3.81" y2="0" width="0.127" layer="21"/>
+<wire x1="-3.81" y1="0" x2="-3.81" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="-1.27" drill="1.016" shape="square"/>
+<pad name="2" x="-5.08" y="1.27" drill="1.016"/>
+<pad name="3" x="-2.54" y="-1.27" drill="1.016"/>
+<pad name="4" x="-2.54" y="1.27" drill="1.016"/>
+<pad name="5" x="0" y="-1.27" drill="1.016"/>
+<pad name="6" x="0" y="1.27" drill="1.016"/>
+<pad name="7" x="2.54" y="-1.27" drill="1.016"/>
+<pad name="8" x="2.54" y="1.27" drill="1.016"/>
+<pad name="9" x="5.08" y="-1.27" drill="1.016"/>
+<pad name="10" x="5.08" y="1.27" drill="1.016"/>
+<text x="0" y="3.175" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="HEADER-5X2">
+<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-7.62" x2="5.08" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
+<wire x1="5.08" y1="7.62" x2="-5.08" y2="7.62" width="0.254" layer="94"/>
+<pin name="1" x="-7.62" y="5.08" length="short" direction="pas"/>
+<pin name="2" x="7.62" y="5.08" length="short" direction="pas" rot="R180"/>
+<pin name="3" x="-7.62" y="2.54" length="short" direction="pas"/>
+<pin name="4" x="7.62" y="2.54" length="short" direction="pas" rot="R180"/>
+<pin name="5" x="-7.62" y="0" length="short" direction="pas"/>
+<pin name="6" x="7.62" y="0" length="short" direction="pas" rot="R180"/>
+<pin name="7" x="-7.62" y="-2.54" length="short" direction="pas"/>
+<pin name="8" x="7.62" y="-2.54" length="short" direction="pas" rot="R180"/>
+<pin name="9" x="-7.62" y="-5.08" length="short" direction="pas"/>
+<pin name="10" x="7.62" y="-5.08" length="short" direction="pas" rot="R180"/>
+<text x="0" y="8.382" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="HEADER-5X2" prefix="J">
+<gates>
+<gate name="G$1" symbol="HEADER-5X2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-TH-1.27" package="HEADER-5X2-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-TH-2.54" package="HEADER-5X2-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="10" pad="10"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+<connect gate="G$1" pin="7" pad="7"/>
+<connect gate="G$1" pin="8" pad="8"/>
+<connect gate="G$1" pin="9" pad="9"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_rlc">
+<description>Alex Taradov Library (R, L and C)</description>
+<packages>
+<package name="SMD0402">
+<wire x1="-1" y1="0.5" x2="1" y2="0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="0.5" x2="1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="1" y1="-0.5" x2="-1" y2="-0.5" width="0.1" layer="21"/>
+<wire x1="-1" y1="-0.5" x2="-1" y2="0.5" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<smd name="2" x="0.5" y="0" dx="0.6" dy="0.6" layer="1"/>
+<text x="0" y="0.762" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0508">
+<wire x1="-1" y1="1.25" x2="1" y2="1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="1.25" x2="1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="1" y1="-1.25" x2="-1" y2="-1.25" width="0.1" layer="21"/>
+<wire x1="-1" y1="-1.25" x2="-1" y2="1.25" width="0.1" layer="21"/>
+<smd name="1" x="-0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<smd name="2" x="0.5" y="0" dx="2" dy="0.5" layer="1" rot="R90"/>
+<text x="0" y="1.524" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0612">
+<wire x1="-1.8" y1="1.4" x2="1.8" y2="1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="1.4" x2="1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="1.8" y1="-1.4" x2="-1.8" y2="-1.4" width="0.1" layer="21"/>
+<wire x1="-1.8" y1="-1.4" x2="-1.8" y2="1.4" width="0.1" layer="21"/>
+<smd name="1" x="0" y="0.8" dx="3.2" dy="0.8" layer="1"/>
+<smd name="2" x="0" y="-0.8" dx="3.2" dy="0.8" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD1206">
+<wire x1="-2.5" y1="1.5" x2="2.5" y2="1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="1.5" x2="2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="2.5" y1="-1.5" x2="-2.5" y2="-1.5" width="0.1" layer="21"/>
+<wire x1="-2.5" y1="-1.5" x2="-2.5" y2="1.5" width="0.1" layer="21"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD2512">
+<wire x1="-5.5" y1="2.5" x2="5.5" y2="2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="2.5" x2="5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="5.5" y1="-2.5" x2="-5.5" y2="-2.5" width="0.1" layer="21"/>
+<wire x1="-5.5" y1="-2.5" x2="-5.5" y2="2.5" width="0.1" layer="21"/>
+<smd name="1" x="-3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<smd name="2" x="3.25" y="0" dx="3.5" dy="3" layer="1" rot="R90"/>
+<text x="0" y="2.794" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="C">
+<rectangle x1="-1.524" y1="-0.254" x2="2.54" y2="0.254" layer="94" rot="R90"/>
+<rectangle x1="-2.54" y1="-0.254" x2="1.524" y2="0.254" layer="94" rot="R90"/>
+<wire x1="-2.54" y1="0" x2="-0.762" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="0" x2="0.762" y2="0" width="0.1524" layer="94"/>
+<pin name="1" x="-2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1"/>
+<pin name="2" x="2.54" y="0" visible="off" length="point" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="2.413" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.683" size="1.27" layer="96" align="bottom-center">&gt;VALUE</text>
+</symbol>
+<symbol name="R">
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<text x="0" y="1.524" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="0" y="0" size="1.016" layer="96" align="center">&gt;VALUE</text>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="C" prefix="C" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="C" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="R" prefix="R" uservalue="yes">
+<gates>
+<gate name="G$1" symbol="R" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-0402" package="SMD0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0508" package="SMD0508">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0612" package="SMD0612">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-1206" package="SMD1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2512" package="SMD2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_vreg">
+<description>Alex Taradov Library (Voltage Regulators)</description>
+<packages>
+<package name="SOT23-5">
+<description>SOT23-5</description>
+<wire x1="1.422" y1="0.81" x2="1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="51"/>
+<wire x1="-1.422" y1="-0.81" x2="-1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="51"/>
+<wire x1="-0.522" y1="0.81" x2="0.522" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-0.428" y1="-0.81" x2="-0.522" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="0.522" y1="-0.81" x2="0.428" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="-1.328" y1="-0.81" x2="-1.422" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.422" y1="-0.81" x2="1.328" y2="-0.81" width="0.1524" layer="21"/>
+<wire x1="1.328" y1="0.81" x2="1.422" y2="0.81" width="0.1524" layer="21"/>
+<wire x1="-1.422" y1="0.81" x2="-1.328" y2="0.81" width="0.1524" layer="21"/>
+<smd name="1" x="-0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="2" x="0" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="3" x="0.95" y="-1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="4" x="0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<smd name="5" x="-0.95" y="1.3" dx="0.55" dy="1.2" layer="1"/>
+<text x="0" y="2.286" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+<text x="0" y="-3.556" size="1.27" layer="27" font="vector" align="bottom-center">&gt;VALUE</text>
+<rectangle x1="-1.2" y1="-1.5" x2="-0.7" y2="-0.85" layer="51"/>
+<rectangle x1="-0.25" y1="-1.5" x2="0.25" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="-1.5" x2="1.2" y2="-0.85" layer="51"/>
+<rectangle x1="0.7" y1="0.85" x2="1.2" y2="1.5" layer="51"/>
+<rectangle x1="-1.2" y1="0.85" x2="-0.7" y2="1.5" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="VREG-3-EN">
+<wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="7.62" y1="-2.54" x2="-7.62" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-7.62" y1="-2.54" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.032" y="-1.524" size="1.524" layer="95">GND</text>
+<text x="0" y="5.842" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>
+<text x="1.524" y="-4.318" size="1.27" layer="96">&gt;VALUE</text>
+<pin name="IN" x="-10.16" y="2.54" length="short" direction="sup"/>
+<pin name="OUT" x="10.16" y="2.54" length="short" direction="sup" rot="R180"/>
+<pin name="GND" x="0" y="-5.08" visible="pad" length="short" direction="pwr" rot="R90"/>
+<pin name="EN" x="-10.16" y="0" length="short" direction="in"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MIC5504" prefix="IC" uservalue="yes">
+<description>LM1117 voltage regulator</description>
+<gates>
+<gate name="G$1" symbol="VREG-3-EN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-SOT23-5" package="SOT23-5">
+<connects>
+<connect gate="G$1" pin="EN" pad="3"/>
+<connect gate="G$1" pin="GND" pad="2"/>
+<connect gate="G$1" pin="IN" pad="1"/>
+<connect gate="G$1" pin="OUT" pad="5"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="con-cypressindustries">
+<description>&lt;b&gt;Connectors from Cypress Industries&lt;/b&gt;&lt;p&gt;
+www.cypressindustries.com&lt;br&gt;
+&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
+<packages>
+<package name="32005-201">
+<description>&lt;b&gt;MINI USB-B R/A SMT W/ REAR&lt;/b&gt;&lt;p&gt;
+Source: http://www.cypressindustries.com/pdf/32005-201.pdf</description>
+<wire x1="-5.9182" y1="3.8416" x2="-3.6879" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="3.8416" x2="-3.6879" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="4.8799" x2="-3.3245" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.8799" x2="-3.3245" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.4646" x2="-2.7015" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.4646" x2="-2.7015" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.8799" x2="-2.3093" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="4.8799" x2="-2.3093" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-1.5825" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="0.7266" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="3.8416" x2="0.519" y2="4.0492" width="0.1016" layer="21" curve="-90"/>
+<wire x1="0.519" y1="4.0492" x2="0.519" y2="4.205" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="4.205" x2="2.907" y2="4.205" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="4.205" x2="3.4781" y2="3.6339" width="0.1016" layer="51" curve="-90"/>
+<wire x1="-5.9182" y1="-3.8415" x2="-5.9182" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-5.9182" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.9591" x2="-4.5685" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="2.7514" x2="-4.828" y2="2.5438" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.828" y1="2.5438" x2="-4.828" y2="1.9727" width="0.1016" layer="21" curve="34.099487"/>
+<wire x1="-4.828" y1="1.9727" x2="-4.5685" y2="1.7651" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.5685" y1="1.7651" x2="-1.8171" y2="1.5055" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.5055" x2="-1.8171" y2="1.7132" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.7132" x2="-4.2051" y2="1.9727" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="1.9727" x2="-4.2051" y2="2.4919" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="2.4919" x2="-1.8171" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.7514" x2="-1.8171" y2="2.9591" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="3.8416" x2="3.0627" y2="3.5821" width="0.1016" layer="51" curve="-90"/>
+<wire x1="3.0627" y1="3.5821" x2="3.0627" y2="3.011" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="3.011" x2="3.4261" y2="3.011" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="4.2569" x2="1.713" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="4.8799" x2="2.1283" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.8799" x2="2.1283" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.4646" x2="2.6474" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.4646" x2="2.6474" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.8799" x2="3.0627" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="4.8799" x2="3.0627" y2="4.2569" width="0.1016" layer="51"/>
+<wire x1="0.5709" y1="1.7651" x2="0.5709" y2="-1.765" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="-1.8169" x2="1.0381" y2="1.817" width="0.1016" layer="21"/>
+<wire x1="1.0381" y1="1.817" x2="0.8305" y2="2.0246" width="0.1016" layer="21" curve="90.055225"/>
+<wire x1="0.8305" y1="2.0246" x2="0.8304" y2="2.0246" width="0.1016" layer="21"/>
+<wire x1="0.8304" y1="2.0246" x2="0.5709" y2="1.7651" width="0.1016" layer="21" curve="89.955858"/>
+<wire x1="1.5573" y1="-2.0246" x2="3.4261" y2="-2.0246" width="0.1016" layer="21"/>
+<wire x1="3.0627" y1="-1.9726" x2="3.0627" y2="1.9727" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="1.2459" x2="-0.5192" y2="1.0383" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="1.0383" x2="-0.3116" y2="0.8306" width="0.1016" layer="21" curve="-83.771817"/>
+<wire x1="-4.5685" y1="1.2459" x2="-4.7761" y2="1.0383" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.7761" y1="1.0383" x2="-4.7761" y2="1.0382" width="0.1016" layer="21"/>
+<wire x1="-4.7761" y1="1.0382" x2="-4.5685" y2="0.8306" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.5685" y1="0.8306" x2="-1.1422" y2="0.623" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-3.6879" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-3.8414" x2="-3.6879" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-4.8797" x2="-3.3245" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.8797" x2="-3.3245" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.4644" x2="-2.7015" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.4644" x2="-2.7015" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.8797" x2="-2.3093" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-4.8797" x2="-2.3093" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-3.8414" x2="2.8032" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="0.7266" y1="-3.8414" x2="0.519" y2="-4.049" width="0.1016" layer="21" curve="90"/>
+<wire x1="0.519" y1="-4.049" x2="0.519" y2="-4.2048" width="0.1016" layer="21"/>
+<wire x1="0.519" y1="-4.2048" x2="2.907" y2="-4.2048" width="0.1016" layer="51"/>
+<wire x1="2.907" y1="-4.2048" x2="3.4781" y2="-3.6337" width="0.1016" layer="51" curve="90.020069"/>
+<wire x1="-1.8171" y1="-2.9589" x2="-4.5685" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-2.7512" x2="-4.828" y2="-2.5436" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.828" y1="-2.5436" x2="-4.828" y2="-1.9725" width="0.1016" layer="21" curve="-34.099487"/>
+<wire x1="-4.828" y1="-1.9725" x2="-4.5685" y2="-1.7649" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.5685" y1="-1.7649" x2="-1.8171" y2="-1.5053" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.5053" x2="-1.8171" y2="-1.713" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.713" x2="-4.2051" y2="-1.9725" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-1.9725" x2="-4.2051" y2="-2.4917" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-2.4917" x2="-1.8171" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-2.7512" x2="-1.8171" y2="-2.9589" width="0.1016" layer="21"/>
+<wire x1="2.8032" y1="-3.8414" x2="3.0627" y2="-3.5819" width="0.1016" layer="51" curve="90.044176"/>
+<wire x1="3.0627" y1="-3.5819" x2="3.0627" y2="-3.0108" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-3.0108" x2="3.4261" y2="-3.0108" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="-4.2567" x2="1.713" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="-4.8797" x2="2.1283" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.8797" x2="2.1283" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.4644" x2="2.6474" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.4644" x2="2.6474" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.8797" x2="3.0627" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="3.0627" y1="-4.8797" x2="3.0627" y2="-4.2567" width="0.1016" layer="51"/>
+<wire x1="1.0381" y1="-1.8168" x2="0.8305" y2="-2.0244" width="0.1016" layer="21" curve="-90.055225"/>
+<wire x1="0.8304" y1="-2.0244" x2="0.5709" y2="-1.7649" width="0.1016" layer="21" curve="-89.867677"/>
+<wire x1="1.5573" y1="-1.9725" x2="1.5573" y2="2.0248" width="0.1016" layer="51"/>
+<wire x1="1.5573" y1="2.0248" x2="3.4261" y2="2.0248" width="0.1016" layer="21"/>
+<wire x1="-4.5684" y1="-1.2457" x2="-0.5192" y2="-1.0381" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="-1.0381" x2="-0.3116" y2="-0.8304" width="0.1016" layer="21" curve="83.722654"/>
+<wire x1="-0.3116" y1="-0.8304" x2="-0.3116" y2="0.8307" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-1.2457" x2="-4.7761" y2="-1.0381" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.7761" y1="-1.038" x2="-4.5685" y2="-0.8304" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.5685" y1="-0.8304" x2="-1.1422" y2="-0.6228" width="0.1016" layer="21"/>
+<wire x1="-1.1422" y1="-0.6228" x2="-1.1422" y2="0.6232" width="0.1016" layer="21"/>
+<wire x1="-1.5826" y1="-3.8414" x2="0.7267" y2="-3.8415" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-4.4146" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-4.4147" y2="3.8415" width="0.1016" layer="21"/>
+<wire x1="-2.3093" y1="3.8416" x2="0.7265" y2="3.8415" width="0.1016" layer="51"/>
+<wire x1="3.4781" y1="-2.0245" x2="3.4781" y2="-3.0109" width="0.1016" layer="21"/>
+<wire x1="3.4781" y1="3.634" x2="3.478" y2="-3.0109" width="0.1016" layer="51"/>
+<wire x1="3.4782" y1="3.011" x2="3.4782" y2="2.0246" width="0.1016" layer="21"/>
+<smd name="M1" x="-3" y="-4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M2" x="-3" y="4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M4" x="2.9" y="-4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="M3" x="2.9" y="4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="1" x="3" y="1.6" dx="3.1" dy="0.5" layer="1"/>
+<smd name="2" x="3" y="0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="3" x="3" y="0" dx="3.1" dy="0.5" layer="1"/>
+<smd name="4" x="3" y="-0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="5" x="3" y="-1.6" dx="3.1" dy="0.5" layer="1"/>
+<text x="-4.445" y="5.715" size="1.27" layer="25">&gt;NAME</text>
+<text x="-4.445" y="-6.985" size="1.27" layer="27">&gt;VALUE</text>
+<hole x="0" y="2.2" drill="0.9"/>
+<hole x="0" y="-2.2" drill="0.9"/>
+</package>
+<package name="32005-301">
+<description>&lt;b&gt;MINI USB-B R/A SMT W/O REAR&lt;/b&gt;&lt;p&gt;
+Source: http://www.cypressindustries.com/pdf/32005-301.pdf</description>
+<wire x1="-5.9228" y1="3.8473" x2="3.1598" y2="3.8473" width="0.1016" layer="51"/>
+<wire x1="2.9404" y1="3.7967" x2="2.9404" y2="2.5986" width="0.1016" layer="51"/>
+<wire x1="2.9404" y1="2.5986" x2="1.8098" y2="2.5986" width="0.1016" layer="21"/>
+<wire x1="1.8098" y1="3.7798" x2="1.8098" y2="-3.8473" width="0.1016" layer="51"/>
+<wire x1="3.1597" y1="-3.8473" x2="-5.9228" y2="-3.8473" width="0.1016" layer="51"/>
+<wire x1="-5.9228" y1="-3.8473" x2="-5.9228" y2="3.8473" width="0.1016" layer="21"/>
+<wire x1="2.9573" y1="-3.8217" x2="2.9573" y2="-2.6998" width="0.1016" layer="51"/>
+<wire x1="2.9573" y1="-2.6998" x2="1.8098" y2="-2.6998" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-3.6879" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="3.8416" x2="-3.6879" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="4.8799" x2="-3.3245" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.8799" x2="-3.3245" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="4.4646" x2="-2.7015" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.4646" x2="-2.7015" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="4.8799" x2="-2.3093" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="4.8799" x2="-2.3093" y2="3.8416" width="0.1016" layer="51"/>
+<wire x1="-5.9182" y1="-3.8415" x2="-5.9182" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-5.9182" y2="3.8416" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.9591" x2="-4.5685" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="2.7514" x2="-4.828" y2="2.5438" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.828" y1="2.5438" x2="-4.828" y2="1.9727" width="0.1016" layer="21" curve="34.099487"/>
+<wire x1="-4.828" y1="1.9727" x2="-4.5685" y2="1.7651" width="0.1016" layer="21" curve="68.629849"/>
+<wire x1="-4.5685" y1="1.7651" x2="-1.8171" y2="1.5055" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.5055" x2="-1.8171" y2="1.7132" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="1.7132" x2="-4.2051" y2="1.9727" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="1.9727" x2="-4.2051" y2="2.4919" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="2.4919" x2="-1.8171" y2="2.7514" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="2.7514" x2="-1.8171" y2="2.9591" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="3.8856" x2="1.713" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="4.8799" x2="2.1283" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.8799" x2="2.1283" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="4.4646" x2="2.6474" y2="4.4646" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.4646" x2="2.6474" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="4.8799" x2="3.1639" y2="4.8799" width="0.1016" layer="51"/>
+<wire x1="3.1639" y1="4.8799" x2="3.1639" y2="3.8519" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="1.2459" x2="-0.5192" y2="1.0383" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="1.0383" x2="-0.3116" y2="0.8306" width="0.1016" layer="21" curve="-83.771817"/>
+<wire x1="-4.5685" y1="1.2459" x2="-4.7761" y2="1.0383" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.7761" y1="1.0383" x2="-4.7761" y2="1.0382" width="0.1016" layer="21"/>
+<wire x1="-4.7761" y1="1.0382" x2="-4.5685" y2="0.8306" width="0.1016" layer="21" curve="90"/>
+<wire x1="-4.5685" y1="0.8306" x2="-1.1422" y2="0.623" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-3.6879" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-3.8414" x2="-3.6879" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.6879" y1="-4.8797" x2="-3.3245" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.8797" x2="-3.3245" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-3.3245" y1="-4.4644" x2="-2.7015" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.4644" x2="-2.7015" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.7015" y1="-4.8797" x2="-2.3093" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="-2.3093" y1="-4.8797" x2="-2.3093" y2="-3.8414" width="0.1016" layer="51"/>
+<wire x1="-1.8171" y1="-2.9589" x2="-4.5685" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-2.7512" x2="-4.828" y2="-2.5436" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.828" y1="-2.5436" x2="-4.828" y2="-1.9725" width="0.1016" layer="21" curve="-34.099487"/>
+<wire x1="-4.828" y1="-1.9725" x2="-4.5685" y2="-1.7649" width="0.1016" layer="21" curve="-68.629849"/>
+<wire x1="-4.5685" y1="-1.7649" x2="-1.8171" y2="-1.5053" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.5053" x2="-1.8171" y2="-1.713" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-1.713" x2="-4.2051" y2="-1.9725" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-1.9725" x2="-4.2051" y2="-2.4917" width="0.1016" layer="21"/>
+<wire x1="-4.2051" y1="-2.4917" x2="-1.8171" y2="-2.7512" width="0.1016" layer="21"/>
+<wire x1="-1.8171" y1="-2.7512" x2="-1.8171" y2="-2.9589" width="0.1016" layer="21"/>
+<wire x1="1.713" y1="-3.8855" x2="1.713" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="1.713" y1="-4.8797" x2="2.1283" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.8797" x2="2.1283" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.1283" y1="-4.4644" x2="2.6474" y2="-4.4644" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.4644" x2="2.6474" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="2.6474" y1="-4.8797" x2="3.1627" y2="-4.8797" width="0.1016" layer="51"/>
+<wire x1="3.1627" y1="-4.8797" x2="3.1627" y2="-3.8518" width="0.1016" layer="51"/>
+<wire x1="-4.5684" y1="-1.2457" x2="-0.5192" y2="-1.0381" width="0.1016" layer="21"/>
+<wire x1="-0.5192" y1="-1.0381" x2="-0.3116" y2="-0.8304" width="0.1016" layer="21" curve="83.722654"/>
+<wire x1="-0.3116" y1="-0.8304" x2="-0.3116" y2="0.8307" width="0.1016" layer="21"/>
+<wire x1="-4.5685" y1="-1.2457" x2="-4.7761" y2="-1.0381" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.7761" y1="-1.038" x2="-4.5685" y2="-0.8304" width="0.1016" layer="21" curve="-90"/>
+<wire x1="-4.5685" y1="-0.8304" x2="-1.1422" y2="-0.6228" width="0.1016" layer="21"/>
+<wire x1="-1.1422" y1="-0.6228" x2="-1.1422" y2="0.6232" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="-3.8414" x2="-4.4146" y2="-3.8414" width="0.1016" layer="21"/>
+<wire x1="-5.9182" y1="3.8416" x2="-4.4147" y2="3.8415" width="0.1016" layer="21"/>
+<wire x1="1.0842" y1="-3.8472" x2="-1.6031" y2="-3.8472" width="0.1016" layer="21"/>
+<wire x1="-1.5523" y1="3.8472" x2="0.9831" y2="3.8473" width="0.1016" layer="21"/>
+<wire x1="2.9404" y1="3.3243" x2="2.9404" y2="2.5986" width="0.1016" layer="21"/>
+<wire x1="1.8098" y1="2.5986" x2="1.8099" y2="3.3243" width="0.1016" layer="21"/>
+<wire x1="1.8098" y1="-2.6999" x2="1.8098" y2="-3.3242" width="0.1016" layer="21"/>
+<wire x1="2.9573" y1="-3.3324" x2="2.9573" y2="-2.6998" width="0.1016" layer="21"/>
+<smd name="M1" x="-3" y="-4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M2" x="-3" y="4.45" dx="2.5" dy="2" layer="1"/>
+<smd name="M4" x="2.9" y="-4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="M3" x="2.9" y="4.45" dx="3.3" dy="2" layer="1"/>
+<smd name="1" x="3" y="1.6" dx="3.1" dy="0.5" layer="1"/>
+<smd name="2" x="3" y="0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="3" x="3" y="0" dx="3.1" dy="0.5" layer="1"/>
+<smd name="4" x="3" y="-0.8" dx="3.1" dy="0.5" layer="1"/>
+<smd name="5" x="3" y="-1.6" dx="3.1" dy="0.5" layer="1"/>
+<text x="-4.445" y="5.715" size="1.27" layer="25">&gt;NAME</text>
+<text x="-4.445" y="-6.985" size="1.27" layer="27">&gt;VALUE</text>
+<hole x="0" y="2.2" drill="0.9"/>
+<hole x="0" y="-2.2" drill="0.9"/>
+</package>
+</packages>
+<symbols>
+<symbol name="MINI-USB-5">
+<wire x1="-2.54" y1="6.35" x2="-2.54" y2="-6.35" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-6.35" x2="-1.27" y2="-7.62" width="0.254" layer="94" curve="90"/>
+<wire x1="-1.27" y1="-7.62" x2="0" y2="-7.62" width="0.254" layer="94"/>
+<wire x1="0" y1="-7.62" x2="1.016" y2="-8.128" width="0.254" layer="94" curve="-53.130102"/>
+<wire x1="1.016" y1="-8.128" x2="2.54" y2="-8.89" width="0.254" layer="94" curve="53.130102"/>
+<wire x1="2.54" y1="-8.89" x2="5.08" y2="-8.89" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-8.89" x2="6.35" y2="-7.62" width="0.254" layer="94" curve="90"/>
+<wire x1="6.35" y1="-7.62" x2="6.35" y2="7.62" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="6.35" x2="-1.27" y2="7.62" width="0.254" layer="94" curve="-90"/>
+<wire x1="-1.27" y1="7.62" x2="0" y2="7.62" width="0.254" layer="94"/>
+<wire x1="0" y1="7.62" x2="1.016" y2="8.128" width="0.254" layer="94" curve="53.130102"/>
+<wire x1="1.016" y1="8.128" x2="2.54" y2="8.89" width="0.254" layer="94" curve="-53.130102"/>
+<wire x1="2.54" y1="8.89" x2="5.08" y2="8.89" width="0.254" layer="94"/>
+<wire x1="5.08" y1="8.89" x2="6.35" y2="7.62" width="0.254" layer="94" curve="-90"/>
+<wire x1="0" y1="5.08" x2="0" y2="-5.08" width="0.254" layer="94"/>
+<wire x1="0" y1="-5.08" x2="1.27" y2="-6.35" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-6.35" x2="3.81" y2="-6.35" width="0.254" layer="94"/>
+<wire x1="3.81" y1="-6.35" x2="3.81" y2="6.35" width="0.254" layer="94"/>
+<wire x1="3.81" y1="6.35" x2="1.27" y2="6.35" width="0.254" layer="94"/>
+<wire x1="1.27" y1="6.35" x2="0" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.54" y="11.43" size="1.778" layer="95">&gt;NAME</text>
+<text x="10.16" y="-7.62" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
+<pin name="1" x="-5.08" y="5.08" visible="pin" direction="pas"/>
+<pin name="2" x="-5.08" y="2.54" visible="pin" direction="pas"/>
+<pin name="3" x="-5.08" y="0" visible="pin" direction="pas"/>
+<pin name="4" x="-5.08" y="-2.54" visible="pin" direction="pas"/>
+<pin name="5" x="-5.08" y="-5.08" visible="pin" direction="pas"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="MINI-USB-" prefix="X">
+<description>&lt;b&gt;MINI USB-B Conector&lt;/b&gt;&lt;p&gt;
+Source: www.cypressindustries.com</description>
+<gates>
+<gate name="G$1" symbol="MINI-USB-5" x="0" y="0"/>
+</gates>
+<devices>
+<device name="32005-201" package="32005-201">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+</connects>
+<technologies>
+<technology name="">
+<attribute name="MF" value="" constant="no"/>
+<attribute name="MPN" value="" constant="no"/>
+<attribute name="OC_FARNELL" value="unknown" constant="no"/>
+<attribute name="OC_NEWARK" value="unknown" constant="no"/>
+</technology>
+</technologies>
+</device>
+<device name="32005-301" package="32005-301">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+</connects>
+<technologies>
+<technology name="">
+<attribute name="MF" value="" constant="no"/>
+<attribute name="MPN" value="" constant="no"/>
+<attribute name="OC_FARNELL" value="unknown" constant="no"/>
+<attribute name="OC_NEWARK" value="unknown" constant="no"/>
+</technology>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_misc">
+<description>Alex Taradov Library (Miscellaneous stuff)</description>
+<packages>
+<package name="TP-1.27MM">
+<smd name="1" x="0" y="0" dx="1.27" dy="1.27" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="TP-2.54MM">
+<smd name="1" x="0" y="0" dx="2.54" dy="2.54" layer="1" roundness="100" cream="no"/>
+<text x="0" y="1.778" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="TP">
+<text x="4.064" y="-0.508" size="1.27" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="0" visible="off" length="short" direction="pas"/>
+<circle x="3.048" y="0" radius="0.508" width="0" layer="94"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="TEST-POINT" prefix="TP" uservalue="yes">
+<description>Test Point</description>
+<gates>
+<gate name="G$1" symbol="TP" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-1.27MM" package="TP-1.27MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-2.54MM" package="TP-2.54MM">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="ataradov_led">
+<description>Alex Taradov Library (LEDs and other indication devices)</description>
+<packages>
+<package name="SMD0603">
+<wire x1="-1.5" y1="0.75" x2="1.5" y2="0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="0.75" x2="1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="1.5" y1="-0.75" x2="-1.5" y2="-0.75" width="0.1" layer="21"/>
+<wire x1="-1.5" y1="-0.75" x2="-1.5" y2="0.75" width="0.1" layer="21"/>
+<smd name="1" x="-0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<smd name="2" x="0.8" y="0" dx="0.9" dy="0.9" layer="1"/>
+<text x="0" y="1.016" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+<package name="SMD0805">
+<wire x1="-2" y1="1" x2="2" y2="1" width="0.1" layer="21"/>
+<wire x1="2" y1="1" x2="2" y2="-1" width="0.1" layer="21"/>
+<wire x1="2" y1="-1" x2="-2" y2="-1" width="0.1" layer="21"/>
+<wire x1="-2" y1="-1" x2="-2" y2="1" width="0.1" layer="21"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="0" y="1.27" size="1.27" layer="25" font="vector" align="bottom-center">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="LED">
+<wire x1="1.27" y1="0" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-2.032" y1="-0.762" x2="-3.429" y2="-2.159" width="0.1524" layer="94"/>
+<wire x1="-1.905" y1="-1.905" x2="-3.302" y2="-3.302" width="0.1524" layer="94"/>
+<text x="3.556" y="-2.032" size="1.27" layer="95" rot="R90" align="bottom-center">&gt;NAME</text>
+<text x="5.715" y="-2.032" size="1.27" layer="96" rot="R90" align="bottom-center">&gt;VALUE</text>
+<pin name="C" x="0" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
+<pin name="A" x="0" y="2.54" visible="off" length="short" direction="pas" rot="R270"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.429" y="-2.159"/>
+<vertex x="-3.048" y="-1.27"/>
+<vertex x="-2.54" y="-1.778"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-3.302" y="-3.302"/>
+<vertex x="-2.921" y="-2.413"/>
+<vertex x="-2.413" y="-2.921"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="LED_SMD" prefix="LED" uservalue="yes">
+<description>SMD_LED</description>
+<gates>
+<gate name="G$1" symbol="LED" x="0" y="0"/>
+</gates>
+<devices>
+<device name="LED_0603" package="SMD0603">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="LED_0805" package="SMD0805">
+<connects>
+<connect gate="G$1" pin="A" pad="1"/>
+<connect gate="G$1" pin="C" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="IC2" library="ataradov_mcu" deviceset="ATSAMD11C" device=""/>
+<part name="P_9" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_7" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_17" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_8" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_16" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="P_3" library="ataradov_pwr" deviceset="V_USB" device=""/>
+<part name="C1" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="C2" library="ataradov_rlc" deviceset="C" device="-0603" value="1uF"/>
+<part name="R2" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="R3" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="R4" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="IC1" library="ataradov_vreg" deviceset="MIC5504" device="-SOT23-5" value="MIC5504-3.3"/>
+<part name="P_4" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_6" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_1" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="P_2" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="R5" library="ataradov_rlc" deviceset="R" device="-0603" value="100K"/>
+<part name="R6" library="ataradov_rlc" deviceset="R" device="-0603" value="100K"/>
+<part name="P_18" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="P_19" library="ataradov_pwr" deviceset="+3V3" device=""/>
+<part name="X1" library="con-cypressindustries" deviceset="MINI-USB-" device="32005-201"/>
+<part name="R7" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="TP1" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM" value="SIO"/>
+<part name="TP2" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP3" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="TP4" library="ataradov_misc" deviceset="TEST-POINT" device="-1.27MM"/>
+<part name="LED1" library="ataradov_led" deviceset="LED_SMD" device="LED_0603"/>
+<part name="J1" library="ataradov_conn" deviceset="HEADER-5X2" device="-TH-1.27"/>
+<part name="P_11" library="ataradov_pwr" deviceset="GND" device=""/>
+<part name="R1" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="R8" library="ataradov_rlc" deviceset="R" device="-0603" value="330"/>
+<part name="P_5" library="ataradov_pwr" deviceset="GND" device=""/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<frame x1="0" y1="0" x2="152.4" y2="119.38" columns="8" rows="5" layer="97"/>
+<text x="35.56" y="106.68" size="1.778" layer="97" align="bottom-center">Program</text>
+<text x="93.98" y="106.68" size="1.778" layer="97" align="bottom-center">Target</text>
+<text x="60.96" y="15.24" size="1.778" layer="97">Copyright (c) 2016-2017, Alex Taradov &lt;alex@taradov.com&gt;
+
+MCU firmware source code is available at https://github.com/ataradov/free-dap</text>
+</plain>
+<instances>
+<instance part="IC2" gate="G$1" x="40.64" y="53.34"/>
+<instance part="P_9" gate="1" x="53.34" y="27.94"/>
+<instance part="P_7" gate="1" x="60.96" y="66.04"/>
+<instance part="P_17" gate="1" x="76.2" y="40.64"/>
+<instance part="P_8" gate="1" x="60.96" y="40.64"/>
+<instance part="P_16" gate="1" x="76.2" y="60.96"/>
+<instance part="P_3" gate="1" x="25.4" y="27.94"/>
+<instance part="C1" gate="G$1" x="20.32" y="17.78" rot="R90"/>
+<instance part="C2" gate="G$1" x="53.34" y="17.78" rot="R90"/>
+<instance part="R2" gate="G$1" x="111.76" y="96.52"/>
+<instance part="R3" gate="G$1" x="111.76" y="91.44"/>
+<instance part="R4" gate="G$1" x="111.76" y="86.36"/>
+<instance part="IC1" gate="G$1" x="38.1" y="20.32"/>
+<instance part="P_4" gate="1" x="38.1" y="12.7"/>
+<instance part="P_6" gate="1" x="53.34" y="12.7"/>
+<instance part="P_1" gate="1" x="20.32" y="12.7"/>
+<instance part="P_2" gate="1" x="38.1" y="76.2"/>
+<instance part="R5" gate="G$1" x="38.1" y="93.98" rot="R90"/>
+<instance part="R6" gate="G$1" x="33.02" y="93.98" rot="R90"/>
+<instance part="P_18" gate="1" x="33.02" y="101.6"/>
+<instance part="P_19" gate="1" x="38.1" y="101.6"/>
+<instance part="X1" gate="G$1" x="83.82" y="50.8" smashed="yes">
+<attribute name="NAME" x="81.28" y="62.23" size="1.778" layer="95"/>
+</instance>
+<instance part="R7" gate="G$1" x="114.3" y="53.34"/>
+<instance part="TP1" gate="G$1" x="40.64" y="86.36"/>
+<instance part="TP2" gate="G$1" x="40.64" y="83.82"/>
+<instance part="TP3" gate="G$1" x="40.64" y="81.28"/>
+<instance part="TP4" gate="G$1" x="40.64" y="78.74"/>
+<instance part="LED1" gate="G$1" x="124.46" y="53.34" rot="MR270"/>
+<instance part="J1" gate="G$1" x="88.9" y="91.44"/>
+<instance part="P_11" gate="1" x="78.74" y="81.28"/>
+<instance part="R1" gate="G$1" x="111.76" y="81.28"/>
+<instance part="R8" gate="G$1" x="111.76" y="76.2"/>
+<instance part="P_5" gate="1" x="132.08" y="48.26"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="N$1" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA24"/>
+<wire x1="58.42" y1="48.26" x2="76.2" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="48.26" x2="76.2" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="53.34" x2="78.74" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA25"/>
+<wire x1="58.42" y1="50.8" x2="78.74" y2="50.8" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="3"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<pinref part="P_17" gate="1" pin="GND"/>
+<wire x1="76.2" y1="43.18" x2="76.2" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="45.72" x2="78.74" y2="45.72" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="5"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="GND"/>
+<pinref part="P_4" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C1" gate="G$1" pin="1"/>
+<pinref part="P_1" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="C2" gate="G$1" pin="1"/>
+<pinref part="P_6" gate="1" pin="GND"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="GND"/>
+<pinref part="P_8" gate="1" pin="GND"/>
+<wire x1="58.42" y1="53.34" x2="60.96" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="53.34" x2="60.96" y2="43.18" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="P_2" gate="1" pin="GND"/>
+<wire x1="38.1" y1="78.74" x2="40.64" y2="78.74" width="0.1524" layer="91"/>
+<pinref part="TP4" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="J1" gate="G$1" pin="3"/>
+<wire x1="81.28" y1="93.98" x2="78.74" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="P_11" gate="1" pin="GND"/>
+<wire x1="78.74" y1="93.98" x2="78.74" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="5"/>
+<wire x1="78.74" y1="91.44" x2="78.74" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="81.28" y1="91.44" x2="78.74" y2="91.44" width="0.1524" layer="91"/>
+<junction x="78.74" y="91.44"/>
+</segment>
+<segment>
+<pinref part="P_5" gate="1" pin="GND"/>
+<wire x1="132.08" y1="50.8" x2="132.08" y2="53.34" width="0.1524" layer="91"/>
+<wire x1="132.08" y1="53.34" x2="129.54" y2="53.34" width="0.1524" layer="91"/>
+<pinref part="LED1" gate="G$1" pin="C"/>
+</segment>
+</net>
+<net name="V_USB" class="0">
+<segment>
+<pinref part="P_16" gate="1" pin="V_USB"/>
+<wire x1="76.2" y1="58.42" x2="76.2" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="76.2" y1="55.88" x2="78.74" y2="55.88" width="0.1524" layer="91"/>
+<pinref part="X1" gate="G$1" pin="1"/>
+</segment>
+<segment>
+<pinref part="IC1" gate="G$1" pin="EN"/>
+<pinref part="P_3" gate="1" pin="V_USB"/>
+<wire x1="27.94" y1="20.32" x2="25.4" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="25.4" y1="20.32" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="IC1" gate="G$1" pin="IN"/>
+<wire x1="25.4" y1="22.86" x2="25.4" y2="25.4" width="0.1524" layer="91"/>
+<wire x1="27.94" y1="22.86" x2="25.4" y2="22.86" width="0.1524" layer="91"/>
+<junction x="25.4" y="22.86"/>
+<pinref part="C1" gate="G$1" pin="2"/>
+<wire x1="25.4" y1="22.86" x2="20.32" y2="22.86" width="0.1524" layer="91"/>
+<wire x1="20.32" y1="22.86" x2="20.32" y2="20.32" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<pinref part="IC1" gate="G$1" pin="OUT"/>
+<wire x1="48.26" y1="22.86" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<pinref part="C2" gate="G$1" pin="2"/>
+<wire x1="53.34" y1="20.32" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+<junction x="53.34" y="22.86"/>
+<pinref part="P_9" gate="1" pin="+3V3"/>
+<wire x1="53.34" y1="25.4" x2="53.34" y2="22.86" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="IC2" gate="G$1" pin="VDD"/>
+<pinref part="P_7" gate="1" pin="+3V3"/>
+<wire x1="58.42" y1="55.88" x2="60.96" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="55.88" x2="60.96" y2="63.5" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<pinref part="R6" gate="G$1" pin="2"/>
+<pinref part="P_18" gate="1" pin="+3V3"/>
+</segment>
+<segment>
+<pinref part="R5" gate="G$1" pin="2"/>
+<pinref part="P_19" gate="1" pin="+3V3"/>
+</segment>
+</net>
+<net name="SWDIO" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA31/SIO"/>
+<wire x1="58.42" y1="45.72" x2="63.5" y2="45.72" width="0.1524" layer="91"/>
+<label x="63.5" y="45.72" size="1.27" layer="95"/>
+</segment>
+<segment>
+<wire x1="40.64" y1="86.36" x2="22.86" y2="86.36" width="0.1524" layer="91"/>
+<label x="22.86" y="86.36" size="1.27" layer="95" rot="MR0"/>
+<pinref part="TP1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PA02" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA02"/>
+<wire x1="58.42" y1="58.42" x2="63.5" y2="58.42" width="0.1524" layer="91"/>
+<label x="63.5" y="58.42" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA04" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA04"/>
+<wire x1="58.42" y1="60.96" x2="63.5" y2="60.96" width="0.1524" layer="91"/>
+<label x="63.5" y="60.96" size="1.27" layer="95"/>
+</segment>
+<segment>
+<pinref part="R7" gate="G$1" pin="1"/>
+<wire x1="109.22" y1="53.34" x2="106.68" y2="53.34" width="0.1524" layer="91"/>
+<label x="106.68" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+</net>
+<net name="SWCLK" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA30/SCK"/>
+<wire x1="22.86" y1="45.72" x2="20.32" y2="45.72" width="0.1524" layer="91"/>
+<label x="20.32" y="45.72" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="40.64" y1="83.82" x2="33.02" y2="83.82" width="0.1524" layer="91"/>
+<label x="22.86" y="83.82" size="1.27" layer="95" rot="MR0"/>
+<pinref part="R6" gate="G$1" pin="1"/>
+<wire x1="33.02" y1="83.82" x2="22.86" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="33.02" y1="88.9" x2="33.02" y2="83.82" width="0.1524" layer="91"/>
+<junction x="33.02" y="83.82"/>
+<pinref part="TP2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="RESET" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA28/RST"/>
+<wire x1="22.86" y1="48.26" x2="20.32" y2="48.26" width="0.1524" layer="91"/>
+<label x="20.32" y="48.26" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<wire x1="40.64" y1="81.28" x2="38.1" y2="81.28" width="0.1524" layer="91"/>
+<label x="22.86" y="81.28" size="1.27" layer="95" rot="MR0"/>
+<pinref part="R5" gate="G$1" pin="1"/>
+<wire x1="38.1" y1="81.28" x2="22.86" y2="81.28" width="0.1524" layer="91"/>
+<wire x1="38.1" y1="88.9" x2="38.1" y2="81.28" width="0.1524" layer="91"/>
+<junction x="38.1" y="81.28"/>
+<pinref part="TP3" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="N$5" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="2"/>
+<pinref part="R2" gate="G$1" pin="1"/>
+<wire x1="96.52" y1="96.52" x2="106.68" y2="96.52" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$9" class="0">
+<segment>
+<pinref part="R3" gate="G$1" pin="1"/>
+<wire x1="106.68" y1="91.44" x2="106.68" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="4"/>
+<wire x1="106.68" y1="93.98" x2="96.52" y2="93.98" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$10" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="6"/>
+<wire x1="96.52" y1="91.44" x2="104.14" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="104.14" y1="91.44" x2="104.14" y2="86.36" width="0.1524" layer="91"/>
+<pinref part="R4" gate="G$1" pin="1"/>
+<wire x1="104.14" y1="86.36" x2="106.68" y2="86.36" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$11" class="0">
+<segment>
+<pinref part="R1" gate="G$1" pin="1"/>
+<wire x1="106.68" y1="81.28" x2="101.6" y2="81.28" width="0.1524" layer="91"/>
+<wire x1="101.6" y1="81.28" x2="101.6" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="J1" gate="G$1" pin="8"/>
+<wire x1="101.6" y1="88.9" x2="96.52" y2="88.9" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$12" class="0">
+<segment>
+<pinref part="J1" gate="G$1" pin="10"/>
+<wire x1="96.52" y1="86.36" x2="99.06" y2="86.36" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="86.36" x2="99.06" y2="76.2" width="0.1524" layer="91"/>
+<pinref part="R8" gate="G$1" pin="1"/>
+<wire x1="99.06" y1="76.2" x2="106.68" y2="76.2" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="PA14" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA14"/>
+<wire x1="20.32" y1="53.34" x2="22.86" y2="53.34" width="0.1524" layer="91"/>
+<label x="20.32" y="53.34" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R3" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="91.44" x2="116.84" y2="91.44" width="0.1524" layer="91"/>
+<label x="119.38" y="91.44" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA15" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA15"/>
+<wire x1="22.86" y1="50.8" x2="20.32" y2="50.8" width="0.1524" layer="91"/>
+<label x="20.32" y="50.8" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R2" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="96.52" x2="116.84" y2="96.52" width="0.1524" layer="91"/>
+<label x="119.38" y="96.52" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<pinref part="R7" gate="G$1" pin="2"/>
+<pinref part="LED1" gate="G$1" pin="A"/>
+<wire x1="121.92" y1="53.34" x2="119.38" y2="53.34" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="PA09" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA9"/>
+<wire x1="22.86" y1="55.88" x2="20.32" y2="55.88" width="0.1524" layer="91"/>
+<label x="20.32" y="55.88" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R4" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="86.36" x2="116.84" y2="86.36" width="0.1524" layer="91"/>
+<label x="119.38" y="86.36" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA08" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA8"/>
+<wire x1="22.86" y1="58.42" x2="20.32" y2="58.42" width="0.1524" layer="91"/>
+<label x="20.32" y="58.42" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R1" gate="G$1" pin="2"/>
+<wire x1="116.84" y1="81.28" x2="119.38" y2="81.28" width="0.1524" layer="91"/>
+<label x="119.38" y="81.28" size="1.27" layer="95"/>
+</segment>
+</net>
+<net name="PA05" class="0">
+<segment>
+<pinref part="IC2" gate="G$1" pin="PA5"/>
+<wire x1="22.86" y1="60.96" x2="20.32" y2="60.96" width="0.1524" layer="91"/>
+<label x="20.32" y="60.96" size="1.27" layer="95" rot="MR0"/>
+</segment>
+<segment>
+<pinref part="R8" gate="G$1" pin="2"/>
+<wire x1="119.38" y1="76.2" x2="116.84" y2="76.2" width="0.1524" layer="91"/>
+<label x="119.38" y="76.2" size="1.27" layer="95"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+<compatibility>
+<note version="6.3" minversion="6.2.2" severity="warning">
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+</note>
+</compatibility>
+</eagle>

binární
dap_link/lib/free-dap/hardware/d11_usb_std/d11_usb_std_gerber.zip


+ 5 - 0
dap_link/lib/free-dap/hardware/m484-dap/.gitignore

@@ -0,0 +1,5 @@
+output/*
+!output/*.pdf
+!output/*.zip
+fp-info-cache
+

+ 8106 - 0
dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_pcb

@@ -0,0 +1,8106 @@
+(kicad_pcb (version 20211014) (generator pcbnew)
+
+  (general
+    (thickness 1.6)
+  )
+
+  (paper "User" 99.9998 99.9998)
+  (layers
+    (0 "F.Cu" signal)
+    (31 "B.Cu" signal)
+    (32 "B.Adhes" user "B.Adhesive")
+    (33 "F.Adhes" user "F.Adhesive")
+    (34 "B.Paste" user)
+    (35 "F.Paste" user)
+    (36 "B.SilkS" user "B.Silkscreen")
+    (37 "F.SilkS" user "F.Silkscreen")
+    (38 "B.Mask" user)
+    (39 "F.Mask" user)
+    (40 "Dwgs.User" user "User.Drawings")
+    (41 "Cmts.User" user "User.Comments")
+    (42 "Eco1.User" user "User.Eco1")
+    (43 "Eco2.User" user "User.Eco2")
+    (44 "Edge.Cuts" user)
+    (45 "Margin" user)
+    (46 "B.CrtYd" user "B.Courtyard")
+    (47 "F.CrtYd" user "F.Courtyard")
+    (48 "B.Fab" user)
+    (49 "F.Fab" user)
+    (50 "User.1" user)
+    (51 "User.2" user)
+    (52 "User.3" user)
+    (53 "User.4" user)
+    (54 "User.5" user)
+    (55 "User.6" user)
+    (56 "User.7" user)
+    (57 "User.8" user)
+    (58 "User.9" user)
+  )
+
+  (setup
+    (stackup
+      (layer "F.SilkS" (type "Top Silk Screen"))
+      (layer "F.Paste" (type "Top Solder Paste"))
+      (layer "F.Mask" (type "Top Solder Mask") (thickness 0.01))
+      (layer "F.Cu" (type "copper") (thickness 0.035))
+      (layer "dielectric 1" (type "core") (thickness 1.51) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
+      (layer "B.Cu" (type "copper") (thickness 0.035))
+      (layer "B.Mask" (type "Bottom Solder Mask") (thickness 0.01))
+      (layer "B.Paste" (type "Bottom Solder Paste"))
+      (layer "B.SilkS" (type "Bottom Silk Screen"))
+      (copper_finish "None")
+      (dielectric_constraints no)
+    )
+    (pad_to_mask_clearance 0)
+    (pcbplotparams
+      (layerselection 0x00010f0_ffffffff)
+      (disableapertmacros true)
+      (usegerberextensions true)
+      (usegerberattributes false)
+      (usegerberadvancedattributes false)
+      (creategerberjobfile false)
+      (svguseinch false)
+      (svgprecision 6)
+      (excludeedgelayer true)
+      (plotframeref false)
+      (viasonmask false)
+      (mode 1)
+      (useauxorigin false)
+      (hpglpennumber 1)
+      (hpglpenspeed 20)
+      (hpglpendiameter 15.000000)
+      (dxfpolygonmode true)
+      (dxfimperialunits true)
+      (dxfusepcbnewfont true)
+      (psnegative false)
+      (psa4output false)
+      (plotreference true)
+      (plotvalue true)
+      (plotinvisibletext false)
+      (sketchpadsonfab false)
+      (subtractmaskfromsilk true)
+      (outputformat 1)
+      (mirror false)
+      (drillshape 0)
+      (scaleselection 1)
+      (outputdirectory "output/")
+    )
+  )
+
+  (net 0 "")
+  (net 1 "GND")
+  (net 2 "/RESET")
+  (net 3 "/SWCLK")
+  (net 4 "/SWDIO")
+  (net 5 "+3V3")
+  (net 6 "Net-(J1-PadCC1)")
+  (net 7 "Net-(J1-PadCC2)")
+  (net 8 "unconnected-(J2-Pad7)")
+  (net 9 "unconnected-(J1-PadSBU1)")
+  (net 10 "unconnected-(J1-PadSBU2)")
+  (net 11 "VBUS")
+  (net 12 "/USB_DP")
+  (net 13 "/USB_DM")
+  (net 14 "unconnected-(IC2-Pad1)")
+  (net 15 "unconnected-(IC2-Pad3)")
+  (net 16 "unconnected-(IC2-Pad4)")
+  (net 17 "unconnected-(IC2-Pad6)")
+  (net 18 "unconnected-(IC2-Pad7)")
+  (net 19 "unconnected-(IC2-Pad12)")
+  (net 20 "unconnected-(IC2-Pad15)")
+  (net 21 "unconnected-(IC2-Pad17)")
+  (net 22 "unconnected-(IC2-Pad18)")
+  (net 23 "unconnected-(IC2-Pad19)")
+  (net 24 "unconnected-(IC2-Pad20)")
+  (net 25 "unconnected-(IC2-Pad21)")
+  (net 26 "unconnected-(IC2-Pad25)")
+  (net 27 "unconnected-(IC2-Pad26)")
+  (net 28 "unconnected-(IC2-Pad27)")
+  (net 29 "unconnected-(IC2-Pad28)")
+  (net 30 "unconnected-(IC2-Pad29)")
+  (net 31 "unconnected-(IC2-Pad30)")
+  (net 32 "unconnected-(IC2-Pad36)")
+  (net 33 "unconnected-(IC2-Pad37)")
+  (net 34 "unconnected-(IC2-Pad38)")
+  (net 35 "unconnected-(IC2-Pad39)")
+  (net 36 "unconnected-(IC2-Pad40)")
+  (net 37 "unconnected-(IC2-Pad48)")
+  (net 38 "unconnected-(IC2-Pad53)")
+  (net 39 "unconnected-(IC2-Pad54)")
+  (net 40 "unconnected-(IC2-Pad55)")
+  (net 41 "unconnected-(IC2-Pad56)")
+  (net 42 "unconnected-(IC2-Pad60)")
+  (net 43 "unconnected-(IC2-Pad61)")
+  (net 44 "unconnected-(IC2-Pad62)")
+  (net 45 "unconnected-(IC2-Pad63)")
+  (net 46 "Net-(IC2-Pad41)")
+  (net 47 "/12MHz")
+  (net 48 "/T_SWDIO_TMS")
+  (net 49 "/T_SWCLK_TCK")
+  (net 50 "/T_TDO")
+  (net 51 "/T_TDI")
+  (net 52 "/T_RESET")
+  (net 53 "/STATUS_LED")
+  (net 54 "Net-(LED1-Pad2)")
+  (net 55 "Net-(C6-Pad2)")
+  (net 56 "unconnected-(IC2-Pad35)")
+  (net 57 "unconnected-(IC2-Pad52)")
+  (net 58 "unconnected-(J2-Pad1)")
+  (net 59 "Net-(C3-Pad2)")
+  (net 60 "Net-(C4-Pad1)")
+  (net 61 "Net-(C5-Pad2)")
+  (net 62 "unconnected-(IC2-Pad10)")
+  (net 63 "unconnected-(IC2-Pad9)")
+  (net 64 "Net-(C3-Pad1)")
+
+  (footprint "ataradov_ic:TQFP-64-0.4mm" (layer "F.Cu")
+    (tedit 61AC865A) (tstamp 0e33928e-78cb-4df8-a938-7a768ad7b43e)
+    (at 47.117 51.308 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/b4eec5a6-4c00-4bb4-8bd1-32e5eedceb3a")
+    (attr smd)
+    (fp_text reference "IC2" (at 1.143 -6.604) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp d15a517d-2a01-4d49-b25d-1c2a7d7c8eb3)
+    )
+    (fp_text value "M48XSIDAE" (at 0 0) (layer "F.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.1)))
+      (tstamp f04af639-df13-4a4a-a75e-5e007f6dc1aa)
+    )
+    (fp_line (start -2.794 -2.032) (end -2.032 -2.794) (layer "F.SilkS") (width 0.127) (tstamp 05381d6c-466c-4919-8f34-878cc7c5a0e9))
+    (fp_line (start 2.794 2.794) (end -2.794 2.794) (layer "F.SilkS") (width 0.127) (tstamp 85166307-32a0-49b8-9ea6-a33732b6f036))
+    (fp_line (start -2.032 -2.794) (end 2.794 -2.794) (layer "F.SilkS") (width 0.127) (tstamp 96c40b68-dc82-40a4-a990-6c01c1d6b84c))
+    (fp_line (start -2.794 2.794) (end -2.794 -2.032) (layer "F.SilkS") (width 0.127) (tstamp b7dade1c-e591-4d20-a88a-ae4c690e9423))
+    (fp_line (start 2.794 -2.794) (end 2.794 2.794) (layer "F.SilkS") (width 0.127) (tstamp cec6e3f0-51c9-4237-aa39-aa66300ebd11))
+    (fp_poly (pts
+        (xy -5.334 -3.048)
+        (xy -5.588 -2.794)
+        (xy -5.588 -3.302)
+      ) (layer "F.SilkS") (width 0.127) (fill solid) (tstamp 051d1faf-d923-4304-b89e-5f9953e8c7df))
+    (pad "1" smd rect (at -4.1 -3 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 14 "unconnected-(IC2-Pad1)") (pinfunction "PB6") (pintype "bidirectional") (tstamp 19753934-7479-4176-bb62-39892acc9249))
+    (pad "2" smd rect (at -4.1 -2.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 48 "/T_SWDIO_TMS") (pinfunction "PB5") (pintype "bidirectional") (tstamp d276781f-6cdb-4291-b62a-ce392c4e57c7))
+    (pad "3" smd rect (at -4.1 -2.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 15 "unconnected-(IC2-Pad3)") (pinfunction "PB4") (pintype "bidirectional") (tstamp b6fbbf88-c81b-4226-8191-e2a236e01e59))
+    (pad "4" smd rect (at -4.1 -1.8 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 16 "unconnected-(IC2-Pad4)") (pinfunction "PB3") (pintype "bidirectional") (tstamp dc5e3cd5-52e8-462e-aeef-4edae2b75279))
+    (pad "5" smd rect (at -4.1 -1.4 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 49 "/T_SWCLK_TCK") (pinfunction "PB2") (pintype "bidirectional") (tstamp 96265898-eb13-44e9-8ddc-737710cb5173))
+    (pad "6" smd rect (at -4.1 -1 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 17 "unconnected-(IC2-Pad6)") (pinfunction "PB1") (pintype "bidirectional") (tstamp 0379ce99-99bb-4a80-85d0-c20af6d1cd08))
+    (pad "7" smd rect (at -4.1 -0.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 18 "unconnected-(IC2-Pad7)") (pinfunction "PB0") (pintype "bidirectional") (tstamp 3d6f9efe-07c7-4092-aaeb-eb159afdc6ae))
+    (pad "8" smd rect (at -4.1 -0.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 50 "/T_TDO") (pinfunction "PA11") (pintype "bidirectional") (tstamp f1a4e564-9843-4030-b5e0-09c4feb42d40))
+    (pad "9" smd rect (at -4.1 0.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 63 "unconnected-(IC2-Pad9)") (pinfunction "PA10") (pintype "bidirectional") (tstamp 4ebbdaf2-f5db-4784-8a7b-c2281017a5ea))
+    (pad "10" smd rect (at -4.1 0.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 62 "unconnected-(IC2-Pad10)") (pinfunction "PA9") (pintype "bidirectional") (tstamp aaae2fc4-c833-4900-b46f-28f86341a30b))
+    (pad "11" smd rect (at -4.1 1 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 51 "/T_TDI") (pinfunction "PA8") (pintype "bidirectional") (tstamp 8a883818-5d4d-48ca-b222-ff753eabf7b8))
+    (pad "12" smd rect (at -4.1 1.4 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 19 "unconnected-(IC2-Pad12)") (pinfunction "PF6") (pintype "bidirectional") (tstamp ba9e4017-9a85-4125-bd7d-23eb9ba0ee08))
+    (pad "13" smd rect (at -4.1 1.8 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 5 "+3V3") (pinfunction "VDD*3") (pintype "power_in") (tstamp 7b051f52-37cd-4547-95b3-796616dea57e))
+    (pad "14" smd rect (at -4.1 2.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 52 "/T_RESET") (pinfunction "PF5/X32_IN") (pintype "bidirectional") (tstamp 700f8d93-56a9-4373-bdd4-53cb47348a80))
+    (pad "15" smd rect (at -4.1 2.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 20 "unconnected-(IC2-Pad15)") (pinfunction "PF4/X32_OUT") (pintype "bidirectional") (tstamp 28abf64f-e00b-4105-9187-92af39cb1425))
+    (pad "16" smd rect (at -4.1 3 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 47 "/12MHz") (pinfunction "PF3/XT1_IN") (pintype "bidirectional") (tstamp 3db671b9-07cd-4bcd-ae91-676a74ee0605))
+    (pad "17" smd rect (at -3 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 21 "unconnected-(IC2-Pad17)") (pinfunction "PF2/XT1_OUT") (pintype "bidirectional") (tstamp 7c05a9c7-a6fc-4a5a-948e-0a889226b688))
+    (pad "18" smd rect (at -2.6 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 22 "unconnected-(IC2-Pad18)") (pinfunction "PC7") (pintype "bidirectional") (tstamp 28d182bf-05ff-432a-9c64-50b2fa0bbe26))
+    (pad "19" smd rect (at -2.2 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 23 "unconnected-(IC2-Pad19)") (pinfunction "PC6") (pintype "bidirectional") (tstamp f5bb33f1-8c48-4bfc-8219-a76bc7336f95))
+    (pad "20" smd rect (at -1.8 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 24 "unconnected-(IC2-Pad20)") (pinfunction "PA7") (pintype "bidirectional") (tstamp c28f768b-be68-4415-8540-681fd0b54d31))
+    (pad "21" smd rect (at -1.4 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 25 "unconnected-(IC2-Pad21)") (pinfunction "PA6") (pintype "bidirectional") (tstamp ca275af3-1eb8-4c8c-ae26-7ad48fb0b768))
+    (pad "22" smd rect (at -1 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 1 "GND") (pinfunction "VSS*2") (pintype "power_in") (tstamp af96876d-2a92-4f81-a347-0c5035344752))
+    (pad "23" smd rect (at -0.6 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 5 "+3V3") (pinfunction "VDD") (pintype "power_in") (tstamp 03b2b99d-01c4-4b7b-b4cb-4df594605315))
+    (pad "24" smd rect (at -0.2 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 55 "Net-(C6-Pad2)") (pinfunction "LDO_CAP1") (pintype "passive") (tstamp 77607891-fcea-4058-8d70-26a278280819))
+    (pad "25" smd rect (at 0.2 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 26 "unconnected-(IC2-Pad25)") (pinfunction "PA5") (pintype "bidirectional") (tstamp 8799c8a3-e81c-4269-94a2-cebfd88ea8eb))
+    (pad "26" smd rect (at 0.6 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 27 "unconnected-(IC2-Pad26)") (pinfunction "PA4") (pintype "bidirectional") (tstamp 0f90ce12-43f0-4b64-80b1-926d98d22540))
+    (pad "27" smd rect (at 1 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 28 "unconnected-(IC2-Pad27)") (pinfunction "PA3") (pintype "bidirectional") (tstamp bd6bda2b-98fc-412b-b36a-620bf182c2c7))
+    (pad "28" smd rect (at 1.4 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 29 "unconnected-(IC2-Pad28)") (pinfunction "PA2") (pintype "bidirectional") (tstamp 28922170-d999-4335-ba2f-09f0423c6fe0))
+    (pad "29" smd rect (at 1.8 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 30 "unconnected-(IC2-Pad29)") (pinfunction "PA1") (pintype "bidirectional") (tstamp 65c3db44-d5f3-4a6e-afc2-dcfe2d906d17))
+    (pad "30" smd rect (at 2.2 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 31 "unconnected-(IC2-Pad30)") (pinfunction "PA0") (pintype "bidirectional") (tstamp 473f6b75-5f5a-4aa4-aac9-00767aeeddac))
+    (pad "31" smd rect (at 2.6 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 5 "+3V3") (pinfunction "VDDIO") (pintype "power_in") (tstamp 62a0f805-d868-462f-ac4b-1506068faa09))
+    (pad "32" smd rect (at 3 4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 2 "/RESET") (pinfunction "RESET") (pintype "input") (tstamp 3c0faed2-dd44-41b0-8db8-e66b90c006c8))
+    (pad "33" smd rect (at 4.1 3 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 4 "/SWDIO") (pinfunction "PF0/SWDIO") (pintype "bidirectional") (tstamp eaefbe93-69a7-4b55-8be5-d6eb99850511))
+    (pad "34" smd rect (at 4.1 2.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 3 "/SWCLK") (pinfunction "PF1/SWCLK") (pintype "bidirectional") (tstamp 223cd7bd-bf57-48cc-8861-359adc79c7e3))
+    (pad "35" smd rect (at 4.1 2.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 56 "unconnected-(IC2-Pad35)") (pinfunction "PC5") (pintype "bidirectional") (tstamp 61fea46a-3754-4076-80ed-f74f3da70ce5))
+    (pad "36" smd rect (at 4.1 1.8 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 32 "unconnected-(IC2-Pad36)") (pinfunction "PC4") (pintype "bidirectional") (tstamp a29920ba-4159-46dd-933b-d8f8387e703d))
+    (pad "37" smd rect (at 4.1 1.4 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 33 "unconnected-(IC2-Pad37)") (pinfunction "PC3") (pintype "bidirectional") (tstamp 2ccc0dff-0b43-41c3-93b6-f952c6c68d7a))
+    (pad "38" smd rect (at 4.1 1 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 34 "unconnected-(IC2-Pad38)") (pinfunction "PC2") (pintype "bidirectional") (tstamp a4f6a06f-1d97-49fe-bea8-5976d4cca2fb))
+    (pad "39" smd rect (at 4.1 0.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 35 "unconnected-(IC2-Pad39)") (pinfunction "PC1") (pintype "bidirectional") (tstamp 911686cd-bbda-4f7c-a630-ebe43d2352cb))
+    (pad "40" smd rect (at 4.1 0.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 36 "unconnected-(IC2-Pad40)") (pinfunction "PC0") (pintype "bidirectional") (tstamp a2884873-410b-492a-8c5b-5cef7f1a57fa))
+    (pad "41" smd rect (at 4.1 -0.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 46 "Net-(IC2-Pad41)") (pinfunction "USBHS_VRES") (pintype "passive") (tstamp f93e644a-b927-40b4-8f4e-46c148b6f3ca))
+    (pad "42" smd rect (at 4.1 -0.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 59 "Net-(C3-Pad2)") (pinfunction "USBHS_VDD33") (pintype "power_in") (tstamp fb53136e-6958-4ac5-ba5e-e6350884eca9))
+    (pad "43" smd rect (at 4.1 -1 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 11 "VBUS") (pinfunction "USBHS_VBUS") (pintype "input") (tstamp 595ab957-eafe-4e6a-a364-ea9219e6c0fd))
+    (pad "44" smd rect (at 4.1 -1.4 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 13 "/USB_DM") (pinfunction "USBHS_DM") (pintype "bidirectional") (tstamp 4b3710f3-db6e-43f0-acce-17622d7f47e2))
+    (pad "45" smd rect (at 4.1 -1.8 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 64 "Net-(C3-Pad1)") (pinfunction "USBHS_VSS") (pintype "power_in") (tstamp a6f0695e-faa9-481d-8867-25be7f804690))
+    (pad "46" smd rect (at 4.1 -2.2 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 12 "/USB_DP") (pinfunction "USBHS_DP") (pintype "bidirectional") (tstamp 722a1570-cda8-4fa3-89bb-55e80aeb319c))
+    (pad "47" smd rect (at 4.1 -2.6 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 60 "Net-(C4-Pad1)") (pinfunction "USBHS_CAP") (pintype "passive") (tstamp 26e67825-5355-464d-9b18-a150d06e0d10))
+    (pad "48" smd rect (at 4.1 -3 180) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 37 "unconnected-(IC2-Pad48)") (pinfunction "USBHS_ID") (pintype "bidirectional") (tstamp ee9f893e-340c-4328-b178-ab002c62cde5))
+    (pad "49" smd rect (at 3 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 1 "GND") (pinfunction "VSS") (pintype "power_in") (tstamp 5685bdb2-baac-4394-b1e8-30c04a00fdcb))
+    (pad "50" smd rect (at 2.6 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 61 "Net-(C5-Pad2)") (pinfunction "LDO_CAP2") (pintype "passive") (tstamp 8c2dc93f-6f5f-4a47-bbde-bf5b8a0ad2b9))
+    (pad "51" smd rect (at 2.2 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 5 "+3V3") (pinfunction "VDD") (pintype "power_in") (tstamp 2a5f75a2-e2bb-4080-bb7a-1da935bfc594))
+    (pad "52" smd rect (at 1.8 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 57 "unconnected-(IC2-Pad52)") (pinfunction "PC14") (pintype "bidirectional") (tstamp 13e35a9a-bfd4-470c-bd88-614f41548adb))
+    (pad "53" smd rect (at 1.4 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 38 "unconnected-(IC2-Pad53)") (pinfunction "PB15") (pintype "bidirectional") (tstamp 156b6617-bb4f-48cb-a021-74a58bafae4e))
+    (pad "54" smd rect (at 1 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 39 "unconnected-(IC2-Pad54)") (pinfunction "PB14") (pintype "bidirectional") (tstamp 9bbe6778-a199-4fb3-837b-b108f2a23386))
+    (pad "55" smd rect (at 0.6 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 40 "unconnected-(IC2-Pad55)") (pinfunction "PB13") (pintype "bidirectional") (tstamp 0c4bb831-e415-461e-b314-96ccf4b16193))
+    (pad "56" smd rect (at 0.2 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 41 "unconnected-(IC2-Pad56)") (pinfunction "PB12") (pintype "bidirectional") (tstamp 39d5d016-fe6d-47c3-ae56-9df11bd700ca))
+    (pad "57" smd rect (at -0.2 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 5 "+3V3") (pinfunction "AVDD") (pintype "power_in") (tstamp 198c0710-b624-4c24-89aa-2831f65b8796))
+    (pad "58" smd rect (at -0.6 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 5 "+3V3") (pinfunction "VREF") (pintype "power_in") (tstamp 73e40a15-611e-4cf7-b515-684a15350b51))
+    (pad "59" smd rect (at -1 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 1 "GND") (pinfunction "AVSS") (pintype "power_in") (tstamp cab72599-853c-45fd-8835-48164c2a8d28))
+    (pad "60" smd rect (at -1.4 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 42 "unconnected-(IC2-Pad60)") (pinfunction "PB11") (pintype "bidirectional") (tstamp 8ffe0f96-ba46-4e56-a034-9d40b061b90a))
+    (pad "61" smd rect (at -1.8 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 43 "unconnected-(IC2-Pad61)") (pinfunction "PB10") (pintype "bidirectional") (tstamp c1726374-e5a9-4422-94d0-d09c8618b86a))
+    (pad "62" smd rect (at -2.2 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 44 "unconnected-(IC2-Pad62)") (pinfunction "PB9") (pintype "bidirectional") (tstamp 1783356a-fea3-452d-8439-11e3f44dd9e7))
+    (pad "63" smd rect (at -2.6 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 45 "unconnected-(IC2-Pad63)") (pinfunction "PB8") (pintype "bidirectional") (tstamp c3ced161-58dd-4ee8-9210-4b997962855f))
+    (pad "64" smd rect (at -3 -4.1 270) (size 1.5 0.22) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 53 "/STATUS_LED") (pinfunction "PB7") (pintype "bidirectional") (tstamp 4a757d2e-b667-45ed-a7b7-a02cfaf8bf9c))
+  )
+
+  (footprint "ataradov_misc:Logo-Small" (layer "F.Cu")
+    (tedit 61C6C194) (tstamp 217a6ab0-8c75-4e09-8113-c7b7b906da43)
+    (at 35.179 52.578 90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/c5ac15a6-7a3d-42a9-adb0-f88cb8f1134d")
+    (attr smd)
+    (fp_text reference "Logo1" (at 0 0 90) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp fe2b320a-ede0-4599-8996-e6b57dc8879f)
+    )
+    (fp_text value "Logo" (at 0 2.667 90 unlocked) (layer "F.Fab") hide
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp ccc428ac-8d59-42bd-b452-76a4a5aba969)
+    )
+    (fp_line (start -0.254 -0.127) (end -0.508 -0.508) (layer "F.Cu") (width 0.254) (tstamp 1f300b4c-9d03-40c7-84ba-5e13d323c7be))
+    (fp_line (start -0.254 0.127) (end -0.762 0.127) (layer "F.Cu") (width 0.254) (tstamp 5027d969-52e6-4287-9d0e-21b5e8ae43b3))
+    (fp_line (start 0 -0.508) (end 0.762 -0.508) (layer "F.Cu") (width 0.254) (tstamp 54bab352-ebb2-4bf8-b29b-0709a399a0ec))
+    (fp_line (start -0.254 0.508) (end -0.254 -0.127) (layer "F.Cu") (width 0.254) (tstamp 75103172-a4f0-4ae8-ae58-ef02462bd569))
+    (fp_line (start 1.27 1.016) (end -1.27 1.016) (layer "F.Cu") (width 0.254) (tstamp 881fd1e3-6cab-4436-b485-48aa7e56063b))
+    (fp_line (start -1.27 1.016) (end -1.27 -1.016) (layer "F.Cu") (width 0.254) (tstamp 9877081c-6ca1-4a2c-825b-900c252dc5ba))
+    (fp_line (start -1.27 -1.016) (end 1.27 -1.016) (layer "F.Cu") (width 0.254) (tstamp a1710c26-7e27-4586-a444-1b0349036975))
+    (fp_line (start -0.762 -0.127) (end -0.508 -0.508) (layer "F.Cu") (width 0.254) (tstamp d1818fcc-ba14-4b97-8d3d-9a0e77f2df12))
+    (fp_line (start 1.27 -1.016) (end 1.27 1.016) (layer "F.Cu") (width 0.254) (tstamp d1c80b3d-41fd-4f61-8d5d-e83146297dc7))
+    (fp_line (start 0.381 0.508) (end 0.381 -0.508) (layer "F.Cu") (width 0.254) (tstamp d297fcbb-94b2-4ca6-9927-a93b14a4eb16))
+    (fp_line (start -0.762 0.508) (end -0.762 -0.127) (layer "F.Cu") (width 0.254) (tstamp f1f806ab-e714-4923-b0bf-8d42db416138))
+  )
+
+  (footprint "ataradov_conn:Header-5x2-1.27mm" (layer "F.Cu")
+    (tedit 61AE8C8C) (tstamp 7b130b4c-2bbe-4733-89ba-ff3bf576cf72)
+    (at 54.483 51.308 90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/0220b3c5-3933-430c-9a95-3250361c369c")
+    (attr through_hole)
+    (fp_text reference "J2" (at 0 3.302 90) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 887c8d87-a8ab-425b-a112-94d86ebcb611)
+    )
+    (fp_text value "Conn-5x2" (at 0 3.048 90) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 54bfb5d5-d756-46a2-835b-b47e9eac18a4)
+    )
+    (fp_line (start -3.81 1.27) (end -3.175 1.905) (layer "F.SilkS") (width 0.127) (tstamp 1836249d-cbed-4cb8-8212-d1b6786f3cf2))
+    (fp_line (start -3.81 -1.905) (end -3.81 1.27) (layer "F.SilkS") (width 0.127) (tstamp 23b9975e-8e27-47ac-a4b4-ec1d0bad3fd4))
+    (fp_line (start -3.175 1.905) (end 3.81 1.905) (layer "F.SilkS") (width 0.127) (tstamp 81b233cb-7340-4721-86de-79467753c56e))
+    (fp_line (start -3.81 -1.905) (end 3.81 -1.905) (layer "F.SilkS") (width 0.127) (tstamp a3048af0-a901-4fc8-b734-461f14451bcd))
+    (fp_line (start 3.81 -1.905) (end 3.81 1.905) (layer "F.SilkS") (width 0.127) (tstamp ae8128c1-f970-4acd-9cc6-4b57c4f606c3))
+    (pad "1" thru_hole circle (at -2.54 0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 58 "unconnected-(J2-Pad1)") (pinfunction "1") (pintype "passive") (tstamp 340773b7-a63d-4ac7-8564-df92b7a7d3d6))
+    (pad "2" thru_hole oval (at -2.54 -0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 48 "/T_SWDIO_TMS") (pinfunction "2") (pintype "passive") (tstamp 19d4ed2f-ccc9-4fd7-bb71-22d07237c6c8))
+    (pad "3" thru_hole circle (at -1.27 0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "3") (pintype "passive") (tstamp 2383af59-85c5-4ebc-8d12-8293620957ae))
+    (pad "4" thru_hole circle (at -1.27 -0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 49 "/T_SWCLK_TCK") (pinfunction "4") (pintype "passive") (tstamp c9018a4a-c0e2-4081-aa9c-0a48251b47ae))
+    (pad "5" thru_hole circle (at 0 0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "5") (pintype "passive") (tstamp 4c8a101b-aec4-49ed-b408-a1a309e948f1))
+    (pad "6" thru_hole circle (at 0 -0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 50 "/T_TDO") (pinfunction "6") (pintype "passive") (tstamp bf80f3ba-8587-4765-bf89-9a899d7fc779))
+    (pad "7" thru_hole circle (at 1.27 0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 8 "unconnected-(J2-Pad7)") (pinfunction "7") (pintype "passive") (tstamp 31f7df2f-cf56-4b37-bbd7-e58798d36210))
+    (pad "8" thru_hole circle (at 1.27 -0.643 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 51 "/T_TDI") (pinfunction "8") (pintype "passive") (tstamp 9780afc7-57f1-43b4-a16b-bebfc03a5630))
+    (pad "9" thru_hole circle (at 2.54 0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "9") (pintype "passive") (tstamp 119f5b63-0013-43ed-8803-48cb481bfce8))
+    (pad "10" thru_hole circle (at 2.54 -0.635 90) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 52 "/T_RESET") (pinfunction "10") (pintype "passive") (tstamp 4968683f-60d5-4e86-a307-0e72de4a99a2))
+  )
+
+  (footprint "ataradov_misc:TestPoint-1.27mm-Small" (layer "F.Cu")
+    (tedit 619EF054) (tstamp 8c94943c-0078-4487-91c2-55b1516633d4)
+    (at 48.641 53.848)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/2fdf4489-bc00-4109-aa4e-8518129c5f65")
+    (attr through_hole)
+    (fp_text reference "TP3" (at 0 1.778) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 9a2cdc2c-1f16-40f2-8109-9a08bae734a8)
+    )
+    (fp_text value "GND" (at 12.954 0) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 735ab9a8-dcec-4005-90d9-f926f9c50dca)
+    )
+    (pad "1" thru_hole circle (at 0 0) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp 7a9fc7fd-2b25-4f31-9717-21f57b93935a))
+  )
+
+  (footprint "ataradov_misc:TestPoint-1.27mm-Small" (layer "F.Cu")
+    (tedit 619EF054) (tstamp 934542a7-c4a3-429b-87c4-61a5e34f27ca)
+    (at 48.641 52.578)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/cfdc7c2b-eeb6-41c8-a335-12ee514fb84a")
+    (attr through_hole)
+    (fp_text reference "TP1" (at 0 1.778) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 3c4a5c71-8d9b-4895-b9af-54b2c82334ab)
+    )
+    (fp_text value "SWCLK" (at 12.954 0) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 2dda01e1-ac1a-448a-a884-26060b14afa6)
+    )
+    (pad "1" thru_hole circle (at 0 0) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 3 "/SWCLK") (pinfunction "1") (pintype "passive") (tstamp 8a9e04f0-c803-487b-a337-bea139a1b4ce))
+  )
+
+  (footprint "ataradov_misc:TestPoint-1.27mm-Small" (layer "F.Cu")
+    (tedit 619EF054) (tstamp b0d2cab1-e6de-4047-999f-c1188910580a)
+    (at 48.641 51.308)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/6235414f-a7d9-4f2a-85bb-4ac75e44c66e")
+    (attr through_hole)
+    (fp_text reference "TP2" (at 0 1.778) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp f3e8c1d3-a60a-47e4-a5d3-5b39048270fc)
+    )
+    (fp_text value "SWDIO" (at 12.954 0) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 88234819-63e4-4ee0-ae47-a2329ca0da51)
+    )
+    (pad "1" thru_hole circle (at 0 0) (size 1.016 1.016) (drill 0.6096) (layers *.Cu *.Mask)
+      (net 4 "/SWDIO") (pinfunction "1") (pintype "passive") (tstamp b55f3600-81a8-4b38-be48-4818c4a33640))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "F.Cu")
+    (tedit 619DC0BD) (tstamp c1f62b01-cc0f-415e-a367-df007384a88c)
+    (at 52.197 55.88 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/6bc6f722-72ae-42d6-be95-2b8bf65cd61e")
+    (attr smd)
+    (fp_text reference "LED1" (at 0 -2.032) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 5d8854a8-2d81-412e-9fe6-0d24854b5dbc)
+    )
+    (fp_text value "Orange" (at 0 -0.016 180 unlocked) (layer "F.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)))
+      (tstamp 2c9076ca-a512-4d77-bef1-8aa951993ac4)
+    )
+    (fp_rect (start -1.55 -0.75) (end 1.55 0.75) (layer "F.SilkS") (width 0.127) (fill none) (tstamp 0d587080-0e84-4626-ae67-fc79bce73228))
+    (pad "1" smd roundrect (at 0.8 0 270) (size 0.9 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 53 "/STATUS_LED") (pinfunction "A") (pintype "passive") (tstamp d95ad190-c564-42f5-8c5e-6634c03307fc))
+    (pad "2" smd roundrect (at -0.8 0 270) (size 0.9 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
+      (net 54 "Net-(LED1-Pad2)") (pinfunction "K") (pintype "passive") (tstamp de53e1a6-2cb8-418f-bf80-86be33e18048))
+  )
+
+  (footprint "ataradov_conn:USB-C" (layer "F.Cu")
+    (tedit 61AC89AC) (tstamp e568b79a-3350-4b38-aa67-cc28d0574867)
+    (at 34.29 51.308 -90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/a29f1a62-28d6-483c-8bf1-73979d7bd982")
+    (attr smd)
+    (fp_text reference "J1" (at 0 5.08 -90) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp 895d1e68-9b6f-440a-a247-9202d020a1a6)
+    )
+    (fp_text value "USB-C" (at 0 0 -90) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.127)))
+      (tstamp d1ef21c6-8a36-45e7-a38d-391f8d747f03)
+    )
+    (fp_line (start -4.7 1.143) (end -4.7 2.667) (layer "F.SilkS") (width 0.127) (tstamp 134fa411-d684-4c8e-a47b-2a8605474c07))
+    (fp_line (start -4.699 2.667) (end 4.699 2.667) (layer "F.SilkS") (width 0.127) (tstamp 56f0c13d-b402-4bcb-be35-d742eab557aa))
+    (fp_line (start 4.7 -2.945) (end 4.7 -1.143) (layer "F.SilkS") (width 0.127) (tstamp 6e7fc0e7-0fe3-4968-98df-441b46daaa01))
+    (fp_line (start 4.699 1.143) (end 4.699 2.667) (layer "F.SilkS") (width 0.127) (tstamp 7d3517dc-56eb-43c7-a912-ee194f3eaa2d))
+    (fp_line (start -4.7 -2.945) (end -4.7 -1.27) (layer "F.SilkS") (width 0.127) (tstamp 9b9a7993-e58c-49e4-b144-f53b5ec7de72))
+    (pad "" np_thru_hole circle (at -2.89 -3.68 270) (size 0.6858 0.6858) (drill 0.6858) (layers F&B.Cu *.Mask) (tstamp 77a6f90e-788c-4023-aaa5-9a0e44b96fdf))
+    (pad "" np_thru_hole circle (at 2.89 -3.68 270) (size 0.6858 0.6858) (drill 0.6858) (layers F&B.Cu *.Mask) (tstamp a0252366-c118-4c56-961e-db72162dc25f))
+    (pad "CC1" smd rect (at -1.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 6 "Net-(J1-PadCC1)") (pinfunction "CC1") (pintype "bidirectional") (tstamp 67da9b16-ccfc-4efa-9aad-a2db73c79f12))
+    (pad "CC2" smd rect (at 1.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 7 "Net-(J1-PadCC2)") (pinfunction "CC2") (pintype "bidirectional") (tstamp 996ce9f4-e6bc-4630-bf0f-69b07180caef))
+    (pad "D+1" smd rect (at -0.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 12 "/USB_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp a7719f62-dafe-4303-833f-0c79feb9271f))
+    (pad "D+2" smd rect (at 0.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 12 "/USB_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp 411aee37-1042-4111-a60a-1305fd7b43a6))
+    (pad "D-1" smd rect (at 0.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 13 "/USB_DM") (pinfunction "D-") (pintype "bidirectional") (tstamp ae66ee31-02cc-4f4c-a6a6-a5c3229820cc))
+    (pad "D-2" smd rect (at -0.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 13 "/USB_DM") (pinfunction "D-") (pintype "bidirectional") (tstamp 76a3da8b-ad57-431e-8059-efa373351da6))
+    (pad "GND1" smd rect (at -3.25 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 1 "GND") (pinfunction "GND") (pintype "passive") (tstamp acbdf58c-c153-42f8-b1b9-5636fb0e8ea9))
+    (pad "GND2" smd rect (at 3.25 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 1 "GND") (pinfunction "GND") (pintype "passive") (tstamp 19c5c358-f71a-4f80-b84c-92d5b4d624dd))
+    (pad "S1" thru_hole oval (at -4.32 0 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "S1") (pintype "passive") (tstamp 32a50589-e915-4bbc-abae-97a9797f77d8))
+    (pad "S2" thru_hole oval (at 4.32 0 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "S2") (pintype "passive") (tstamp 07de6812-fc6e-43b8-a67d-0ed133dee1b7))
+    (pad "S3" thru_hole oval (at -4.32 -4.18 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "S3") (pintype "passive") (tstamp 991719a7-596d-4d57-9832-57a63741f034))
+    (pad "S4" thru_hole oval (at 4.32 -4.18 270) (size 1 2.1) (drill oval 0.6 1.7) (layers *.Cu *.Mask)
+      (net 1 "GND") (pinfunction "S4") (pintype "passive") (tstamp bd8aff76-08af-4e1f-98e6-0acedb6d9a43))
+    (pad "SBU1" smd rect (at 1.25 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 9 "unconnected-(J1-PadSBU1)") (pinfunction "SBU1") (pintype "bidirectional") (tstamp 6f4e52cc-b9ea-498f-b7ee-d6476a6264b3))
+    (pad "SBU2" smd rect (at -1.75 -5.131 270) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 10 "unconnected-(J1-PadSBU2)") (pinfunction "SBU2") (pintype "bidirectional") (tstamp 574d8b0f-7615-444e-99f0-cfbd7d0fde03))
+    (pad "VBUS1" smd rect (at -2.45 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 11 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp 3bc0327a-7f8d-4e42-9498-c36cf02bcb97))
+    (pad "VBUS2" smd rect (at 2.45 -5.131 270) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask")
+      (net 11 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp 0d350cf0-c431-4463-b0c8-17547e57eaa8))
+  )
+
+  (footprint "ataradov_smd:0402" (layer "B.Cu")
+    (tedit 619DC0B6) (tstamp 18f81beb-46d4-40cf-b373-0cbf6a8e8f09)
+    (at 42.799 52.07 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/f01f1d34-3e52-4097-ac49-2a355c0d6f75")
+    (attr smd)
+    (fp_text reference "C3" (at 0 -7.874) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp c30078aa-8fb1-4df2-972f-f939648ea2fc)
+    )
+    (fp_text value "100nF" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.3 0.3) (thickness 0.03)) (justify mirror))
+      (tstamp 1d5855f1-13dd-4ba4-b0a0-2c46e311e3d6)
+    )
+    (fp_rect (start -1 0.5) (end 1 -0.5) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 7d6a895a-c402-4941-8bf4-adb995139e23))
+    (pad "1" smd roundrect (at 0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 64 "Net-(C3-Pad1)") (pinfunction "1") (pintype "passive") (tstamp 0deadaf6-d03b-42ff-9b56-5ec88c992eb4))
+    (pad "2" smd roundrect (at -0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 59 "Net-(C3-Pad2)") (pinfunction "2") (pintype "passive") (tstamp db5c0843-ad0b-46d7-8e45-9b7611e00a5e))
+  )
+
+  (footprint "ataradov_ic:SOT-23" (layer "B.Cu")
+    (tedit 619F301D) (tstamp 19e98346-9ff5-4780-a0ff-39b8bda9823d)
+    (at 34.798 51.308 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/e254f06c-00a2-4056-b804-b955996fa3d5")
+    (attr smd)
+    (fp_text reference "IC1" (at 4.064 0 90) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp db9a367d-8ba3-48b8-acb9-82fecf7ce55b)
+    )
+    (fp_text value "SC662K-3.3" (at 0 0 90) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.1)) (justify mirror))
+      (tstamp e5c1ccb8-b1b3-48db-aafe-8fad846cf34e)
+    )
+    (fp_line (start 0.762 -1.45) (end -0.762 -1.45) (layer "B.SilkS") (width 0.127) (tstamp 16872a6f-cd4b-4e22-b9a8-eed99b68694c))
+    (fp_line (start -0.762 0.471) (end -0.762 -0.471) (layer "B.SilkS") (width 0.127) (tstamp d4ab580a-0c7d-4f87-80c1-36e103e5da9a))
+    (fp_line (start 0.762 -1.45) (end 0.762 -0.508) (layer "B.SilkS") (width 0.127) (tstamp d7f9165d-a459-4a6a-80b1-0e75191c2332))
+    (fp_line (start 0.762 1.45) (end -0.762 1.45) (layer "B.SilkS") (width 0.127) (tstamp ef57c4b8-d61a-426e-a5a6-5bd162826399))
+    (fp_line (start 0.762 1.45) (end 0.762 0.508) (layer "B.SilkS") (width 0.127) (tstamp f80b42bd-2129-4c6d-888e-78a3cc4ab68c))
+    (pad "1" smd roundrect (at -0.9375 0.95 180) (size 1.475 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "GND") (pintype "power_in") (tstamp dce8f81c-5d27-42d6-a341-22600c5d4f85))
+    (pad "2" smd roundrect (at -0.9375 -0.95 180) (size 1.475 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "OUT") (pintype "power_out") (tstamp e106dd0f-a728-4103-b10e-ac56272dca14))
+    (pad "3" smd roundrect (at 0.9375 0 180) (size 1.475 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "VBUS") (pinfunction "IN") (pintype "power_in") (tstamp 4db9a9e5-f1de-4636-bcfd-04d3e2be70cb))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 32e1aed6-e06d-402f-b13b-cddeae58cd61)
+    (at 52.197 55.88 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/c594dcf2-f562-4ebf-9380-711463f31929")
+    (attr smd)
+    (fp_text reference "R7" (at 0 -3.556) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 3ca9e5dd-f739-45f3-9555-c58c6b7ecf12)
+    )
+    (fp_text value "10K" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp a1f8f77e-952c-44e0-ad84-07c6b3144a69)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 6bd325e8-40f1-4c75-bd99-1c86cab3bb30))
+    (pad "1" smd roundrect (at 0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp 9d3bd4ad-1cde-42fd-a536-e679dfba5faa))
+    (pad "2" smd roundrect (at -0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 54 "Net-(LED1-Pad2)") (pinfunction "2") (pintype "passive") (tstamp 91aab53c-aba8-498d-b76e-353d4c0a7551))
+  )
+
+  (footprint "ataradov_smd:0402" (layer "B.Cu")
+    (tedit 619DC0B6) (tstamp 33b95fe6-632b-4a9e-91ec-68f812d851f8)
+    (at 42.799 51.054)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/d7ddab23-d82d-4b1f-bb60-867ca3aacbad")
+    (attr smd)
+    (fp_text reference "R3" (at 0 7.493) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 5a4a3296-ddb0-4002-a407-828908201264)
+    )
+    (fp_text value "200" (at 0 0.016 180 unlocked) (layer "B.Fab")
+      (effects (font (size 0.3 0.3) (thickness 0.03)) (justify mirror))
+      (tstamp cc5639f1-cba9-43c9-ab79-0da86d25b491)
+    )
+    (fp_rect (start -1 0.5) (end 1 -0.5) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 9a9944f6-c515-498f-a2c9-a1943ae61aae))
+    (pad "1" smd roundrect (at 0.5 0 270) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 46 "Net-(IC2-Pad41)") (pinfunction "1") (pintype "passive") (tstamp 597940a7-f7fd-4c89-974f-6615ff9f57d3))
+    (pad "2" smd roundrect (at -0.5 0 270) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 64 "Net-(C3-Pad1)") (pinfunction "2") (pintype "passive") (tstamp 0a3bc055-69e9-47da-a50f-9658c64218f5))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 38c45b1b-d66f-4e40-bb83-f59d81cbf651)
+    (at 41.656 47.117)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/cba72152-8d99-4bd5-8244-e2df9f952f40")
+    (attr smd)
+    (fp_text reference "R4" (at 0 -2.54) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 78884825-9e04-4698-86fd-7dea8506d696)
+    )
+    (fp_text value "10K" (at 0 0.016 180 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp fd10302b-1da6-4839-9740-747bae5c6a9d)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 29d0e7d0-18a0-46c1-9fdd-0f9658bfb713))
+    (pad "1" smd roundrect (at 0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 2 "/RESET") (pinfunction "1") (pintype "passive") (tstamp 541f2e8e-a086-414f-b557-67e035e4052a))
+    (pad "2" smd roundrect (at -0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp 872a56b5-d9ae-4ea5-bd78-7c5eb495e686))
+  )
+
+  (footprint "ataradov_smd:0402" (layer "B.Cu")
+    (tedit 619DC0B6) (tstamp 398f5e31-596c-4082-906f-c7ebedff2c14)
+    (at 45.847 53.086 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/0d146115-1987-4bfd-811f-0074c06844b0")
+    (attr smd)
+    (fp_text reference "L2" (at 0 -7.874) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 75d5411e-7135-4054-9a81-e9811c877041)
+    )
+    (fp_text value "BLM15BD471SN1D" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.3 0.3) (thickness 0.03)) (justify mirror))
+      (tstamp e18f1718-19b6-453d-9a26-d20102ae588a)
+    )
+    (fp_rect (start -1 0.5) (end 1 -0.5) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 8b7cb6dd-1551-4328-9f2f-46170a5d08b3))
+    (pad "1" smd roundrect (at 0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 64 "Net-(C3-Pad1)") (pinfunction "1") (pintype "passive") (tstamp 773e8689-b297-4488-a324-7f02bde36b25))
+    (pad "2" smd roundrect (at -0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "2") (pintype "passive") (tstamp 4dba545e-b5dd-4e5d-952d-84b574235885))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 3afdb8be-29c7-445a-af42-1a3dd57fe4d6)
+    (at 35.052 48.768)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/e06501c8-2845-4054-9787-05ce88080176")
+    (attr smd)
+    (fp_text reference "C1" (at 0 -4.064 180) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp bf10f2c8-cbc6-413f-a17b-9a040a73dc6a)
+    )
+    (fp_text value "1uF" (at 0 0.016 180 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp f42d2c22-5053-4eb1-97da-21fdecc0c03a)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp a695b3bb-58f1-4956-aa36-c18cf6f0f429))
+    (pad "1" smd roundrect (at 0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp 819ad589-b044-4486-9ad2-0969294de0e9))
+    (pad "2" smd roundrect (at -0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 11 "VBUS") (pinfunction "2") (pintype "passive") (tstamp 819f783d-ced4-4def-9d9f-b391905904a1))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 50fc1a94-50fa-424c-aad8-8c5e6e8619d2)
+    (at 48.641 55.245)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/511f975b-3d64-468c-9ff8-aebf3379c789")
+    (attr smd)
+    (fp_text reference "C7" (at -0.127 2.667 180) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp afba7ad0-7480-40f5-a6f8-aea07949d3e9)
+    )
+    (fp_text value "1uF" (at 0 0.016 180 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 72b6a99b-f08f-421a-9298-9be495a31d37)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 204bcb63-8065-4226-bcde-115137d060a5))
+    (pad "1" smd roundrect (at 0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp b97c8bdb-0cbb-4749-afc8-7d69c423b60a))
+    (pad "2" smd roundrect (at -0.8 0 270) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp eccffa9a-a034-4c49-93b7-88e7cf1aabb0))
+  )
+
+  (footprint "ataradov_smd:0402" (layer "B.Cu")
+    (tedit 619DC0B6) (tstamp 51f04c23-8570-4dab-b115-e442cbd69c72)
+    (at 46.99 47.371 90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/121fd247-0434-41bb-8963-4a9904c0ef39")
+    (attr smd)
+    (fp_text reference "C6" (at 2.794 0 180) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 158c4fb2-651b-49ad-bff5-8f594e310b14)
+    )
+    (fp_text value "1uF" (at 0 0.016 270 unlocked) (layer "B.Fab")
+      (effects (font (size 0.3 0.3) (thickness 0.03)) (justify mirror))
+      (tstamp b466f23a-d2fd-4e2a-80c8-7e6f530ff370)
+    )
+    (fp_rect (start -1 0.5) (end 1 -0.5) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 76b3901c-c3c2-48a7-89f8-4ed06feb8444))
+    (pad "1" smd roundrect (at 0.5 0) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp bb422669-886a-49f5-ab97-6acbdb0272ee))
+    (pad "2" smd roundrect (at -0.5 0) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 55 "Net-(C6-Pad2)") (pinfunction "2") (pintype "passive") (tstamp 34298a10-c20a-4732-9d69-bb2845ef2039))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 6182c921-d8da-4caa-b8e7-5cc6255ec8dd)
+    (at 49.022 47.879 90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/fb908ea7-04ac-4a04-9d86-6027ef044718")
+    (attr smd)
+    (fp_text reference "C8" (at 3.302 0) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp e3640726-fee5-4bb0-acb7-82eae1b6b576)
+    )
+    (fp_text value "1uF" (at 0 0.016 270 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 84a2df71-2661-4bd4-8305-20769441c77e)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp ca6e2adb-1b82-44fe-b403-c512f3b9c24c))
+    (pad "1" smd roundrect (at 0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp bfe83e49-f8c7-4f55-ac1c-ab290d0d4c7c))
+    (pad "2" smd roundrect (at -0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp 816aa4a2-9603-40ab-8c89-e6875c80662e))
+  )
+
+  (footprint "ataradov_smd:0402" (layer "B.Cu")
+    (tedit 619DC0B6) (tstamp 8e4901b9-6274-4a58-9fd0-dcbdd610fc80)
+    (at 42.799 53.594 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/0ef1f3c3-e4c4-4a73-8baa-87a2ea66a74e")
+    (attr smd)
+    (fp_text reference "C4" (at 0 -7.874) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 745668d8-5167-4f73-9a0b-02ceba8afbbe)
+    )
+    (fp_text value "1uF" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.3 0.3) (thickness 0.03)) (justify mirror))
+      (tstamp 84edcae8-8f4c-4e64-97f8-dba3c211999e)
+    )
+    (fp_rect (start -1 0.5) (end 1 -0.5) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 43a0cfdb-8241-4911-a2ed-a577cff4d712))
+    (pad "1" smd roundrect (at 0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 60 "Net-(C4-Pad1)") (pinfunction "1") (pintype "passive") (tstamp 13d3dc4e-0862-42db-ae5a-1e72ef3a73c0))
+    (pad "2" smd roundrect (at -0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 64 "Net-(C3-Pad1)") (pinfunction "2") (pintype "passive") (tstamp 99d1f22f-7013-4fd5-9456-678a41f41657))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 8e6cd78f-0481-4837-9fa9-ebb4744e52aa)
+    (at 51.054 51.308 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/5b90fd4b-899a-4541-8472-8fc45aa265a6")
+    (attr smd)
+    (fp_text reference "R6" (at 0 -9.652) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 711d86e3-7c26-45ed-9571-32af0128af43)
+    )
+    (fp_text value "10K" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp fec00759-c54b-40c2-8e2f-2b8ccc0be85b)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp f1d8a23d-489f-4447-913f-9030a9770fac))
+    (pad "1" smd roundrect (at 0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 4 "/SWDIO") (pinfunction "1") (pintype "passive") (tstamp 684c2ff2-df76-4c6c-b005-bd338619268a))
+    (pad "2" smd roundrect (at -0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp 8ea1229e-626b-43e8-b194-b07961695e29))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp 97485eee-4c91-4308-83e7-1477047e7584)
+    (at 35.052 53.848 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/03c058db-b9f4-404f-9c24-1f1dab858e28")
+    (attr smd)
+    (fp_text reference "C2" (at 0 -4.064) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp f54d8094-b476-4a0b-a703-454ecd9a5cd8)
+    )
+    (fp_text value "1uF" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 037b3d83-5616-4b16-bfd2-3eaf8eead991)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp d039a648-0e2b-4def-8dac-7f270788c2ca))
+    (pad "1" smd roundrect (at 0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp 554ad4f0-a1a3-4520-9b32-9aca5dd7fe6c))
+    (pad "2" smd roundrect (at -0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp cfbfeea2-5b6d-4cea-b1f2-92968c5299f4))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp a8235301-1032-4d29-b4f9-d2a37436df0f)
+    (at 39.37 49.276 90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/c2ea3529-b16a-465b-b793-cd4bcdfbeef6")
+    (attr smd)
+    (fp_text reference "R2" (at 4.699 0) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 29fb7f70-ae2c-4dc3-83f9-c11a7a9482ab)
+    )
+    (fp_text value "5.1K" (at 0 0.016 270 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 2c702ff4-dcc9-4107-8712-415e1068618f)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 1147e4af-1b4e-4234-8fd2-44363b682372))
+    (pad "1" smd roundrect (at 0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp b6223809-c363-40c4-969c-6f85a250711a))
+    (pad "2" smd roundrect (at -0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 6 "Net-(J1-PadCC1)") (pinfunction "2") (pintype "passive") (tstamp a7a3e16a-4338-44fc-aee9-f385807aa9fe))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp bf6b895f-6d34-4f2a-a8de-3130880a54c8)
+    (at 44.45 47.879 90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/5615d963-6d0e-4a01-9461-61da17436dab")
+    (attr smd)
+    (fp_text reference "C9" (at 3.302 0) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 79931ec2-db61-4235-a8bb-e594172eb9f4)
+    )
+    (fp_text value "1uF" (at 0 0.016 270 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp e93006ec-34a1-4877-b2d6-de87895b93a5)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 96e0e802-c96f-4baf-be83-9b6cab8c3352))
+    (pad "1" smd roundrect (at 0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp 57240c49-697e-4912-be1c-544368cf19e8))
+    (pad "2" smd roundrect (at -0.8 0) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp 9be0a51f-fee4-4906-be63-bcc67707d8e7))
+  )
+
+  (footprint "ataradov_smd:0402" (layer "B.Cu")
+    (tedit 619DC0B6) (tstamp d30d2c68-6f1d-4c72-bc45-1181e5edd6c4)
+    (at 45.847 52.07 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/b54e9c10-cec2-4fb7-b5fa-76e3fa2cbebb")
+    (attr smd)
+    (fp_text reference "L1" (at 0 -7.493) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp f1a6ef00-2d6d-4e79-97dc-0c548394d229)
+    )
+    (fp_text value "BLM15BD471SN1D" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.3 0.3) (thickness 0.03)) (justify mirror))
+      (tstamp 06fe31f4-b0b5-4f4c-a421-10276e278577)
+    )
+    (fp_rect (start -1 0.5) (end 1 -0.5) (layer "B.SilkS") (width 0.127) (fill none) (tstamp 2a03f6bc-ae2c-40ca-9aae-8fd4e553f742))
+    (pad "1" smd roundrect (at 0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 59 "Net-(C3-Pad2)") (pinfunction "1") (pintype "passive") (tstamp b009abf7-b25f-4659-87a2-f2fab048440a))
+    (pad "2" smd roundrect (at -0.5 0 90) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp d10a666e-8b83-499b-8a03-1b6e556b7e97))
+  )
+
+  (footprint "ataradov_smd:0402" (layer "B.Cu")
+    (tedit 619DC0B6) (tstamp dad68d94-ac8c-4468-86a8-ef705484addb)
+    (at 45.847 54.102)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/1e695ccd-bd10-4d06-aff8-bf772897e5c6")
+    (attr smd)
+    (fp_text reference "C5" (at 0 8.255) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp 106edb6c-0d35-44ee-ad54-04e3750753be)
+    )
+    (fp_text value "1uF" (at 0 0.016 180 unlocked) (layer "B.Fab")
+      (effects (font (size 0.3 0.3) (thickness 0.03)) (justify mirror))
+      (tstamp 6ba13170-4c63-4ad3-bb7d-d8c90b82bb05)
+    )
+    (fp_rect (start -1 0.5) (end 1 -0.5) (layer "B.SilkS") (width 0.127) (fill none) (tstamp e92e6642-440c-49e9-afcc-bd86df70d8c9))
+    (pad "1" smd roundrect (at 0.5 0 270) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp 36877485-a2e7-4856-840a-916b6ab4e79e))
+    (pad "2" smd roundrect (at -0.5 0 270) (size 0.6 0.6) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 61 "Net-(C5-Pad2)") (pinfunction "2") (pintype "passive") (tstamp 642bd10d-c3e2-45f3-bf88-9f2ebe5bdf39))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp f9d7b3da-54d5-4fb8-9f58-748b58734b41)
+    (at 51.054 52.832 180)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/539cec94-91a0-4ec0-99cc-490e4a898fee")
+    (attr smd)
+    (fp_text reference "R5" (at 0 -9.525) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp b0b1dae1-6d8a-4a17-838c-1c8ccbcb421e)
+    )
+    (fp_text value "10K" (at 0 0.016 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 78e79e76-11d0-4822-9977-7a5868b10275)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp be266830-0722-446b-9a74-2cd7cfaa5890))
+    (pad "1" smd roundrect (at 0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 3 "/SWCLK") (pinfunction "1") (pintype "passive") (tstamp 9319bdfa-0265-402f-8a32-c4a487429535))
+    (pad "2" smd roundrect (at -0.8 0 90) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "2") (pintype "passive") (tstamp 8728f417-164e-4433-affa-328b6f50f381))
+  )
+
+  (footprint "ataradov_smd:0603" (layer "B.Cu")
+    (tedit 619DC0BD) (tstamp fd505fa7-5c50-4195-bc8b-e7789cf5ed7c)
+    (at 39.37 53.34 -90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/9ccf3359-ba11-46a6-9a0c-9b63f86fe90d")
+    (attr smd)
+    (fp_text reference "R1" (at 4.572 0 180) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp dae65c64-c856-4732-aa61-4158ca7c768c)
+    )
+    (fp_text value "5.1K" (at 0 0.016 90 unlocked) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.05)) (justify mirror))
+      (tstamp 7a416594-7c51-462e-8617-18aea822aedd)
+    )
+    (fp_rect (start -1.55 0.75) (end 1.55 -0.75) (layer "B.SilkS") (width 0.127) (fill none) (tstamp cbdc6767-71bb-404a-b950-e4b45a893f4f))
+    (pad "1" smd roundrect (at 0.8 0 180) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "1") (pintype "passive") (tstamp 835c4374-2528-4d2c-bbf3-421c175baee1))
+    (pad "2" smd roundrect (at -0.8 0 180) (size 0.9 0.9) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 7 "Net-(J1-PadCC2)") (pinfunction "2") (pintype "passive") (tstamp 14252f89-83f5-4c74-9381-15d19744e091))
+  )
+
+  (footprint "ataradov_ic:SMD2016-4P" (layer "B.Cu")
+    (tedit 61F740AC) (tstamp fdec2008-0b75-4dcf-bb5b-8050cdd8e7df)
+    (at 51.054 48.768 90)
+    (property "Sheetfile" "m484-dap.kicad_sch")
+    (property "Sheetname" "")
+    (path "/f5a9e84f-71bc-44ae-ba9c-629ab6cfcde2")
+    (attr smd)
+    (fp_text reference "IC3" (at 4.191 0 180) (layer "B.SilkS")
+      (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+      (tstamp af0ae498-0a28-47a6-b2c9-d327bc4bdb04)
+    )
+    (fp_text value "OT201612MJBA4SL" (at 0 0 90) (layer "B.Fab")
+      (effects (font (size 0.5 0.5) (thickness 0.1)) (justify mirror))
+      (tstamp 96f6ada1-6c04-4fd9-a52c-121792005106)
+    )
+    (fp_line (start -1.524 0) (end -1.524 -1.2446) (layer "B.SilkS") (width 0.254) (tstamp 11f0289b-1910-4667-931b-b549cb5ae915))
+    (fp_line (start -1.397 1.143) (end 1.397 1.143) (layer "B.SilkS") (width 0.127) (tstamp 42069690-cec8-4fc6-9041-99c0fd8f697e))
+    (fp_line (start -1.524 -1.27) (end 0 -1.27) (layer "B.SilkS") (width 0.254) (tstamp 900c2469-6076-4ab7-a1f4-eaa5bef8f588))
+    (fp_line (start -1.397 1.143) (end -1.397 -1.143) (layer "B.SilkS") (width 0.127) (tstamp 95968825-4364-461a-b795-4867f3fc8ecc))
+    (fp_line (start -1.397 -1.143) (end 1.397 -1.143) (layer "B.SilkS") (width 0.127) (tstamp 9b2239ed-5d1a-4c89-9eb6-feb4095fe3f5))
+    (fp_line (start 1.397 1.143) (end 1.397 -1.143) (layer "B.SilkS") (width 0.127) (tstamp ea53845d-1fa5-435b-9169-3200ad250239))
+    (pad "1" smd roundrect (at -0.6375 -0.4875 90) (size 0.775 0.675) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "OE") (pintype "passive") (tstamp f2c58438-eae5-496d-b47d-76809133bdce))
+    (pad "2" smd roundrect (at 0.6375 -0.4875 90) (size 0.775 0.675) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 1 "GND") (pinfunction "GND") (pintype "power_in") (tstamp 4eac6c0e-d090-4296-a127-9397dc1ef867))
+    (pad "3" smd roundrect (at 0.6375 0.4875 90) (size 0.775 0.675) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 47 "/12MHz") (pinfunction "OUT") (pintype "output") (tstamp 99a67757-53a8-42ee-9b69-935275ceac63))
+    (pad "4" smd roundrect (at -0.6375 0.4875 90) (size 0.775 0.675) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.25)
+      (net 5 "+3V3") (pinfunction "VCC") (pintype "power_in") (tstamp b51a65ac-44a8-4716-8b3a-06a4dbd207a3))
+  )
+
+  (gr_circle (center 55.499 55.245) (end 56.007 55.245) (layer "B.SilkS") (width 0.2) (fill solid) (tstamp ab571669-951e-432b-99aa-17a029c2eebf))
+  (gr_circle (center 55.499 55.88) (end 56.007 55.88) (layer "F.SilkS") (width 0.2) (fill solid) (tstamp a62752da-26da-4049-af2f-297623049ac6))
+  (gr_rect (start 32.258 45.72) (end 56.642 56.896) (layer "Edge.Cuts") (width 0.127) (fill none) (tstamp 2a884ec1-8b99-4278-96d4-ba229cbf2441))
+  (gr_text "AT" (at 45.085 55.626) (layer "B.SilkS") (tstamp 3f8a5430-68a9-4732-9b89-4e00dd8ae219)
+    (effects (font (size 1 1) (thickness 0.127)) (justify mirror))
+  )
+  (gr_text "2022-06-20" (at 43.18 41.656) (layer "F.SilkS") (tstamp 26801cfb-b53b-4a6a-a2f4-5f4986565765)
+    (effects (font (size 1 1) (thickness 0.127)))
+  )
+
+  (via (at 36.322 55.499) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 0f5e6191-105a-45bb-9762-b9d070635fa4))
+  (via (at 49.276 50.292) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 17fe8f90-2eb5-4117-b2b2-db768db21548))
+  (via (at 41.656 48.641) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 3fbf5118-f97a-4411-ae08-dab66d57a89e))
+  (via (at 33.274 50.038) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 481216d5-b80b-4cc5-9ced-a9b7689cce71))
+  (via (at 46.101 49.022) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 7681fb5c-ec18-458e-9ba6-713c89df07c6))
+  (via (at 36.83 51.054) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 808f56b5-a241-452d-99fa-340bd8ee785f))
+  (via (at 40.767 54.61) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 8e522669-3c67-4c59-afcb-95b03ba111a4))
+  (via (at 33.274 52.578) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp 9b947aa1-ba9d-4a23-bc1a-15da5f7737a9))
+  (via (at 41.656 50.419) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp a02fc086-7bb7-45b5-8a19-0e15a2d41e56))
+  (via (at 37.084 49.022) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp af1a5134-bc52-4cc1-b322-f38a966e94c8))
+  (via (at 36.957 53.848) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp c0381c78-7f89-4555-8dfb-23e3977606df))
+  (via (at 43.053 55.372) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp d3c4fc06-e4fc-4733-8064-db8df4416a5c))
+  (via (at 54.483 46.99) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp dc3694d1-65c3-4702-8a93-b300f5fdf797))
+  (via (at 41.656 55.372) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp dde39aca-e054-4065-a90c-6efaf131d96a))
+  (via (at 45.212 51.054) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp eb54b329-85dd-4aa2-8822-bd0565156817))
+  (via (at 36.322 47.117) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp eed1f90c-7c3d-460c-85dc-3f0b64fef1e8))
+  (via (at 40.767 53.594) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp fa8beb38-f70a-4807-9763-1d2195152a48))
+  (segment (start 43.307 47.117) (end 43.398 47.208) (width 0.1905) (layer "F.Cu") (net 2) (tstamp 1bcebcf7-28df-4619-9ad4-9a30a8976aa6))
+  (segment (start 43.398 47.208) (end 44.117 47.208) (width 0.1905) (layer "F.Cu") (net 2) (tstamp 80dd70b5-4af4-4342-939a-8db80906f032))
+  (via (at 43.307 47.117) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 2) (tstamp 35eb37c3-1573-4ed8-8ff2-c5eb1348d7c4))
+  (segment (start 42.456 47.117) (end 43.307 47.117) (width 0.1905) (layer "B.Cu") (net 2) (tstamp 22e7880b-c648-4d2b-943f-9f06a064a591))
+  (segment (start 43.882 48.708) (end 47.752 52.578) (width 0.1905) (layer "F.Cu") (net 3) (tstamp 5eaef4b9-f5a3-43a7-8684-d9c4f70bf2bb))
+  (segment (start 43.017 48.708) (end 43.882 48.708) (width 0.1905) (layer "F.Cu") (net 3) (tstamp 84260729-7995-4660-808a-f955ce94ec53))
+  (segment (start 47.752 52.578) (end 48.641 52.578) (width 0.1905) (layer "F.Cu") (net 3) (tstamp ec90ff7a-59f7-46c3-a2b3-84c9d890ac60))
+  (segment (start 48.895 52.832) (end 48.641 52.578) (width 0.1905) (layer "B.Cu") (net 3) (tstamp 4b7aa1ce-5fe0-4d31-8873-4fd2167d499d))
+  (segment (start 50.254 52.832) (end 48.895 52.832) (width 0.1905) (layer "B.Cu") (net 3) (tstamp 7c5cc45c-b7c0-4e40-87e7-4c11ad4e7367))
+  (segment (start 47.002854 51.308) (end 48.641 51.308) (width 0.1905) (layer "F.Cu") (net 4) (tstamp 71d73cff-c2ce-403e-b87c-1ffed1f9058f))
+  (segment (start 44.002854 48.308) (end 47.002854 51.308) (width 0.1905) (layer "F.Cu") (net 4) (tstamp bdf8bad8-3eda-4963-a3d5-2f9da8c72bdd))
+  (segment (start 43.017 48.308) (end 44.002854 48.308) (width 0.1905) (layer "F.Cu") (net 4) (tstamp c7697bb3-43eb-416f-98f0-96e73b1c0c0e))
+  (segment (start 48.641 51.308) (end 50.254 51.308) (width 0.1905) (layer "B.Cu") (net 4) (tstamp 6c7b6545-4495-4f0b-b525-08a65cec9ad9))
+  (segment (start 47.371 54.102) (end 45.3439 54.102) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 073b75a6-09a1-427d-b5f4-2a25c65100e4))
+  (segment (start 44.917 54.5289) (end 44.917 55.408) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 0d0f4338-6720-4af9-8600-c42c840bd2d7))
+  (segment (start 47.717 47.208) (end 47.717 48.479) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 3222f6b4-a6b4-4c3c-aa92-4923e00313e6))
+  (segment (start 47.885345 48.647345) (end 47.896829 48.647345) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 3b4cde45-4fbf-4d11-9d83-979021258816))
+  (segment (start 44.517 47.208) (end 44.517 48.073) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 5f114aa6-a4f3-4bb8-b2be-6fbe3f9522b5))
+  (segment (start 49.022 49.403) (end 49.127 49.508) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 62058984-f071-4a51-8852-cbb9f6e81549))
+  (segment (start 44.517 48.073) (end 44.958 48.514) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 62f0092c-f1d4-40a7-94b1-2bfd8a1d3186))
+  (segment (start 49.127 49.508) (end 51.217 49.508) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 83c0c517-8244-4e67-9058-8430a3fa1c17))
+  (segment (start 47.717 54.448) (end 47.717 55.408) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 9800b348-b7e6-4eb0-8abe-43c541c63373))
+  (segment (start 45.212 48.514) (end 44.958 48.514) (width 0.1905) (layer "F.Cu") (net 5) (tstamp 9f7eff24-9614-421d-a153-d6251b165577))
+  (segment (start 47.317 54.156) (end 47.317 55.408) (width 0.1905) (layer "F.Cu") (net 5) (tstamp a83d4ce2-9526-4a54-a082-54dce48dd6ec))
+  (segment (start 47.371 54.102) (end 47.717 54.448) (width 0.1905) (layer "F.Cu") (net 5) (tstamp af4f8f62-4b06-4a71-bb34-189d6c47d911))
+  (segment (start 47.371 54.102) (end 47.317 54.156) (width 0.1905) (layer "F.Cu") (net 5) (tstamp b5187192-00a0-4c3e-8012-c240a37052be))
+  (segment (start 45.3439 54.102) (end 44.917 54.5289) (width 0.1905) (layer "F.Cu") (net 5) (tstamp c98866e6-9d72-4de9-9744-a63258ddd37f))
+  (segment (start 47.717 48.479) (end 47.885345 48.647345) (width 0.1905) (layer "F.Cu") (net 5) (tstamp f505348f-e9d5-4a94-a1ae-d5485011dd1a))
+  (via (at 49.022 49.403) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 5) (tstamp 5018bbc4-2c7d-4e1e-a2a3-a3ed5cadd5b1))
+  (via (at 45.212 48.514) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 5) (tstamp d0221e15-9b8d-4307-af34-3e74cd217d5b))
+  (via (at 47.896829 48.647345) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 5) (tstamp d7aa6db7-6aa5-4505-b1f8-3616471d123a))
+  (via (at 47.371 54.102) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 5) (tstamp fb3f5d09-c4c4-4fa6-b0a0-8e6021dede6d))
+  (segment (start 40.856 49.746) (end 40.856 47.117) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 04bb53f2-ed8b-4d8f-ae8a-612cacd8ba3c))
+  (segment (start 40.894 49.784) (end 40.856 49.746) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 149fec05-128f-4567-8064-a86ac1ce75de))
+  (segment (start 40.005 51.308) (end 40.856 50.457) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 176e649d-e025-41c0-861c-caa1947ac5f0))
+  (segment (start 47.841 54.572) (end 47.371 54.102) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 1a21d449-12ef-4329-b7eb-f89576ba641b))
+  (segment (start 51.5415 49.4055) (end 51.5415 50.2715) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 22c7d892-5132-4846-821f-6a60fae92d06))
+  (segment (start 47.371 52.07) (end 47.371 49.784) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 275131bc-34f3-4253-8962-4466c631ac52))
+  (segment (start 44.45 48.679) (end 45.047 48.679) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 27b51db1-2679-43d5-aaec-d1f15de9a96f))
+  (segment (start 45.212 49.784) (end 47.371 49.784) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 2ddbcd5e-0e1f-4142-8b79-96f928dea3d5))
+  (segment (start 49.022 49.403) (end 48.641 49.784) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 2f5411f6-3b86-4a85-900d-b4b90c7bec27))
+  (segment (start 45.212 48.514) (end 45.212 49.784) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 32856150-c0d9-440b-acc5-7377f16d9009))
+  (segment (start 35.852 53.848) (end 35.852 52.3745) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 38ea8155-3c6b-4d72-b57c-171ea4a904b3))
+  (segment (start 47.371 52.07) (end 47.371 54.102) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 3aa324ce-aae2-4391-a17f-df94e0215ae3))
+  (segment (start 46.347 52.07) (end 47.371 52.07) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 3bfd30b4-19d9-4b94-ba4f-f6bb52069f59))
+  (segment (start 49.022 49.403) (end 49.0245 49.4055) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 54c2978f-b73c-43b4-a7ec-5f6150e1620c))
+  (segment (start 45.212 49.784) (end 40.894 49.784) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 5948543f-5c5f-42d4-9447-d4643a08237b))
+  (segment (start 35.7355 52.258) (end 36.76025 52.258) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 59761ef2-9d7d-420d-862b-aeae66d49166))
+  (segment (start 51.5415 50.2715) (end 51.854 50.584) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 5cdfaeb5-3863-4df4-9de0-a1a38c2f0652))
+  (segment (start 37.71025 51.308) (end 40.005 51.308) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 6bd50440-13f4-4f7b-9665-d56a35694c8b))
+  (segment (start 48.990345 48.647345) (end 49.022 48.679) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 81c3e908-a901-43ec-8e0c-4b9398c5b29d))
+  (segment (start 51.854 52.832) (end 51.854 51.308) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 845d6672-ce56-4516-8e2b-bd2bfc848ca9))
+  (segment (start 40.856 50.457) (end 40.856 49.746) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 94df70ec-732f-4147-bdbc-411475f7e66e))
+  (segment (start 51.5415 49.4055) (end 50.5665 49.4055) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 94e4b38a-b257-4d23-bf15-1625d7fa4efd))
+  (segment (start 48.641 49.784) (end 47.371 49.784) (width 0.1905) (layer "B.Cu") (net 5) (tstamp 9c3ac1cc-0049-4510-9cd6-4679b90a4762))
+  (segment (start 47.841 55.245) (end 47.841 54.572) (width 0.1905) (layer "B.Cu") (net 5) (tstamp a41f8b6e-6620-41e7-b661-608792159633))
+  (segment (start 35.852 52.3745) (end 35.7355 52.258) (width 0.1905) (layer "B.Cu") (net 5) (tstamp b83276c5-55af-4b5e-bb29-57eeb795b13a))
+  (segment (start 36.76025 52.258) (end 37.71025 51.308) (width 0.1905) (layer "B.Cu") (net 5) (tstamp c5651e0a-e497-4083-9533-2dbc874ffbba))
+  (segment (start 49.0245 49.4055) (end 50.5665 49.4055) (width 0.1905) (layer "B.Cu") (net 5) (tstamp d3d77de8-dad7-47f9-bae9-67f9531be0cb))
+  (segment (start 47.896829 48.647345) (end 48.990345 48.647345) (width 0.1905) (layer "B.Cu") (net 5) (tstamp d651e3f5-f9e0-4d04-a340-a7b42b0f6b56))
+  (segment (start 51.854 50.584) (end 51.854 51.308) (width 0.1905) (layer "B.Cu") (net 5) (tstamp eb598025-3859-4322-a82c-be5b23e10884))
+  (segment (start 45.047 48.679) (end 45.212 48.514) (width 0.1905) (layer "B.Cu") (net 5) (tstamp fdbebd5e-d626-4ff6-950f-b0537757bacb))
+  (segment (start 39.38225 50.058) (end 38.12 50.058) (width 0.254) (layer "F.Cu") (net 6) (tstamp 4559dd26-8d90-4217-a8b2-1adb39d7efbd))
+  (segment (start 38.12 50.058) (end 38.1 50.038) (width 0.254) (layer "F.Cu") (net 6) (tstamp bcb83b99-261c-469f-8af0-a0322b6b6b83))
+  (via (at 38.1 50.038) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 6) (tstamp 7dc1ce1b-568c-4602-a1cf-8ad58eddd87c))
+  (segment (start 38.138 50.076) (end 38.1 50.038) (width 0.254) (layer "B.Cu") (net 6) (tstamp 818111a6-1429-497e-b8d7-f2616a7ec373))
+  (segment (start 39.37 50.076) (end 38.138 50.076) (width 0.254) (layer "B.Cu") (net 6) (tstamp 9ab92207-1da7-4613-a632-d3972813f57b))
+  (segment (start 38.1 52.71206) (end 38.44594 53.058) (width 0.254) (layer "F.Cu") (net 7) (tstamp 019aaacd-0e68-4248-940a-cd4c591dfd0c))
+  (segment (start 38.1 52.705) (end 38.1 52.71206) (width 0.254) (layer "F.Cu") (net 7) (tstamp 965ecd17-888f-41ac-a2bd-9fd9c1534d38))
+  (segment (start 38.44594 53.058) (end 39.38225 53.058) (width 0.254) (layer "F.Cu") (net 7) (tstamp e509b0e1-7272-4e21-9888-815afc7fba1d))
+  (via (at 38.1 52.705) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 7) (tstamp f05ba679-d23d-42b7-b001-03eb17c3bfb7))
+  (segment (start 38.265 52.54) (end 39.37 52.54) (width 0.254) (layer "B.Cu") (net 7) (tstamp 1a6be7d5-fb24-45a8-ba39-04b1c9c334f2))
+  (segment (start 38.1 52.705) (end 38.265 52.54) (width 0.254) (layer "B.Cu") (net 7) (tstamp 931a93b0-710e-4b92-ab9b-ebc0ad8b998f))
+  (segment (start 38.518 53.758) (end 39.421 53.758) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 08bd3a9e-d6e8-4149-a892-7b321ad927fc))
+  (segment (start 37.465 53.086) (end 37.846 53.467) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 1add2532-703e-48fa-b109-26f236bbf750))
+  (segment (start 41.767 52.308) (end 40.894 51.435) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 1c0892aa-ae66-43da-b847-85bef9610b94))
+  (segment (start 37.846 49.276) (end 37.465 49.657) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 2da17ca0-bf48-42a3-ab98-2230e1fab774))
+  (segment (start 37.465 49.657) (end 37.465 53.086) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 3fa9226a-5d11-4754-a28e-4e148ed67a6f))
+  (segment (start 38.518 48.858) (end 38.1 49.276) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 43adb4ef-ff02-4a55-91ed-788dc58c2f53))
+  (segment (start 37.465 49.657) (end 34.798 49.657) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 85c5259a-973e-4001-86fa-be86d5936944))
+  (segment (start 40.894 49.403) (end 40.349 48.858) (width 0.1905) (layer "F.Cu") (net 11) (tstamp 9a7536e6-628c-4f5b-8e81-e11781e5f9d7))
+  (segment (start 34.798 49.657) (end 34.671 49.657) (width 0.1905) (layer "F.Cu") (net 11) (tstamp b540775b-a82f-4a71-806e-06fb42efedea))
+  (segment (start 38.1 49.276) (end 37.846 49.276) (width 0.1905) (layer "F.Cu") (net 11) (tstamp c00cdbdb-d55d-4870-962c-9c52bb4a9135))
+  (segment (start 37.846 53.467) (end 38.227 53.467) (width 0.1905) (layer "F.Cu") (net 11) (tstamp c84dfb07-b263-424c-b8e0-1cfd0933d931))
+  (segment (start 39.421 48.858) (end 38.518 48.858) (width 0.1905) (layer "F.Cu") (net 11) (tstamp ca4e9f4c-b5dd-4e4e-b3f6-dd8da6fdc191))
+  (segment (start 40.349 48.858) (end 39.421 48.858) (width 0.1905) (layer "F.Cu") (net 11) (tstamp e17ca305-5654-47a5-9d54-c6ccb4bb345c))
+  (segment (start 43.017 52.308) (end 41.767 52.308) (width 0.1905) (layer "F.Cu") (net 11) (tstamp e48ee220-5d7b-416c-a950-31f719833b83))
+  (segment (start 38.227 53.467) (end 38.518 53.758) (width 0.1905) (layer "F.Cu") (net 11) (tstamp e857629a-33fc-45a7-af00-6bce1775a66d))
+  (segment (start 34.671 49.657) (end 34.29 50.038) (width 0.1905) (layer "F.Cu") (net 11) (tstamp ed5c18fe-fc79-4d47-a483-d34ddb7a253e))
+  (segment (start 40.894 51.435) (end 40.894 49.403) (width 0.1905) (layer "F.Cu") (net 11) (tstamp eee2a460-a3c0-45c6-a910-a70c6679a871))
+  (via (at 34.29 50.038) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 11) (tstamp 2f2cff48-4ce5-46bb-a06d-6dc5e6fb0489))
+  (segment (start 34.252 50) (end 34.29 50.038) (width 0.1905) (layer "B.Cu") (net 11) (tstamp 338e8263-4910-4f5e-b3b2-287039e734e7))
+  (segment (start 33.8605 51.308) (end 33.8605 50.4675) (width 0.1905) (layer "B.Cu") (net 11) (tstamp 9bd334eb-fe3b-493e-a123-3f91614044f3))
+  (segment (start 33.8605 50.4675) (end 34.29 50.038) (width 0.1905) (layer "B.Cu") (net 11) (tstamp ed3c4a0c-97de-40e4-9bdb-f3b220a458ab))
+  (segment (start 34.252 48.768) (end 34.252 50) (width 0.1905) (layer "B.Cu") (net 11) (tstamp fbf4cc3b-3498-4959-9917-e8c538827b7b))
+  (segment (start 43.017 53.508) (end 41.697 53.508) (width 0.1905) (layer "F.Cu") (net 12) (tstamp 1f9e890c-8438-4204-89d6-f51ea4f2a91f))
+  (segment (start 38.4999 52.058) (end 39.421 52.058) (width 0.1905) (layer "F.Cu") (net 12) (tstamp 39c7ca7b-066f-44ac-8205-33071e8a2481))
+  (segment (start 38.4999 51.058) (end 38.42295 51.13495) (width 0.1905) (layer "F.Cu") (net 12) (tstamp 9285b4f5-e746-4c04-9141-ddd1fd457bc5))
+  (segment (start 38.42295 51.13495) (end 38.42295 51.98105) (width 0.1905) (layer "F.Cu") (net 12) (tstamp 93a414d6-7c60-446f-b574-9ee66e684491))
+  (segment (start 40.247 52.058) (end 39.421 52.058) (width 0.1905) (layer "F.Cu") (net 12) (tstamp 9e5545dc-5cb5-4838-a126-59104ea7b3ef))
+  (segment (start 41.697 53.508) (end 40.247 52.058) (width 0.1905) (layer "F.Cu") (net 12) (tstamp aff987c3-3e09-4f9d-abe2-641b80dc0549))
+  (segment (start 39.421 51.058) (end 38.4999 51.058) (width 0.1905) (layer "F.Cu") (net 12) (tstamp e109a433-e791-4421-b129-c985e47e13da))
+  (segment (start 38.42295 51.98105) (end 38.4999 52.058) (width 0.1905) (layer "F.Cu") (net 12) (tstamp f9e66dd4-b910-41d1-9573-e79779f57f82))
+  (segment (start 40.39 51.558) (end 39.421 51.558) (width 0.1905) (layer "F.Cu") (net 13) (tstamp 0ed6486b-0c40-417a-9747-d778fc47d24a))
+  (segment (start 40.41905 51.52895) (end 40.39 51.558) (width 0.1905) (layer "F.Cu") (net 13) (tstamp 1598b848-cf9c-416f-aba3-212ea1e66d1a))
+  (segment (start 40.3421 50.558) (end 40.41905 50.63495) (width 0.1905) (layer "F.Cu") (net 13) (tstamp 8fd48bc9-faf8-428a-a821-e90fa22c3b3b))
+  (segment (start 39.421 50.558) (end 40.3421 50.558) (width 0.1905) (layer "F.Cu") (net 13) (tstamp ace55361-246d-4177-a805-01b587b2b249))
+  (segment (start 40.39 51.566) (end 40.39 51.558) (width 0.1905) (layer "F.Cu") (net 13) (tstamp b470b856-2d6a-4b53-a170-5fb009af4b23))
+  (segment (start 43.017 52.708) (end 41.532 52.708) (width 0.1905) (layer "F.Cu") (net 13) (tstamp c38b23d0-8a95-4fbc-af5c-507d4e1bfac2))
+  (segment (start 41.532 52.708) (end 40.39 51.566) (width 0.1905) (layer "F.Cu") (net 13) (tstamp cb0dedc1-7357-424f-91d0-bf474a0f25b9))
+  (segment (start 40.41905 50.63495) (end 40.41905 51.52895) (width 0.1905) (layer "F.Cu") (net 13) (tstamp e233285a-3155-445c-b51e-abec282d8255))
+  (segment (start 44.323 51.054) (end 43.869 51.508) (width 0.1905) (layer "F.Cu") (net 46) (tstamp 322567be-33bf-4519-880e-b1915b430d1e))
+  (segment (start 43.869 51.508) (end 43.017 51.508) (width 0.1905) (layer "F.Cu") (net 46) (tstamp 62149ef4-95a1-4f78-a630-eb61cfcf1d94))
+  (via (at 44.323 51.054) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 46) (tstamp e9f10d7b-c532-46c2-8860-c35c16ab091b))
+  (segment (start 43.299 51.054) (end 44.323 51.054) (width 0.1905) (layer "B.Cu") (net 46) (tstamp e01182f3-2b9a-41b1-9fcb-820248a7daf8))
+  (segment (start 51.217 47.208) (end 51.435 46.99) (width 0.1905) (layer "F.Cu") (net 47) (tstamp 57b2eecd-14b7-4b36-bf65-c5899da92f25))
+  (segment (start 51.217 48.308) (end 51.217 47.208) (width 0.1905) (layer "F.Cu") (net 47) (tstamp 784b51e3-401f-4194-be3b-7b4cbe7693f2))
+  (via (at 51.435 46.99) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 47) (tstamp c91239a6-47f1-482c-aa94-c0e29dfbd4cd))
+  (segment (start 51.5415 48.1305) (end 51.5415 47.0965) (width 0.1905) (layer "B.Cu") (net 47) (tstamp 28bfab6f-b65e-4b28-be62-c1819df38bfe))
+  (segment (start 51.5415 47.0965) (end 51.435 46.99) (width 0.1905) (layer "B.Cu") (net 47) (tstamp b4c3fa04-65e0-4358-b519-bf00b2812a1f))
+  (segment (start 51.217 53.908) (end 53.788 53.908) (width 0.1905) (layer "F.Cu") (net 48) (tstamp 892c473f-8741-411f-9311-80c8d2aeace5))
+  (segment (start 53.788 53.908) (end 53.848 53.848) (width 0.1905) (layer "F.Cu") (net 48) (tstamp 8d6b11aa-7fc0-4c32-9be5-510e9f07ae2b))
+  (segment (start 51.217 52.708) (end 53.718 52.708) (width 0.1905) (layer "F.Cu") (net 49) (tstamp 8339bf88-4df6-4c52-8fdf-af12cb7ecd74))
+  (segment (start 53.718 52.708) (end 53.848 52.578) (width 0.1905) (layer "F.Cu") (net 49) (tstamp 9d7e46a8-e4b3-465c-9086-0c6c1700e4e0))
+  (segment (start 53.648 51.508) (end 53.848 51.308) (width 0.1905) (layer "F.Cu") (net 50) (tstamp 2acf6135-11c1-4a65-bfac-1112a35df578))
+  (segment (start 51.217 51.508) (end 53.648 51.508) (width 0.1905) (layer "F.Cu") (net 50) (tstamp 38557d81-469d-4a1e-a431-0d69e944730f))
+  (segment (start 51.217 50.308) (end 53.57 50.308) (width 0.1905) (layer "F.Cu") (net 51) (tstamp 2c783845-deab-4ab1-b421-7dcfe4339e01))
+  (segment (start 53.57 50.308) (end 53.84 50.038) (width 0.1905) (layer "F.Cu") (net 51) (tstamp 36cb9fbd-b817-402b-a0dd-1cf371b951d4))
+  (segment (start 51.217 49.108) (end 53.508 49.108) (width 0.1905) (layer "F.Cu") (net 52) (tstamp 45a0c100-b67b-413d-a622-0cd6354b0bfd))
+  (segment (start 53.508 49.108) (end 53.848 48.768) (width 0.1905) (layer "F.Cu") (net 52) (tstamp a4d3d0cd-facb-4fd4-987f-757338e296a2))
+  (segment (start 50.328 55.408) (end 50.8 55.88) (width 0.1905) (layer "F.Cu") (net 53) (tstamp 0f22444b-7e39-4977-8cf8-1036ff1975a3))
+  (segment (start 50.117 55.408) (end 50.328 55.408) (width 0.1905) (layer "F.Cu") (net 53) (tstamp 4be60a8c-91ad-4df1-bb31-6dfd2ceb5a5a))
+  (segment (start 50.8 55.88) (end 51.397 55.88) (width 0.1905) (layer "F.Cu") (net 53) (tstamp 627d64d5-5873-47de-b02c-4c3af8c0659a))
+  (segment (start 52.997 55.88) (end 53.721 55.88) (width 0.1905) (layer "F.Cu") (net 54) (tstamp 7748b44e-8e90-4c3a-bb9f-b87d173b6cbb))
+  (via (at 53.721 55.88) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 54) (tstamp 87f6c9eb-1515-4386-ae1f-5de3acfdef8c))
+  (segment (start 52.997 55.88) (end 53.721 55.88) (width 0.1905) (layer "B.Cu") (net 54) (tstamp 9392eee1-a1a2-4ec0-9813-df1729015dbe))
+  (segment (start 46.99 48.641) (end 47.317 48.441) (width 0.1905) (layer "F.Cu") (net 55) (tstamp 3deb3235-b5ac-4ff0-983f-9101c4136933))
+  (segment (start 47.317 48.441) (end 47.317 47.208) (width 0.1905) (layer "F.Cu") (net 55) (tstamp 82112b92-7da6-4177-b3b4-d9752bfd6539))
+  (via (at 46.99 48.641) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 55) (tstamp 42a4fa95-0795-4a3b-a6d3-90f9cc35ebb5))
+  (segment (start 46.99 47.871) (end 46.99 48.641) (width 0.1905) (layer "B.Cu") (net 55) (tstamp ba5e060c-7744-4f93-81ed-dc256417e72b))
+  (segment (start 44.161 51.908) (end 44.323 52.07) (width 0.1905) (layer "F.Cu") (net 59) (tstamp 1b6edd9b-93f3-4135-86a5-35d721b7e019))
+  (segment (start 43.017 51.908) (end 44.161 51.908) (width 0.1905) (layer "F.Cu") (net 59) (tstamp abe3ab6c-f271-4697-8996-9481b604d407))
+  (via (at 44.323 52.07) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 59) (tstamp 5ae64b8e-ae51-4ea1-a9ac-17bb56d8288e))
+  (segment (start 45.347 52.07) (end 44.323 52.07) (width 0.1905) (layer "B.Cu") (net 59) (tstamp 23c5fdc1-7cb1-412c-8d09-2c4ce2d3527b))
+  (segment (start 43.299 52.07) (end 44.323 52.07) (width 0.1905) (layer "B.Cu") (net 59) (tstamp e7959734-42a3-43f6-99ee-f881475d7879))
+  (segment (start 41.656 54.229) (end 41.977 53.908) (width 0.1905) (layer "F.Cu") (net 60) (tstamp 5563ce3e-1fd5-4158-82aa-3b75b34456f9))
+  (segment (start 41.977 53.908) (end 43.017 53.908) (width 0.1905) (layer "F.Cu") (net 60) (tstamp aa3e14d0-f615-469b-af83-293f4b0035f7))
+  (via (at 41.656 54.229) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 60) (tstamp d1fe1b75-4a54-4fef-9524-29d54f000452))
+  (segment (start 42.299 54.094) (end 42.164 54.229) (width 0.1905) (layer "B.Cu") (net 60) (tstamp 0e248697-ed09-4c59-9abd-996c2e0a5beb))
+  (segment (start 42.299 53.594) (end 42.299 54.094) (width 0.1905) (layer "B.Cu") (net 60) (tstamp 4b346ebd-13fe-49ec-8792-f5917bfd3794))
+  (segment (start 42.164 54.229) (end 41.656 54.229) (width 0.1905) (layer "B.Cu") (net 60) (tstamp 7d8a651a-646c-49d8-b623-5cb0ce6d4561))
+  (segment (start 44.323 54.102) (end 44.517 54.296) (width 0.1905) (layer "F.Cu") (net 61) (tstamp 3684cb2b-ef38-4adc-9c38-0d81c4e7881d))
+  (segment (start 44.517 54.296) (end 44.517 55.408) (width 0.1905) (layer "F.Cu") (net 61) (tstamp b95d80d4-895f-45ca-ab16-b63c35448549))
+  (via (at 44.323 54.102) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 61) (tstamp 738635ab-c965-4a57-ba21-de5a2888b979))
+  (segment (start 45.347 54.102) (end 44.323 54.102) (width 0.1905) (layer "B.Cu") (net 61) (tstamp 8a6bd50d-3fd1-44c0-886e-36983ceef527))
+  (segment (start 44.301 53.108) (end 43.017 53.108) (width 0.1905) (layer "F.Cu") (net 64) (tstamp 9cad8202-145e-4a3b-a8e2-fd5fb6d98f79))
+  (segment (start 44.323 53.086) (end 44.301 53.108) (width 0.1905) (layer "F.Cu") (net 64) (tstamp d9ee6aa7-7d2e-4268-a8c4-fe30691fd7d2))
+  (via (at 44.323 53.086) (size 0.6858) (drill 0.3302) (layers "F.Cu" "B.Cu") (net 64) (tstamp a0544064-441b-4698-bc84-cd61d0d752e8))
+  (segment (start 42.299 52.459) (end 42.545 52.705) (width 0.1905) (layer "B.Cu") (net 64) (tstamp 04535a1b-fae8-4bc4-aa6c-456131b6f185))
+  (segment (start 42.299 51.054) (end 42.299 52.07) (width 0.1905) (layer "B.Cu") (net 64) (tstamp 8598c3f8-feeb-4661-9070-12d53d443627))
+  (segment (start 42.545 52.705) (end 43.942 52.705) (width 0.1905) (layer "B.Cu") (net 64) (tstamp 905cb8a7-596a-4df3-bc78-c4376f67b04e))
+  (segment (start 43.942 52.705) (end 44.323 53.086) (width 0.1905) (layer "B.Cu") (net 64) (tstamp aff0d93f-ded3-4524-8c1b-cebcfa2fcb09))
+  (segment (start 42.299 52.07) (end 42.299 52.459) (width 0.1905) (layer "B.Cu") (net 64) (tstamp bc0bef4f-c73b-4274-b2f7-05899db127e2))
+  (segment (start 43.299 53.594) (end 43.815 53.594) (width 0.1905) (layer "B.Cu") (net 64) (tstamp db78503a-8ba5-48f5-8628-dec1cf51f33a))
+  (segment (start 43.815 53.594) (end 44.323 53.086) (width 0.1905) (layer "B.Cu") (net 64) (tstamp e6dc26dd-cad3-415c-9b07-a53fa8240026))
+  (segment (start 44.323 53.086) (end 45.347 53.086) (width 0.1905) (layer "B.Cu") (net 64) (tstamp eebcf92a-0638-47d9-9924-4fa711bce701))
+
+  (zone (net 1) (net_name "GND") (layer "F.Cu") (tstamp ff0cc134-7c76-46f5-8168-386778db5317) (hatch edge 0.508)
+    (connect_pads (clearance 0.1905))
+    (min_thickness 0.1905) (filled_areas_thickness no)
+    (fill yes (thermal_gap 0.1905) (thermal_bridge_width 0.1905))
+    (polygon
+      (pts
+        (xy 56.642 56.896)
+        (xy 32.258 56.896)
+        (xy 32.258 45.72)
+        (xy 56.642 45.72)
+      )
+    )
+    (filled_polygon
+      (layer "F.Cu")
+      (pts
+        (xy 56.412149 45.929)
+        (xy 56.446387 45.976125)
+        (xy 56.451 46.00525)
+        (xy 56.451 56.61075)
+        (xy 56.433 56.666149)
+        (xy 56.385875 56.700387)
+        (xy 56.35675 56.705)
+        (xy 53.290562 56.705)
+        (xy 53.235163 56.687)
+        (xy 53.200925 56.639875)
+        (xy 53.200925 56.581625)
+        (xy 53.235163 56.5345)
+        (xy 53.275819 56.51766)
+        (xy 53.352153 56.505571)
+        (xy 53.361083 56.501021)
+        (xy 53.462959 56.449113)
+        (xy 53.462962 56.449111)
+        (xy 53.469566 56.445746)
+        (xy 53.491382 56.42393)
+        (xy 53.543283 56.397485)
+        (xy 53.579794 56.3994)
+        (xy 53.581624 56.400158)
+        (xy 53.721 56.418507)
+        (xy 53.860376 56.400158)
+        (xy 53.990254 56.346361)
+        (xy 54.000503 56.338497)
+        (xy 54.056272 56.295703)
+        (xy 54.101782 56.260782)
+        (xy 54.187361 56.149253)
+        (xy 54.190616 56.141396)
+        (xy 54.238794 56.025083)
+        (xy 54.241158 56.019376)
+        (xy 54.259507 55.88)
+        (xy 54.241158 55.740624)
+        (xy 54.190616 55.618605)
+        (xy 54.189723 55.616449)
+        (xy 54.189722 55.616448)
+        (xy 54.187361 55.610747)
+        (xy 54.101782 55.499218)
+        (xy 53.990254 55.413639)
+        (xy 53.860376 55.359842)
+        (xy 53.721 55.341493)
+        (xy 53.581624 55.359842)
+        (xy 53.580385 55.360355)
+        (xy 53.524255 55.357416)
+        (xy 53.491382 55.33607)
+        (xy 53.469566 55.314254)
+        (xy 53.462962 55.310889)
+        (xy 53.462959 55.310887)
+        (xy 53.358761 55.257796)
+        (xy 53.352153 55.254429)
+        (xy 53.344831 55.253269)
+        (xy 53.34483 55.253269)
+        (xy 53.258395 55.239579)
+        (xy 53.25839 55.239579)
+        (xy 53.254737 55.239)
+        (xy 52.997035 55.239)
+        (xy 52.739264 55.239001)
+        (xy 52.641847 55.254429)
+        (xy 52.635235 55.257798)
+        (xy 52.531041 55.310887)
+        (xy 52.531038 55.310889)
+        (xy 52.524434 55.314254)
+        (xy 52.431254 55.407434)
+        (xy 52.427889 55.414038)
+        (xy 52.427887 55.414041)
+        (xy 52.397837 55.473018)
+        (xy 52.371429 55.524847)
+        (xy 52.370269 55.532169)
+        (xy 52.370269 55.53217)
+        (xy 52.35658 55.618604)
+        (xy 52.356 55.622263)
+        (xy 52.356001 56.137736)
+        (xy 52.371429 56.235153)
+        (xy 52.374797 56.241763)
+        (xy 52.374798 56.241765)
+        (xy 52.427887 56.345959)
+        (xy 52.427889 56.345962)
+        (xy 52.431254 56.352566)
+        (xy 52.524434 56.445746)
+        (xy 52.531038 56.449111)
+        (xy 52.531041 56.449113)
+        (xy 52.62657 56.497787)
+        (xy 52.641847 56.505571)
+        (xy 52.649169 56.506731)
+        (xy 52.64917 56.506731)
+        (xy 52.718175 56.51766)
+        (xy 52.770076 56.544105)
+        (xy 52.796521 56.596006)
+        (xy 52.787408 56.653538)
+        (xy 52.74622 56.694727)
+        (xy 52.703431 56.705)
+        (xy 51.690562 56.705)
+        (xy 51.635163 56.687)
+        (xy 51.600925 56.639875)
+        (xy 51.600925 56.581625)
+        (xy 51.635163 56.5345)
+        (xy 51.675819 56.51766)
+        (xy 51.752153 56.505571)
+        (xy 51.761083 56.501021)
+        (xy 51.862959 56.449113)
+        (xy 51.862962 56.449111)
+        (xy 51.869566 56.445746)
+        (xy 51.962746 56.352566)
+        (xy 51.966111 56.345962)
+        (xy 51.966113 56.345959)
+        (xy 52.016828 56.246424)
+        (xy 52.022571 56.235153)
+        (xy 52.031811 56.176812)
+        (xy 52.037421 56.141395)
+        (xy 52.037421 56.14139)
+        (xy 52.038 56.137737)
+        (xy 52.037999 55.622264)
+        (xy 52.022571 55.524847)
+        (xy 51.996163 55.473018)
+        (xy 51.966113 55.414041)
+        (xy 51.966111 55.414038)
+        (xy 51.962746 55.407434)
+        (xy 51.869566 55.314254)
+        (xy 51.862962 55.310889)
+        (xy 51.862959 55.310887)
+        (xy 51.758761 55.257796)
+        (xy 51.752153 55.254429)
+        (xy 51.744831 55.253269)
+        (xy 51.74483 55.253269)
+        (xy 51.658395 55.239579)
+        (xy 51.65839 55.239579)
+        (xy 51.654737 55.239)
+        (xy 51.397035 55.239)
+        (xy 51.139264 55.239001)
+        (xy 51.041847 55.254429)
+        (xy 51.035235 55.257798)
+        (xy 50.931041 55.310887)
+        (xy 50.931038 55.310889)
+        (xy 50.924434 55.314254)
+        (xy 50.919192 55.319496)
+        (xy 50.919188 55.319499)
+        (xy 50.848399 55.390289)
+        (xy 50.796499 55.416735)
+        (xy 50.738966 55.407623)
+        (xy 50.715109 55.39029)
+        (xy 50.566454 55.241635)
+        (xy 50.563876 55.238649)
+        (xy 50.561787 55.234375)
+        (xy 50.527251 55.202338)
+        (xy 50.524704 55.199885)
+        (xy 50.511585 55.186766)
+        (xy 50.508046 55.184338)
+        (xy 50.504315 55.181062)
+        (xy 50.489988 55.167771)
+        (xy 50.489987 55.16777)
+        (xy 50.483608 55.161853)
+        (xy 50.475525 55.158628)
+        (xy 50.468171 55.153979)
+        (xy 50.469102 55.152507)
+        (xy 50.432541 55.1221)
+        (xy 50.418 55.071806)
+        (xy 50.418 54.70325)
+        (xy 50.436 54.647851)
+        (xy 50.483125 54.613613)
+        (xy 50.51225 54.609)
+        (xy 51.985812 54.609)
+        (xy 52.041525 54.597918)
+        (xy 52.104703 54.555703)
+        (xy 52.146918 54.492525)
+        (xy 52.158 54.436812)
+        (xy 52.158 54.2885)
+        (xy 52.176 54.233101)
+        (xy 52.223125 54.198863)
+        (xy 52.25225 54.19425)
+        (xy 53.188254 54.19425)
+        (xy 53.243653 54.21225)
+        (xy 53.266482 54.235932)
+        (xy 53.314974 54.308096)
+        (xy 53.440108 54.421959)
+        (xy 53.588791 54.502687)
+        (xy 53.752438 54.545619)
+        (xy 53.829025 54.546822)
+        (xy 53.915916 54.548188)
+        (xy 53.915919 54.548188)
+        (xy 53.921602 54.548277)
+        (xy 53.927142 54.547008)
+        (xy 53.927144 54.547008)
+        (xy 54.00406 54.529391)
+        (xy 54.086517 54.510506)
+        (xy 54.237662 54.434488)
+        (xy 54.245084 54.428149)
+        (xy 54.361991 54.328301)
+        (xy 54.361993 54.328299)
+        (xy 54.366311 54.324611)
+        (xy 54.372732 54.315676)
+        (xy 54.405908 54.269506)
+        (xy 54.452852 54.235021)
+        (xy 54.511101 54.234715)
+        (xy 54.560675 54.271936)
+        (xy 54.570128 54.286003)
+        (xy 54.584974 54.308096)
+        (xy 54.710108 54.421959)
+        (xy 54.858791 54.502687)
+        (xy 55.022438 54.545619)
+        (xy 55.099025 54.546822)
+        (xy 55.185916 54.548188)
+        (xy 55.185919 54.548188)
+        (xy 55.191602 54.548277)
+        (xy 55.197142 54.547008)
+        (xy 55.197144 54.547008)
+        (xy 55.27406 54.529391)
+        (xy 55.356517 54.510506)
+        (xy 55.507662 54.434488)
+        (xy 55.515084 54.428149)
+        (xy 55.631991 54.328301)
+        (xy 55.631993 54.328299)
+        (xy 55.636311 54.324611)
+        (xy 55.735037 54.187219)
+        (xy 55.738266 54.179188)
+        (xy 55.796022 54.035514)
+        (xy 55.798141 54.030243)
+        (xy 55.798961 54.024488)
+        (xy 55.821545 53.865802)
+        (xy 55.821546 53.865793)
+        (xy 55.82198 53.862746)
+        (xy 55.822134 53.848)
+        (xy 55.821706 53.844458)
+        (xy 55.802492 53.685683)
+        (xy 55.802492 53.685682)
+        (xy 55.801809 53.68004)
+        (xy 55.742006 53.521778)
+        (xy 55.646179 53.382348)
+        (xy 55.641939 53.37857)
+        (xy 55.641937 53.378568)
+        (xy 55.541423 53.289014)
+        (xy 55.53383 53.282248)
+        (xy 55.504441 53.231956)
+        (xy 55.510227 53.173995)
+        (xy 55.521999 53.158144)
+        (xy 55.521662 53.157938)
+        (xy 55.536097 53.134384)
+        (xy 55.53586 53.131363)
+        (xy 55.53425 53.128954)
+        (xy 55.128555 52.723259)
+        (xy 55.117241 52.717494)
+        (xy 55.112451 52.718253)
+        (xy 54.704596 53.126108)
+        (xy 54.698831 53.137422)
+        (xy 54.699429 53.141195)
+        (xy 54.700352 53.142405)
+        (xy 54.701945 53.143854)
+        (xy 54.703386 53.14638)
+        (xy 54.705533 53.149193)
+        (xy 54.705155 53.149481)
+        (xy 54.730809 53.19445)
+        (xy 54.72442 53.252348)
+        (xy 54.700476 53.284591)
+        (xy 54.594726 53.376842)
+        (xy 54.591461 53.381488)
+        (xy 54.591459 53.38149)
+        (xy 54.560294 53.425834)
+        (xy 54.513712 53.460808)
+        (xy 54.45547 53.461724)
+        (xy 54.405509 53.425023)
+        (xy 54.3794 53.387034)
+        (xy 54.379398 53.387032)
+        (xy 54.376179 53.382348)
+        (xy 54.371939 53.37857)
+        (xy 54.371937 53.378568)
+        (xy 54.296096 53.310997)
+        (xy 54.264207 53.282584)
+        (xy 54.234818 53.232292)
+        (xy 54.240604 53.174331)
+        (xy 54.265695 53.140546)
+        (xy 54.361987 53.058305)
+        (xy 54.361991 53.058301)
+        (xy 54.366311 53.054611)
+        (xy 54.369625 53.05)
+        (xy 54.369627 53.049997)
+        (xy 54.406376 52.998855)
+        (xy 54.453321 52.964371)
+        (xy 54.51157 52.964066)
+        (xy 54.541071 52.979686)
+        (xy 54.562174 52.996233)
+        (xy 54.562286 52.996237)
+        (xy 54.569014 52.992282)
+        (xy 54.972741 52.588555)
+        (xy 54.977733 52.578759)
+        (xy 55.257494 52.578759)
+        (xy 55.258253 52.583549)
+        (xy 55.664285 52.989581)
+        (xy 55.675599 52.995346)
+        (xy 55.676498 52.995204)
+        (xy 55.681424 52.990974)
+        (xy 55.73128 52.921591)
+        (xy 55.736715 52.911705)
+        (xy 55.795535 52.765385)
+        (xy 55.798455 52.754488)
+        (xy 55.821041 52.595793)
+        (xy 55.821508 52.589647)
+        (xy 55.821598 52.58108)
+        (xy 55.82126 52.574939)
+        (xy 55.802002 52.415803)
+        (xy 55.799311 52.404848)
+        (xy 55.743565 52.25732)
+        (xy 55.738344 52.247333)
+        (xy 55.683673 52.167786)
+        (xy 55.673601 52.160057)
+        (xy 55.673222 52.160047)
+        (xy 55.66689 52.163814)
+        (xy 55.263259 52.567445)
+        (xy 55.257494 52.578759)
+        (xy 54.977733 52.578759)
+        (xy 54.978506 52.577241)
+        (xy 54.977747 52.572451)
+        (xy 54.571554 52.166258)
+        (xy 54.56024 52.160493)
+        (xy 54.559604 52.160594)
+        (xy 54.54566 52.172694)
+        (xy 54.542927 52.169545)
+        (xy 54.513985 52.19126)
+        (xy 54.455742 52.192155)
+        (xy 54.405812 52.155464)
+        (xy 54.3794 52.117034)
+        (xy 54.379398 52.117032)
+        (xy 54.376179 52.112348)
+        (xy 54.371939 52.10857)
+        (xy 54.371937 52.108568)
+        (xy 54.300669 52.045071)
+        (xy 54.264207 52.012584)
+        (xy 54.234818 51.962292)
+        (xy 54.240604 51.904331)
+        (xy 54.265695 51.870546)
+        (xy 54.269353 51.867422)
+        (xy 54.698831 51.867422)
+        (xy 54.699429 51.871195)
+        (xy 54.700352 51.872404)
+        (xy 54.70232 51.874195)
+        (xy 54.7041 51.877315)
+        (xy 54.705533 51.879193)
+        (xy 54.705281 51.879386)
+        (xy 54.731181 51.924792)
+        (xy 54.724791 51.98269)
+        (xy 54.71377 51.997531)
+        (xy 54.713774 51.997533)
+        (xy 54.699587 52.021238)
+        (xy 54.69988 52.024522)
+        (xy 54.701245 52.026541)
+        (xy 55.107445 52.432741)
+        (xy 55.118759 52.438506)
+        (xy 55.123549 52.437747)
+        (xy 55.530968 52.030328)
+        (xy 55.536733 52.019014)
+        (xy 55.536176 52.0155)
+        (xy 55.534964 52.01393)
+        (xy 55.533443 52.012574)
+        (xy 55.531959 52.010034)
+        (xy 55.529598 52.006974)
+        (xy 55.529993 52.006669)
+        (xy 55.504057 51.962281)
+        (xy 55.509844 51.904319)
+        (xy 55.521902 51.888085)
+        (xy 55.521662 51.887938)
+        (xy 55.536097 51.864384)
+        (xy 55.53586 51.861363)
+        (xy 55.53425 51.858954)
+        (xy 55.128555 51.453259)
+        (xy 55.117241 51.447494)
+        (xy 55.112451 51.448253)
+        (xy 54.704596 51.856108)
+        (xy 54.698831 51.867422)
+        (xy 54.269353 51.867422)
+        (xy 54.361987 51.788305)
+        (xy 54.361991 51.788301)
+        (xy 54.366311 51.784611)
+        (xy 54.369625 51.78)
+        (xy 54.369627 51.779997)
+        (xy 54.406376 51.728855)
+        (xy 54.453321 51.694371)
+        (xy 54.51157 51.694066)
+        (xy 54.541071 51.709686)
+        (xy 54.562174 51.726233)
+        (xy 54.562286 51.726237)
+        (xy 54.569014 51.722282)
+        (xy 54.972741 51.318555)
+        (xy 54.977733 51.308759)
+        (xy 55.257494 51.308759)
+        (xy 55.258253 51.313549)
+        (xy 55.664285 51.719581)
+        (xy 55.675599 51.725346)
+        (xy 55.676498 51.725204)
+        (xy 55.681424 51.720974)
+        (xy 55.73128 51.651591)
+        (xy 55.736715 51.641705)
+        (xy 55.795535 51.495385)
+        (xy 55.798455 51.484488)
+        (xy 55.821041 51.325793)
+        (xy 55.821508 51.319647)
+        (xy 55.821598 51.31108)
+        (xy 55.82126 51.304939)
+        (xy 55.802002 51.145803)
+        (xy 55.799311 51.134848)
+        (xy 55.743565 50.98732)
+        (xy 55.738344 50.977333)
+        (xy 55.683673 50.897786)
+        (xy 55.673601 50.890057)
+        (xy 55.673222 50.890047)
+        (xy 55.66689 50.893814)
+        (xy 55.263259 51.297445)
+        (xy 55.257494 51.308759)
+        (xy 54.977733 51.308759)
+        (xy 54.978506 51.307241)
+        (xy 54.977747 51.302451)
+        (xy 54.571554 50.896258)
+        (xy 54.56024 50.890493)
+        (xy 54.559604 50.890594)
+        (xy 54.54566 50.902694)
+        (xy 54.542927 50.899545)
+        (xy 54.513985 50.92126)
+        (xy 54.455742 50.922155)
+        (xy 54.405812 50.885464)
+        (xy 54.3794 50.847034)
+        (xy 54.379398 50.847032)
+        (xy 54.376179 50.842348)
+        (xy 54.306034 50.779851)
+        (xy 54.260292 50.739096)
+        (xy 54.230903 50.688803)
+        (xy 54.236689 50.630841)
+        (xy 54.26178 50.597057)
+        (xy 54.353987 50.518305)
+        (xy 54.353991 50.518301)
+        (xy 54.358311 50.514611)
+        (xy 54.363062 50.508)
+        (xy 54.402042 50.453753)
+        (xy 54.448987 50.419268)
+        (xy 54.507236 50.418962)
+        (xy 54.556809 50.456183)
+        (xy 54.567076 50.471461)
+        (xy 54.584974 50.498096)
+        (xy 54.701943 50.604529)
+        (xy 54.730803 50.655125)
+        (xy 54.724411 50.713023)
+        (xy 54.713678 50.727475)
+        (xy 54.713774 50.727533)
+        (xy 54.699587 50.751238)
+        (xy 54.69988 50.754522)
+        (xy 54.701245 50.756541)
+        (xy 55.107445 51.162741)
+        (xy 55.118759 51.168506)
+        (xy 55.123549 51.167747)
+        (xy 55.530968 50.760328)
+        (xy 55.536733 50.749014)
+        (xy 55.536176 50.7455)
+        (xy 55.534965 50.74393)
+        (xy 55.533821 50.742911)
+        (xy 55.532705 50.741001)
+        (xy 55.529598 50.736974)
+        (xy 55.530118 50.736573)
+        (xy 55.504434 50.692617)
+        (xy 55.510221 50.634656)
+        (xy 55.535311 50.600874)
+        (xy 55.631987 50.518305)
+        (xy 55.631991 50.518301)
+        (xy 55.636311 50.514611)
+        (xy 55.735037 50.377219)
+        (xy 55.756358 50.324183)
+        (xy 55.796022 50.225514)
+        (xy 55.798141 50.220243)
+        (xy 55.803326 50.183817)
+        (xy 55.821545 50.055802)
+        (xy 55.82198 50.052746)
+        (xy 55.822134 50.038)
+        (xy 55.821394 50.031878)
+        (xy 55.802492 49.875683)
+        (xy 55.802492 49.875682)
+        (xy 55.801809 49.87004)
+        (xy 55.742006 49.711778)
+        (xy 55.646179 49.572348)
+        (xy 55.641939 49.56857)
+        (xy 55.641937 49.568568)
+        (xy 55.55207 49.4885)
+        (xy 55.53383 49.472248)
+        (xy 55.504441 49.421956)
+        (xy 55.510227 49.363995)
+        (xy 55.521999 49.348144)
+        (xy 55.521662 49.347938)
+        (xy 55.536097 49.324384)
+        (xy 55.53586 49.321363)
+        (xy 55.53425 49.318954)
+        (xy 55.128555 48.913259)
+        (xy 55.117241 48.907494)
+        (xy 55.112451 48.908253)
+        (xy 54.704596 49.316108)
+        (xy 54.698831 49.327422)
+        (xy 54.699429 49.331195)
+        (xy 54.700352 49.332405)
+        (xy 54.701945 49.333854)
+        (xy 54.703386 49.33638)
+        (xy 54.705533 49.339193)
+        (xy 54.705155 49.339481)
+        (xy 54.730809 49.38445)
+        (xy 54.72442 49.442348)
+        (xy 54.700476 49.474591)
+        (xy 54.594726 49.566842)
+        (xy 54.591461 49.571488)
+        (xy 54.591459 49.57149)
+        (xy 54.556249 49.621589)
+        (xy 54.509667 49.656564)
+        (xy 54.451425 49.657478)
+        (xy 54.401464 49.620778)
+        (xy 54.3714 49.577034)
+        (xy 54.371398 49.577032)
+        (xy 54.368179 49.572348)
+        (xy 54.363939 49.56857)
+        (xy 54.363937 49.568568)
+        (xy 54.286408 49.499493)
+        (xy 54.260123 49.476073)
+        (xy 54.230734 49.425781)
+        (xy 54.23652 49.36782)
+        (xy 54.26161 49.334035)
+        (xy 54.328902 49.276561)
+        (xy 54.366311 49.244611)
+        (xy 54.369625 49.24)
+        (xy 54.369627 49.239997)
+        (xy 54.406376 49.188855)
+        (xy 54.453321 49.154371)
+        (xy 54.51157 49.154066)
+        (xy 54.541071 49.169686)
+        (xy 54.562174 49.186233)
+        (xy 54.562286 49.186237)
+        (xy 54.569014 49.182282)
+        (xy 54.972741 48.778555)
+        (xy 54.977733 48.768759)
+        (xy 55.257494 48.768759)
+        (xy 55.258253 48.773549)
+        (xy 55.664285 49.179581)
+        (xy 55.675599 49.185346)
+        (xy 55.676498 49.185204)
+        (xy 55.681424 49.180974)
+        (xy 55.73128 49.111591)
+        (xy 55.736715 49.101705)
+        (xy 55.795535 48.955385)
+        (xy 55.798455 48.944488)
+        (xy 55.821041 48.785793)
+        (xy 55.821508 48.779647)
+        (xy 55.821598 48.77108)
+        (xy 55.82126 48.764939)
+        (xy 55.802002 48.605803)
+        (xy 55.799311 48.594848)
+        (xy 55.743565 48.44732)
+        (xy 55.738344 48.437333)
+        (xy 55.683673 48.357786)
+        (xy 55.673601 48.350057)
+        (xy 55.673222 48.350047)
+        (xy 55.66689 48.353814)
+        (xy 55.263259 48.757445)
+        (xy 55.257494 48.768759)
+        (xy 54.977733 48.768759)
+        (xy 54.978506 48.767241)
+        (xy 54.977747 48.762451)
+        (xy 54.571554 48.356258)
+        (xy 54.56024 48.350493)
+        (xy 54.559604 48.350594)
+        (xy 54.54566 48.362694)
+        (xy 54.542927 48.359545)
+        (xy 54.513985 48.38126)
+        (xy 54.455742 48.382155)
+        (xy 54.405812 48.345464)
+        (xy 54.3794 48.307034)
+        (xy 54.379398 48.307032)
+        (xy 54.376179 48.302348)
+        (xy 54.371939 48.29857)
+        (xy 54.371937 48.298568)
+        (xy 54.273919 48.211238)
+        (xy 54.699587 48.211238)
+        (xy 54.69988 48.214522)
+        (xy 54.701245 48.216541)
+        (xy 55.107445 48.622741)
+        (xy 55.118759 48.628506)
+        (xy 55.123549 48.627747)
+        (xy 55.530968 48.220328)
+        (xy 55.536733 48.209014)
+        (xy 55.536176 48.2055)
+        (xy 55.534964 48.20393)
+        (xy 55.523815 48.193996)
+        (xy 55.514549 48.187556)
+        (xy 55.375178 48.113763)
+        (xy 55.364648 48.109721)
+        (xy 55.211697 48.071302)
+        (xy 55.200511 48.069888)
+        (xy 55.042805 48.069063)
+        (xy 55.031605 48.070359)
+        (xy 54.87826 48.107173)
+        (xy 54.867683 48.111107)
+        (xy 54.727551 48.183435)
+        (xy 54.718219 48.189777)
+        (xy 54.706109 48.200341)
+        (xy 54.699587 48.211238)
+        (xy 54.273919 48.211238)
+        (xy 54.254097 48.193577)
+        (xy 54.249859 48.189801)
+        (xy 54.100339 48.110634)
+        (xy 53.936251 48.069418)
+        (xy 53.930576 48.069388)
+        (xy 53.930574 48.069388)
+        (xy 53.85166 48.068975)
+        (xy 53.767069 48.068532)
+        (xy 53.761551 48.069857)
+        (xy 53.761549 48.069857)
+        (xy 53.608085 48.106701)
+        (xy 53.608083 48.106702)
+        (xy 53.602559 48.108028)
+        (xy 53.597506 48.110636)
+        (xy 53.587582 48.115758)
+        (xy 53.452218 48.185624)
+        (xy 53.447938 48.189358)
+        (xy 53.447936 48.189359)
+        (xy 53.329007 48.293107)
+        (xy 53.329005 48.293109)
+        (xy 53.324726 48.296842)
+        (xy 53.321461 48.301488)
+        (xy 53.321459 48.30149)
+        (xy 53.237961 48.420297)
+        (xy 53.227444 48.435261)
+        (xy 53.22538 48.440556)
+        (xy 53.225378 48.440559)
+        (xy 53.196745 48.514)
+        (xy 53.165988 48.592889)
+        (xy 53.165247 48.598521)
+        (xy 53.165246 48.598523)
+        (xy 53.163916 48.608629)
+        (xy 53.148267 48.7275)
+        (xy 53.146647 48.739802)
+        (xy 53.12157 48.792377)
+        (xy 53.070379 48.820172)
+        (xy 53.053203 48.82175)
+        (xy 52.25225 48.82175)
+        (xy 52.196851 48.80375)
+        (xy 52.162613 48.756625)
+        (xy 52.158 48.7275)
+        (xy 52.158 48.579188)
+        (xy 52.147497 48.526386)
+        (xy 52.147497 48.489612)
+        (xy 52.148719 48.483473)
+        (xy 52.158 48.436812)
+        (xy 52.158 48.179188)
+        (xy 52.146918 48.123475)
+        (xy 52.104703 48.060297)
+        (xy 52.041525 48.018082)
+        (xy 51.985812 48.007)
+        (xy 51.5975 48.007)
+        (xy 51.542101 47.989)
+        (xy 51.507863 47.941875)
+        (xy 51.50325 47.91275)
+        (xy 51.50325 47.600702)
+        (xy 51.52125 47.545303)
+        (xy 51.571917 47.510482)
+        (xy 51.574376 47.510158)
+        (xy 51.704254 47.456361)
+        (xy 51.815782 47.370782)
+        (xy 51.901361 47.259253)
+        (xy 51.955158 47.129376)
+        (xy 51.973507 46.99)
+        (xy 51.955158 46.850624)
+        (xy 51.907769 46.736218)
+        (xy 51.903723 46.726449)
+        (xy 51.903722 46.726448)
+        (xy 51.901361 46.720747)
+        (xy 51.815782 46.609218)
+        (xy 51.704254 46.523639)
+        (xy 51.574376 46.469842)
+        (xy 51.435 46.451493)
+        (xy 51.295624 46.469842)
+        (xy 51.165747 46.523639)
+        (xy 51.054218 46.609218)
+        (xy 50.968639 46.720747)
+        (xy 50.966278 46.726448)
+        (xy 50.966277 46.726449)
+        (xy 50.962231 46.736218)
+        (xy 50.914842 46.850624)
+        (xy 50.896493 46.99)
+        (xy 50.914842 47.129376)
+        (xy 50.917206 47.135083)
+        (xy 50.917207 47.135086)
+        (xy 50.921095 47.144473)
+        (xy 50.928157 47.185147)
+        (xy 50.928149 47.185308)
+        (xy 50.92614 47.193774)
+        (xy 50.927313 47.202394)
+        (xy 50.927313 47.202395)
+        (xy 50.929889 47.221321)
+        (xy 50.93075 47.234031)
+        (xy 50.93075 47.91275)
+        (xy 50.91275 47.968149)
+        (xy 50.865625 48.002387)
+        (xy 50.8365 48.007)
+        (xy 50.51225 48.007)
+        (xy 50.456851 47.989)
+        (xy 50.422613 47.941875)
+        (xy 50.418 47.91275)
+        (xy 50.418 46.439188)
+        (xy 50.406918 46.383475)
+        (xy 50.364703 46.320297)
+        (xy 50.301525 46.278082)
+        (xy 50.262654 46.27035)
+        (xy 50.250352 46.267903)
+        (xy 50.250351 46.267903)
+        (xy 50.245812 46.267)
+        (xy 49.988188 46.267)
+        (xy 49.935386 46.277503)
+        (xy 49.898614 46.277503)
+        (xy 49.845812 46.267)
+        (xy 49.588188 46.267)
+        (xy 49.535386 46.277503)
+        (xy 49.498614 46.277503)
+        (xy 49.445812 46.267)
+        (xy 49.188188 46.267)
+        (xy 49.135386 46.277503)
+        (xy 49.098614 46.277503)
+        (xy 49.045812 46.267)
+        (xy 48.788188 46.267)
+        (xy 48.735386 46.277503)
+        (xy 48.698614 46.277503)
+        (xy 48.645812 46.267)
+        (xy 48.388188 46.267)
+        (xy 48.334104 46.277758)
+        (xy 48.29733 46.277758)
+        (xy 48.2503 46.268403)
+        (xy 48.241133 46.2675)
+        (xy 48.227177 46.2675)
+        (xy 48.2151 46.271424)
+        (xy 48.21225 46.275347)
+        (xy 48.21225 47.209)
+        (xy 48.19425 47.264399)
+        (xy 48.147125 47.298637)
+        (xy 48.118 47.30325)
+        (xy 48.116 47.30325)
+        (xy 48.060601 47.28525)
+        (xy 48.026363 47.238125)
+        (xy 48.02175 47.209)
+        (xy 48.02175 46.282427)
+        (xy 48.017826 46.27035)
+        (xy 48.013903 46.2675)
+        (xy 47.992867 46.2675)
+        (xy 47.9837 46.268403)
+        (xy 47.93667 46.277758)
+        (xy 47.899896 46.277758)
+        (xy 47.845812 46.267)
+        (xy 47.588188 46.267)
+        (xy 47.535386 46.277503)
+        (xy 47.498614 46.277503)
+        (xy 47.445812 46.267)
+        (xy 47.188188 46.267)
+        (xy 47.135386 46.277503)
+        (xy 47.098614 46.277503)
+        (xy 47.045812 46.267)
+        (xy 46.788188 46.267)
+        (xy 46.735386 46.277503)
+        (xy 46.698614 46.277503)
+        (xy 46.645812 46.267)
+        (xy 46.388188 46.267)
+        (xy 46.335386 46.277503)
+        (xy 46.298614 46.277503)
+        (xy 46.245812 46.267)
+        (xy 45.988188 46.267)
+        (xy 45.935386 46.277503)
+        (xy 45.898614 46.277503)
+        (xy 45.845812 46.267)
+        (xy 45.588188 46.267)
+        (xy 45.535386 46.277503)
+        (xy 45.498614 46.277503)
+        (xy 45.445812 46.267)
+        (xy 45.188188 46.267)
+        (xy 45.135386 46.277503)
+        (xy 45.098614 46.277503)
+        (xy 45.045812 46.267)
+        (xy 44.788188 46.267)
+        (xy 44.735386 46.277503)
+        (xy 44.698614 46.277503)
+        (xy 44.645812 46.267)
+        (xy 44.388188 46.267)
+        (xy 44.335386 46.277503)
+        (xy 44.298614 46.277503)
+        (xy 44.245812 46.267)
+        (xy 43.988188 46.267)
+        (xy 43.983649 46.267903)
+        (xy 43.983648 46.267903)
+        (xy 43.971346 46.27035)
+        (xy 43.932475 46.278082)
+        (xy 43.869297 46.320297)
+        (xy 43.827082 46.383475)
+        (xy 43.816 46.439188)
+        (xy 43.816 46.643483)
+        (xy 43.798 46.698882)
+        (xy 43.750875 46.73312)
+        (xy 43.692625 46.73312)
+        (xy 43.664374 46.718256)
+        (xy 43.581157 46.654401)
+        (xy 43.581156 46.6544)
+        (xy 43.576254 46.650639)
+        (xy 43.446376 46.596842)
+        (xy 43.307 46.578493)
+        (xy 43.167624 46.596842)
+        (xy 43.037747 46.650639)
+        (xy 42.926218 46.736218)
+        (xy 42.922458 46.741118)
+        (xy 42.914822 46.751069)
+        (xy 42.840639 46.847747)
+        (xy 42.838278 46.853448)
+        (xy 42.838277 46.853449)
+        (xy 42.827248 46.880075)
+        (xy 42.786842 46.977624)
+        (xy 42.768493 47.117)
+        (xy 42.786842 47.256376)
+        (xy 42.789206 47.262083)
+        (xy 42.832201 47.365881)
+        (xy 42.840639 47.386253)
+        (xy 42.926218 47.497782)
+        (xy 42.95455 47.519522)
+        (xy 43.017076 47.5675)
+        (xy 43.037746 47.583361)
+        (xy 43.167624 47.637158)
+        (xy 43.307 47.655507)
+        (xy 43.446376 47.637158)
+        (xy 43.576254 47.583361)
+        (xy 43.595748 47.568403)
+        (xy 43.664374 47.515744)
+        (xy 43.719283 47.496299)
+        (xy 43.775134 47.512843)
+        (xy 43.810594 47.559056)
+        (xy 43.816 47.590517)
+        (xy 43.816 47.91275)
+        (xy 43.798 47.968149)
+        (xy 43.750875 48.002387)
+        (xy 43.72175 48.007)
+        (xy 42.248188 48.007)
+        (xy 42.192475 48.018082)
+        (xy 42.129297 48.060297)
+        (xy 42.087082 48.123475)
+        (xy 42.076 48.179188)
+        (xy 42.076 48.436812)
+        (xy 42.085282 48.483473)
+        (xy 42.086503 48.489612)
+        (xy 42.086503 48.526386)
+        (xy 42.076 48.579188)
+        (xy 42.076 48.836812)
+        (xy 42.085627 48.885206)
+        (xy 42.086503 48.889612)
+        (xy 42.086503 48.926386)
+        (xy 42.076 48.979188)
+        (xy 42.076 49.236812)
+        (xy 42.085188 49.283)
+        (xy 42.086503 49.289612)
+        (xy 42.086503 49.326386)
+        (xy 42.076 49.379188)
+        (xy 42.076 49.636812)
+        (xy 42.086338 49.68878)
+        (xy 42.086503 49.689612)
+        (xy 42.086503 49.726386)
+        (xy 42.076 49.779188)
+        (xy 42.076 50.036812)
+        (xy 42.079778 50.055802)
+        (xy 42.086503 50.089612)
+        (xy 42.086503 50.126386)
+        (xy 42.076 50.179188)
+        (xy 42.076 50.436812)
+        (xy 42.082893 50.471461)
+        (xy 42.086503 50.489612)
+        (xy 42.086503 50.526386)
+        (xy 42.076 50.579188)
+        (xy 42.076 50.836812)
+        (xy 42.085678 50.885464)
+        (xy 42.086503 50.889612)
+        (xy 42.086503 50.926386)
+        (xy 42.076 50.979188)
+        (xy 42.076 51.236812)
+        (xy 42.080647 51.260171)
+        (xy 42.086503 51.289612)
+        (xy 42.086503 51.326386)
+        (xy 42.076 51.379188)
+        (xy 42.076 51.636812)
+        (xy 42.086425 51.689218)
+        (xy 42.086503 51.689612)
+        (xy 42.086503 51.726386)
+        (xy 42.076 51.779188)
+        (xy 42.076 51.9275)
+        (xy 42.058 51.982899)
+        (xy 42.010875 52.017137)
+        (xy 41.98175 52.02175)
+        (xy 41.924609 52.02175)
+        (xy 41.86921 52.00375)
+        (xy 41.857964 51.994145)
+        (xy 41.207855 51.344036)
+        (xy 41.18141 51.292135)
+        (xy 41.18025 51.277391)
+        (xy 41.18025 49.453976)
+        (xy 41.180539 49.450041)
+        (xy 41.182084 49.445541)
+        (xy 41.180316 49.398453)
+        (xy 41.18025 49.394917)
+        (xy 41.18025 49.376378)
+        (xy 41.179464 49.372158)
+        (xy 41.179143 49.367208)
+        (xy 41.178083 49.338979)
+        (xy 41.174648 49.330983)
+        (xy 41.173754 49.328901)
+        (xy 41.167695 49.308958)
+        (xy 41.167278 49.306721)
+        (xy 41.167277 49.306718)
+        (xy 41.165684 49.298166)
+        (xy 41.152365 49.27656)
+        (xy 41.146006 49.264317)
+        (xy 41.135989 49.241002)
+        (xy 41.132165 49.236346)
+        (xy 41.128002 49.232183)
+        (xy 41.114417 49.214996)
+        (xy 41.114295 49.214798)
+        (xy 41.114293 49.214796)
+        (xy 41.109728 49.20739)
+        (xy 41.087602 49.190565)
+        (xy 41.078006 49.182187)
+        (xy 40.587454 48.691635)
+        (xy 40.584876 48.688649)
+        (xy 40.582787 48.684375)
+        (xy 40.548251 48.652338)
+        (xy 40.545704 48.649885)
+        (xy 40.532585 48.636766)
+        (xy 40.529046 48.634338)
+        (xy 40.525315 48.631062)
+        (xy 40.510988 48.617771)
+        (xy 40.510987 48.61777)
+        (xy 40.504608 48.611853)
+        (xy 40.494413 48.607786)
+        (xy 40.476028 48.597968)
+        (xy 40.474156 48.596684)
+        (xy 40.474157 48.596684)
+        (xy 40.466981 48.591762)
+        (xy 40.458519 48.589754)
+        (xy 40.458517 48.589753)
+        (xy 40.442289 48.585902)
+        (xy 40.42913 48.58174)
+        (xy 40.411747 48.574805)
+        (xy 40.411746 48.574805)
+        (xy 40.405563 48.572338)
+        (xy 40.399566 48.57175)
+        (xy 40.399189 48.57175)
+        (xy 40.39907 48.571721)
+        (xy 40.349497 48.541134)
+        (xy 40.328913 48.498531)
+        (xy 40.325918 48.483475)
+        (xy 40.325917 48.483473)
+        (xy 40.327267 48.483204)
+        (xy 40.323499 48.435334)
+        (xy 40.326982 48.424612)
+        (xy 40.335597 48.381302)
+        (xy 40.3365 48.372133)
+        (xy 40.3365 48.168177)
+        (xy 40.332576 48.1561)
+        (xy 40.328653 48.15325)
+        (xy 39.42 48.15325)
+        (xy 39.364601 48.13525)
+        (xy 39.330363 48.088125)
+        (xy 39.32575 48.059)
+        (xy 39.32575 48.057)
+        (xy 39.34375 48.001601)
+        (xy 39.390875 47.967363)
+        (xy 39.42 47.96275)
+        (xy 40.321573 47.96275)
+        (xy 40.33365 47.958826)
+        (xy 40.3365 47.954903)
+        (xy 40.3365 47.743867)
+        (xy 40.335597 47.734698)
+        (xy 40.327258 47.692778)
+        (xy 40.320288 47.67595)
+        (xy 40.288502 47.628378)
+        (xy 40.275622 47.615498)
+        (xy 40.22805 47.583712)
+        (xy 40.211222 47.576742)
+        (xy 40.169302 47.568403)
+        (xy 40.160133 47.5675)
+        (xy 39.638748 47.5675)
+        (xy 39.583349 47.5495)
+        (xy 39.549111 47.502375)
+        (xy 39.549111 47.444125)
+        (xy 39.568377 47.410552)
+        (xy 39.587392 47.38921)
+        (xy 39.593825 47.379954)
+        (xy 39.666713 47.24229)
+        (xy 39.670755 47.23176)
+        (xy 39.704421 47.097729)
+        (xy 39.703607 47.085792)
+        (xy 39.69477 47.08325)
+        (xy 38.580177 47.08325)
+        (xy 38.5681 47.087174)
+        (xy 38.56525 47.091097)
+        (xy 38.56525 47.6368)
+        (xy 38.54725 47.692199)
+        (xy 38.500131 47.726435)
+        (xy 38.498131 47.727085)
+        (xy 38.494516 47.727085)
+        (xy 38.5055 47.760891)
+        (xy 38.5055 47.969792)
+        (xy 38.4875 48.025191)
+        (xy 38.440375 48.059429)
+        (xy 38.382125 48.059429)
+        (xy 38.341872 48.033587)
+        (xy 38.313521 48.002755)
+        (xy 38.30806 47.999369)
+        (xy 38.194662 47.929059)
+        (xy 38.194661 47.929058)
+        (xy 38.189199 47.925672)
+        (xy 38.183029 47.923879)
+        (xy 38.183028 47.923879)
+        (xy 38.053471 47.886239)
+        (xy 38.053469 47.886239)
+        (xy 38.048727 47.884861)
+        (xy 38.043802 47.884499)
+        (xy 38.0438 47.884499)
+        (xy 38.041894 47.884359)
+        (xy 38.038364 47.8841)
+        (xy 37.933352 47.8841)
+        (xy 37.825074 47.898932)
+        (xy 37.690825 47.957027)
+        (xy 37.685835 47.961068)
+        (xy 37.685833 47.961069)
+        (xy 37.596281 48.033587)
+        (xy 37.577144 48.049084)
+        (xy 37.573423 48.05432)
+        (xy 37.573421 48.054322)
+        (xy 37.536198 48.106701)
+        (xy 37.492407 48.168321)
+        (xy 37.442857 48.305952)
+        (xy 37.432143 48.451839)
+        (xy 37.438522 48.483473)
+        (xy 37.457822 48.579188)
+        (xy 37.461057 48.595233)
+        (xy 37.527466 48.725569)
+        (xy 37.571586 48.773549)
+        (xy 37.615909 48.82175)
+        (xy 37.626479 48.833245)
+        (xy 37.63194 48.836631)
+        (xy 37.688874 48.871932)
+        (xy 37.726471 48.916423)
+        (xy 37.730737 48.974516)
+        (xy 37.700042 49.024022)
+        (xy 37.689383 49.031699)
+        (xy 37.684002 49.034011)
+        (xy 37.679346 49.037835)
+        (xy 37.675184 49.041997)
+        (xy 37.657996 49.055583)
+        (xy 37.657798 49.055705)
+        (xy 37.657796 49.055707)
+        (xy 37.65039 49.060272)
+        (xy 37.645124 49.067197)
+        (xy 37.633565 49.082398)
+        (xy 37.625187 49.091994)
+        (xy 37.374036 49.343145)
+        (xy 37.322135 49.36959)
+        (xy 37.307391 49.37075)
+        (xy 34.721976 49.37075)
+        (xy 34.718041 49.370461)
+        (xy 34.713541 49.368916)
+        (xy 34.666453 49.370684)
+        (xy 34.662917 49.37075)
+        (xy 34.644378 49.37075)
+        (xy 34.640158 49.371536)
+        (xy 34.635218 49.371856)
+        (xy 34.606979 49.372917)
+        (xy 34.598984 49.376352)
+        (xy 34.598983 49.376352)
+        (xy 34.596901 49.377246)
+        (xy 34.576958 49.383305)
+        (xy 34.574721 49.383722)
+        (xy 34.574718 49.383723)
+        (xy 34.566166 49.385316)
+        (xy 34.544855 49.398453)
+        (xy 34.544561 49.398634)
+        (xy 34.532317 49.404994)
+        (xy 34.509002 49.415011)
+        (xy 34.504346 49.418835)
+        (xy 34.500184 49.422997)
+        (xy 34.482996 49.436583)
+        (xy 34.482798 49.436705)
+        (xy 34.482796 49.436707)
+        (xy 34.47539 49.441272)
+        (xy 34.470124 49.448197)
+        (xy 34.458565 49.463398)
+        (xy 34.450187 49.472994)
+        (xy 34.441001 49.48218)
+        (xy 34.3891 49.508625)
+        (xy 34.362054 49.508979)
+        (xy 34.296122 49.500299)
+        (xy 34.29 49.499493)
+        (xy 34.150624 49.517842)
+        (xy 34.144916 49.520206)
+        (xy 34.144917 49.520206)
+        (xy 34.041343 49.563108)
+        (xy 34.020747 49.571639)
+        (xy 33.909218 49.657218)
+        (xy 33.905458 49.662118)
+        (xy 33.897681 49.672253)
+        (xy 33.823639 49.768747)
+        (xy 33.769842 49.898624)
+        (xy 33.751493 50.038)
+        (xy 33.769842 50.177376)
+        (xy 33.772206 50.183083)
+        (xy 33.814134 50.284305)
+        (xy 33.823639 50.307253)
+        (xy 33.909218 50.418782)
+        (xy 33.932715 50.436812)
+        (xy 34.01147 50.497243)
+        (xy 34.020746 50.504361)
+        (xy 34.150624 50.558158)
+        (xy 34.29 50.576507)
+        (xy 34.429376 50.558158)
+        (xy 34.559254 50.504361)
+        (xy 34.568531 50.497243)
+        (xy 34.647285 50.436812)
+        (xy 34.670782 50.418782)
+        (xy 34.756361 50.307253)
+        (xy 34.765867 50.284305)
+        (xy 34.807794 50.183083)
+        (xy 34.810158 50.177376)
+        (xy 34.828507 50.038)
+        (xy 34.828228 50.035879)
+        (xy 34.845701 49.982101)
+        (xy 34.892826 49.947863)
+        (xy 34.921951 49.94325)
+        (xy 37.0845 49.94325)
+        (xy 37.139899 49.96125)
+        (xy 37.174137 50.008375)
+        (xy 37.17875 50.0375)
+        (xy 37.17875 53.035021)
+        (xy 37.178461 53.038959)
+        (xy 37.176916 53.043459)
+        (xy 37.177242 53.052151)
+        (xy 37.177242 53.052153)
+        (xy 37.178684 53.09056)
+        (xy 37.17875 53.094095)
+        (xy 37.17875 53.112622)
+        (xy 37.179534 53.116831)
+        (xy 37.179856 53.121775)
+        (xy 37.180916 53.150021)
+        (xy 37.185249 53.160105)
+        (xy 37.191307 53.180048)
+        (xy 37.193316 53.190834)
+        (xy 37.197881 53.198239)
+        (xy 37.197882 53.198242)
+        (xy 37.206629 53.212432)
+        (xy 37.212994 53.224685)
+        (xy 37.220154 53.24135)
+        (xy 37.22301 53.247997)
+        (xy 37.226835 53.252654)
+        (xy 37.230997 53.256816)
+        (xy 37.244583 53.274004)
+        (xy 37.244705 53.274202)
+        (xy 37.244707 53.274204)
+        (xy 37.249272 53.28161)
+        (xy 37.256197 53.286876)
+        (xy 37.271398 53.298435)
+        (xy 37.280994 53.306813)
+        (xy 37.607546 53.633365)
+        (xy 37.610124 53.636351)
+        (xy 37.612213 53.640625)
+        (xy 37.618591 53.646542)
+        (xy 37.618593 53.646544)
+        (xy 37.624641 53.652154)
+        (xy 37.653013 53.703026)
+        (xy 37.646065 53.76086)
+        (xy 37.619857 53.794496)
+        (xy 37.577144 53.829084)
+        (xy 37.573423 53.83432)
+        (xy 37.573421 53.834322)
+        (xy 37.539835 53.881583)
+        (xy 37.492407 53.948321)
+        (xy 37.442857 54.085952)
+        (xy 37.432143 54.231839)
+        (xy 37.436287 54.25239)
+        (xy 37.458845 54.364262)
+        (xy 37.461057 54.375233)
+        (xy 37.527466 54.505569)
+        (xy 37.573567 54.555703)
+        (xy 37.618788 54.604881)
+        (xy 37.626479 54.613245)
+        (xy 37.63194 54.616631)
+        (xy 37.700231 54.658973)
+        (xy 37.750801 54.690328)
+        (xy 37.756971 54.692121)
+        (xy 37.756972 54.692121)
+        (xy 37.886529 54.729761)
+        (xy 37.886531 54.729761)
+        (xy 37.891273 54.731139)
+        (xy 37.896198 54.731501)
+        (xy 37.8962 54.731501)
+        (xy 37.898106 54.731641)
+        (xy 37.901636 54.7319)
+        (xy 38.006648 54.7319)
+        (xy 38.114926 54.717068)
+        (xy 38.249175 54.658973)
+        (xy 38.254165 54.654932)
+        (xy 38.254167 54.654931)
+        (xy 38.351937 54.575758)
+        (xy 38.406317 54.554883)
+        (xy 38.462582 54.569959)
+        (xy 38.49924 54.615228)
+        (xy 38.5055 54.649004)
+        (xy 38.5055 54.853221)
+        (xy 38.494252 54.887839)
+        (xy 38.498125 54.887839)
+        (xy 38.508458 54.891883)
+        (xy 38.510458 54.892805)
+        (xy 38.553233 54.932345)
+        (xy 38.56525 54.978398)
+        (xy 38.56525 55.517823)
+        (xy 38.569174 55.5299)
+        (xy 38.573097 55.53275)
+        (xy 39.69236 55.53275)
+        (xy 39.703893 55.529003)
+        (xy 39.704244 55.520075)
+        (xy 39.673273 55.391069)
+        (xy 39.669339 55.380492)
+        (xy 39.597899 55.242081)
+        (xy 39.591557 55.232749)
+        (xy 39.567095 55.204707)
+        (xy 39.544242 55.151128)
+        (xy 39.557247 55.094349)
+        (xy 39.601141 55.056057)
+        (xy 39.638119 55.0485)
+        (xy 40.160133 55.0485)
+        (xy 40.169302 55.047597)
+        (xy 40.211222 55.039258)
+        (xy 40.22805 55.032288)
+        (xy 40.275622 55.000502)
+        (xy 40.288502 54.987622)
+        (xy 40.320288 54.94005)
+        (xy 40.327258 54.923222)
+        (xy 40.335597 54.881302)
+        (xy 40.3365 54.872133)
+        (xy 40.3365 54.668177)
+        (xy 40.332576 54.6561)
+        (xy 40.328653 54.65325)
+        (xy 39.42 54.65325)
+        (xy 39.364601 54.63525)
+        (xy 39.330363 54.588125)
+        (xy 39.32575 54.559)
+        (xy 39.32575 54.557)
+        (xy 39.34375 54.501601)
+        (xy 39.390875 54.467363)
+        (xy 39.42 54.46275)
+        (xy 40.321573 54.46275)
+        (xy 40.33365 54.458826)
+        (xy 40.3365 54.454903)
+        (xy 40.3365 54.243867)
+        (xy 40.335597 54.234698)
+        (xy 40.325447 54.183671)
+        (xy 40.327171 54.183328)
+        (xy 40.3235 54.136661)
+        (xy 40.323827 54.135654)
+        (xy 40.325918 54.132525)
+        (xy 40.327719 54.123475)
+        (xy 40.336097 54.081352)
+        (xy 40.336097 54.081351)
+        (xy 40.337 54.076812)
+        (xy 40.337 53.439188)
+        (xy 40.335271 53.430493)
+        (xy 40.327729 53.39258)
+        (xy 40.325918 53.383475)
+        (xy 40.320761 53.375757)
+        (xy 40.31799 53.369067)
+        (xy 40.31342 53.310997)
+        (xy 40.31799 53.296933)
+        (xy 40.320761 53.290243)
+        (xy 40.325918 53.282525)
+        (xy 40.337 53.226812)
+        (xy 40.337 52.889188)
+        (xy 40.325918 52.833475)
+        (xy 40.327488 52.833163)
+        (xy 40.323775 52.785998)
+        (xy 40.323943 52.78548)
+        (xy 40.325918 52.782525)
+        (xy 40.329328 52.765385)
+        (xy 40.331467 52.754628)
+        (xy 40.359929 52.703805)
+        (xy 40.412828 52.679418)
+        (xy 40.469958 52.690782)
+        (xy 40.490551 52.70637)
+        (xy 41.401967 53.617785)
+        (xy 41.428412 53.669686)
+        (xy 41.419299 53.727219)
+        (xy 41.386272 53.76202)
+        (xy 41.386747 53.762639)
+        (xy 41.381843 53.766402)
+        (xy 41.281199 53.843629)
+        (xy 41.275218 53.848218)
+        (xy 41.189639 53.959747)
+        (xy 41.187278 53.965448)
+        (xy 41.187277 53.965449)
+        (xy 41.160085 54.031096)
+        (xy 41.135842 54.089624)
+        (xy 41.117493 54.229)
+        (xy 41.135842 54.368376)
+        (xy 41.138206 54.374083)
+        (xy 41.186445 54.490541)
+        (xy 41.189639 54.498253)
+        (xy 41.275218 54.609782)
+        (xy 41.284144 54.616631)
+        (xy 41.339325 54.658973)
+        (xy 41.386746 54.695361)
+        (xy 41.516624 54.749158)
+        (xy 41.656 54.767507)
+        (xy 41.795376 54.749158)
+        (xy 41.925254 54.695361)
+        (xy 41.972676 54.658973)
+        (xy 42.027856 54.616631)
+        (xy 42.036782 54.609782)
+        (xy 42.040545 54.604878)
+        (xy 42.040548 54.604875)
+        (xy 42.041834 54.6032)
+        (xy 42.043081 54.602343)
+        (xy 42.044913 54.600511)
+        (xy 42.045253 54.600851)
+        (xy 42.089839 54.570208)
+        (xy 42.148069 54.571734)
+        (xy 42.168969 54.582212)
+        (xy 42.192475 54.597918)
+        (xy 42.248188 54.609)
+        (xy 43.72225 54.609)
+        (xy 43.777649 54.627)
+        (xy 43.811887 54.674125)
+        (xy 43.8165 54.70325)
+        (xy 43.8165 55.297823)
+        (xy 43.820424 55.3099)
+        (xy 43.824347 55.31275)
+        (xy 44.118 55.31275)
+        (xy 44.173399 55.33075)
+        (xy 44.207637 55.377875)
+        (xy 44.21225 55.407)
+        (xy 44.21225 56.333573)
+        (xy 44.216174 56.34565)
+        (xy 44.220097 56.3485)
+        (xy 44.241133 56.3485)
+        (xy 44.2503 56.347597)
+        (xy 44.29733 56.338242)
+        (xy 44.334104 56.338242)
+        (xy 44.388188 56.349)
+        (xy 44.645812 56.349)
+        (xy 44.698614 56.338497)
+        (xy 44.735386 56.338497)
+        (xy 44.788188 56.349)
+        (xy 45.045812 56.349)
+        (xy 45.098614 56.338497)
+        (xy 45.135386 56.338497)
+        (xy 45.188188 56.349)
+        (xy 45.445812 56.349)
+        (xy 45.498614 56.338497)
+        (xy 45.535386 56.338497)
+        (xy 45.588188 56.349)
+        (xy 45.845812 56.349)
+        (xy 45.898614 56.338497)
+        (xy 45.935386 56.338497)
+        (xy 45.988188 56.349)
+        (xy 46.245812 56.349)
+        (xy 46.298614 56.338497)
+        (xy 46.335386 56.338497)
+        (xy 46.388188 56.349)
+        (xy 46.645812 56.349)
+        (xy 46.698614 56.338497)
+        (xy 46.735386 56.338497)
+        (xy 46.788188 56.349)
+        (xy 47.045812 56.349)
+        (xy 47.098614 56.338497)
+        (xy 47.135386 56.338497)
+        (xy 47.188188 56.349)
+        (xy 47.445812 56.349)
+        (xy 47.498614 56.338497)
+        (xy 47.535386 56.338497)
+        (xy 47.588188 56.349)
+        (xy 47.845812 56.349)
+        (xy 47.899896 56.338242)
+        (xy 47.93667 56.338242)
+        (xy 47.9837 56.347597)
+        (xy 47.992867 56.3485)
+        (xy 48.006823 56.3485)
+        (xy 48.0189 56.344576)
+        (xy 48.02175 56.340653)
+        (xy 48.02175 55.407)
+        (xy 48.03975 55.351601)
+        (xy 48.086875 55.317363)
+        (xy 48.116 55.31275)
+        (xy 48.118 55.31275)
+        (xy 48.173399 55.33075)
+        (xy 48.207637 55.377875)
+        (xy 48.21225 55.407)
+        (xy 48.21225 56.333573)
+        (xy 48.216174 56.34565)
+        (xy 48.220097 56.3485)
+        (xy 48.241133 56.3485)
+        (xy 48.2503 56.347597)
+        (xy 48.29733 56.338242)
+        (xy 48.334104 56.338242)
+        (xy 48.388188 56.349)
+        (xy 48.645812 56.349)
+        (xy 48.698614 56.338497)
+        (xy 48.735386 56.338497)
+        (xy 48.788188 56.349)
+        (xy 49.045812 56.349)
+        (xy 49.098614 56.338497)
+        (xy 49.135386 56.338497)
+        (xy 49.188188 56.349)
+        (xy 49.445812 56.349)
+        (xy 49.498614 56.338497)
+        (xy 49.535386 56.338497)
+        (xy 49.588188 56.349)
+        (xy 49.845812 56.349)
+        (xy 49.898614 56.338497)
+        (xy 49.935386 56.338497)
+        (xy 49.988188 56.349)
+        (xy 50.245812 56.349)
+        (xy 50.252866 56.347597)
+        (xy 50.29242 56.339729)
+        (xy 50.301525 56.337918)
+        (xy 50.364703 56.295703)
+        (xy 50.406918 56.232525)
+        (xy 50.418 56.176812)
+        (xy 50.418 56.132125)
+        (xy 50.436 56.076726)
+        (xy 50.483125 56.042488)
+        (xy 50.541375 56.042488)
+        (xy 50.576347 56.063027)
+        (xy 50.600748 56.085662)
+        (xy 50.603296 56.088115)
+        (xy 50.616415 56.101234)
+        (xy 50.619958 56.103665)
+        (xy 50.623681 56.106936)
+        (xy 50.638011 56.120229)
+        (xy 50.638015 56.120231)
+        (xy 50.644392 56.126147)
+        (xy 50.65458 56.130212)
+        (xy 50.672971 56.140032)
+        (xy 50.682019 56.146239)
+        (xy 50.698839 56.15023)
+        (xy 50.748584 56.180533)
+        (xy 50.7673 56.22099)
+        (xy 50.767976 56.22077)
+        (xy 50.769812 56.22642)
+        (xy 50.770168 56.22719)
+        (xy 50.771429 56.235153)
+        (xy 50.774796 56.241761)
+        (xy 50.774797 56.241763)
+        (xy 50.827887 56.345959)
+        (xy 50.827889 56.345962)
+        (xy 50.831254 56.352566)
+        (xy 50.924434 56.445746)
+        (xy 50.931038 56.449111)
+        (xy 50.931041 56.449113)
+        (xy 51.02657 56.497787)
+        (xy 51.041847 56.505571)
+        (xy 51.049169 56.506731)
+        (xy 51.04917 56.506731)
+        (xy 51.118175 56.51766)
+        (xy 51.170076 56.544105)
+        (xy 51.196521 56.596006)
+        (xy 51.187408 56.653538)
+        (xy 51.14622 56.694727)
+        (xy 51.103431 56.705)
+        (xy 32.54325 56.705)
+        (xy 32.487851 56.687)
+        (xy 32.453613 56.639875)
+        (xy 32.449 56.61075)
+        (xy 32.449 55.735925)
+        (xy 33.055756 55.735925)
+        (xy 33.086727 55.864931)
+        (xy 33.090661 55.875508)
+        (xy 33.162101 56.013919)
+        (xy 33.168443 56.023252)
+        (xy 33.270837 56.140629)
+        (xy 33.27922 56.148177)
+        (xy 33.406655 56.23774)
+        (xy 33.416605 56.243075)
+        (xy 33.561723 56.299653)
+        (xy 33.572653 56.30246)
+        (xy 33.691438 56.318098)
+        (xy 33.697567 56.3185)
+        (xy 34.179823 56.3185)
+        (xy 34.1919 56.314576)
+        (xy 34.19475 56.310653)
+        (xy 34.19475 56.303573)
+        (xy 34.38525 56.303573)
+        (xy 34.389174 56.31565)
+        (xy 34.393097 56.3185)
+        (xy 34.879065 56.3185)
+        (xy 34.884728 56.318158)
+        (xy 35.000276 56.304176)
+        (xy 35.01123 56.301485)
+        (xy 35.156946 56.246424)
+        (xy 35.166933 56.241203)
+        (xy 35.295306 56.152974)
+        (xy 35.303769 56.145513)
+        (xy 35.407392 56.02921)
+        (xy 35.413825 56.019954)
+        (xy 35.486713 55.88229)
+        (xy 35.490755 55.87176)
+        (xy 35.524421 55.737729)
+        (xy 35.524298 55.735925)
+        (xy 37.235756 55.735925)
+        (xy 37.266727 55.864931)
+        (xy 37.270661 55.875508)
+        (xy 37.342101 56.013919)
+        (xy 37.348443 56.023252)
+        (xy 37.450837 56.140629)
+        (xy 37.45922 56.148177)
+        (xy 37.586655 56.23774)
+        (xy 37.596605 56.243075)
+        (xy 37.741723 56.299653)
+        (xy 37.752653 56.30246)
+        (xy 37.871438 56.318098)
+        (xy 37.877567 56.3185)
+        (xy 38.359823 56.3185)
+        (xy 38.3719 56.314576)
+        (xy 38.37475 56.310653)
+        (xy 38.37475 56.303573)
+        (xy 38.56525 56.303573)
+        (xy 38.569174 56.31565)
+        (xy 38.573097 56.3185)
+        (xy 39.059065 56.3185)
+        (xy 39.064728 56.318158)
+        (xy 39.180276 56.304176)
+        (xy 39.19123 56.301485)
+        (xy 39.336946 56.246424)
+        (xy 39.346933 56.241203)
+        (xy 39.44743 56.172133)
+        (xy 43.8165 56.172133)
+        (xy 43.817403 56.181302)
+        (xy 43.825742 56.223222)
+        (xy 43.832712 56.24005)
+        (xy 43.864498 56.287622)
+        (xy 43.877378 56.300502)
+        (xy 43.92495 56.332288)
+        (xy 43.941778 56.339258)
+        (xy 43.983698 56.347597)
+        (xy 43.992867 56.3485)
+        (xy 44.006823 56.3485)
+        (xy 44.0189 56.344576)
+        (xy 44.02175 56.340653)
+        (xy 44.02175 55.518177)
+        (xy 44.017826 55.5061)
+        (xy 44.013903 55.50325)
+        (xy 43.831427 55.50325)
+        (xy 43.81935 55.507174)
+        (xy 43.8165 55.511097)
+        (xy 43.8165 56.172133)
+        (xy 39.44743 56.172133)
+        (xy 39.475306 56.152974)
+        (xy 39.483769 56.145513)
+        (xy 39.587392 56.02921)
+        (xy 39.593825 56.019954)
+        (xy 39.666713 55.88229)
+        (xy 39.670755 55.87176)
+        (xy 39.704421 55.737729)
+        (xy 39.703607 55.725792)
+        (xy 39.69477 55.72325)
+        (xy 38.580177 55.72325)
+        (xy 38.5681 55.727174)
+        (xy 38.56525 55.731097)
+        (xy 38.56525 56.303573)
+        (xy 38.37475 56.303573)
+        (xy 38.37475 55.738177)
+        (xy 38.370826 55.7261)
+        (xy 38.366903 55.72325)
+        (xy 37.24764 55.72325)
+        (xy 37.236107 55.726997)
+        (xy 37.235756 55.735925)
+        (xy 35.524298 55.735925)
+        (xy 35.523607 55.725792)
+        (xy 35.51477 55.72325)
+        (xy 34.400177 55.72325)
+        (xy 34.3881 55.727174)
+        (xy 34.38525 55.731097)
+        (xy 34.38525 56.303573)
+        (xy 34.19475 56.303573)
+        (xy 34.19475 55.738177)
+        (xy 34.190826 55.7261)
+        (xy 34.186903 55.72325)
+        (xy 33.06764 55.72325)
+        (xy 33.056107 55.726997)
+        (xy 33.055756 55.735925)
+        (xy 32.449 55.735925)
+        (xy 32.449 55.518271)
+        (xy 33.055579 55.518271)
+        (xy 33.056393 55.530208)
+        (xy 33.06523 55.53275)
+        (xy 34.179823 55.53275)
+        (xy 34.1919 55.528826)
+        (xy 34.19475 55.524903)
+        (xy 34.19475 55.517823)
+        (xy 34.38525 55.517823)
+        (xy 34.389174 55.5299)
+        (xy 34.393097 55.53275)
+        (xy 35.51236 55.53275)
+        (xy 35.523893 55.529003)
+        (xy 35.524244 55.520075)
+        (xy 35.523811 55.518271)
+        (xy 37.235579 55.518271)
+        (xy 37.236393 55.530208)
+        (xy 37.24523 55.53275)
+        (xy 38.359823 55.53275)
+        (xy 38.3719 55.528826)
+        (xy 38.37475 55.524903)
+        (xy 38.37475 54.977476)
+        (xy 38.385998 54.942858)
+        (xy 38.382125 54.942858)
+        (xy 38.373539 54.938484)
+        (xy 38.36733 54.9375)
+        (xy 37.880935 54.9375)
+        (xy 37.875272 54.937842)
+        (xy 37.759724 54.951824)
+        (xy 37.74877 54.954515)
+        (xy 37.603054 55.009576)
+        (xy 37.593067 55.014797)
+        (xy 37.464694 55.103026)
+        (xy 37.456231 55.110487)
+        (xy 37.352608 55.22679)
+        (xy 37.346175 55.236046)
+        (xy 37.273287 55.37371)
+        (xy 37.269245 55.38424)
+        (xy 37.235579 55.518271)
+        (xy 35.523811 55.518271)
+        (xy 35.493273 55.391069)
+        (xy 35.489339 55.380492)
+        (xy 35.417899 55.242081)
+        (xy 35.411557 55.232748)
+        (xy 35.309163 55.115371)
+        (xy 35.30078 55.107823)
+        (xy 35.173345 55.01826)
+        (xy 35.163395 55.012925)
+        (xy 35.018277 54.956347)
+        (xy 35.007347 54.95354)
+        (xy 34.888562 54.937902)
+        (xy 34.882433 54.9375)
+        (xy 34.400177 54.9375)
+        (xy 34.3881 54.941424)
+        (xy 34.38525 54.945347)
+        (xy 34.38525 55.517823)
+        (xy 34.19475 55.517823)
+        (xy 34.19475 54.952427)
+        (xy 34.190826 54.94035)
+        (xy 34.186903 54.9375)
+        (xy 33.700935 54.9375)
+        (xy 33.695272 54.937842)
+        (xy 33.579724 54.951824)
+        (xy 33.56877 54.954515)
+        (xy 33.423054 55.009576)
+        (xy 33.413067 55.014797)
+        (xy 33.284694 55.103026)
+        (xy 33.276231 55.110487)
+        (xy 33.172608 55.22679)
+        (xy 33.166175 55.236046)
+        (xy 33.093287 55.37371)
+        (xy 33.089245 55.38424)
+        (xy 33.055579 55.518271)
+        (xy 32.449 55.518271)
+        (xy 32.449 53.904072)
+        (xy 33.845 53.904072)
+        (xy 33.847819 53.911817)
+        (xy 33.847819 53.911818)
+        (xy 33.851842 53.922871)
+        (xy 33.856094 53.938739)
+        (xy 33.859568 53.95844)
+        (xy 33.86957 53.975763)
+        (xy 33.876513 53.990654)
+        (xy 33.883355 54.009453)
+        (xy 33.89622 54.024784)
+        (xy 33.905638 54.038235)
+        (xy 33.91564 54.05556)
+        (xy 33.921954 54.060858)
+        (xy 33.921959 54.060864)
+        (xy 33.930965 54.068421)
+        (xy 33.942579 54.080035)
+        (xy 33.950136 54.089041)
+        (xy 33.950142 54.089046)
+        (xy 33.95544 54.09536)
+        (xy 33.96258 54.099482)
+        (xy 33.972763 54.105361)
+        (xy 33.986216 54.11478)
+        (xy 34.001547 54.127645)
+        (xy 34.019841 54.134303)
+        (xy 34.020346 54.134487)
+        (xy 34.035234 54.141428)
+        (xy 34.05256 54.151432)
+        (xy 34.07226 54.154906)
+        (xy 34.088127 54.159157)
+        (xy 34.106928 54.166)
+        (xy 36.251072 54.166)
+        (xy 36.269873 54.159157)
+        (xy 36.28574 54.154906)
+        (xy 36.30544 54.151432)
+        (xy 36.322766 54.141428)
+        (xy 36.337654 54.134487)
+        (xy 36.338159 54.134303)
+        (xy 36.356453 54.127645)
+        (xy 36.371784 54.11478)
+        (xy 36.385237 54.105361)
+        (xy 36.39542 54.099482)
+        (xy 36.40256 54.09536)
+        (xy 36.407858 54.089046)
+        (xy 36.407864 54.089041)
+        (xy 36.415421 54.080035)
+        (xy 36.427035 54.068421)
+        (xy 36.436041 54.060864)
+        (xy 36.436046 54.060858)
+        (xy 36.44236 54.05556)
+        (xy 36.452362 54.038235)
+        (xy 36.46178 54.024784)
+        (xy 36.474645 54.009453)
+        (xy 36.481487 53.990654)
+        (xy 36.48843 53.975763)
+        (xy 36.498432 53.95844)
+        (xy 36.501906 53.938739)
+        (xy 36.506158 53.922871)
+        (xy 36.510181 53.911818)
+        (xy 36.510181 53.911817)
+        (xy 36.513 53.904072)
+        (xy 36.513 51.251928)
+        (xy 36.506157 51.233127)
+        (xy 36.501906 51.21726)
+        (xy 36.499864 51.205681)
+        (xy 36.498432 51.19756)
+        (xy 36.488428 51.180234)
+        (xy 36.481487 51.165346)
+        (xy 36.477465 51.154296)
+        (xy 36.474645 51.146547)
+        (xy 36.46178 51.131216)
+        (xy 36.452361 51.117763)
+        (xy 36.449053 51.112032)
+        (xy 36.44236 51.10044)
+        (xy 36.436046 51.095142)
+        (xy 36.436041 51.095136)
+        (xy 36.427035 51.087579)
+        (xy 36.415421 51.075965)
+        (xy 36.407864 51.066959)
+        (xy 36.407858 51.066954)
+        (xy 36.40256 51.06064)
+        (xy 36.385235 51.050638)
+        (xy 36.371784 51.04122)
+        (xy 36.356453 51.028355)
+        (xy 36.337654 51.021513)
+        (xy 36.322766 51.014572)
+        (xy 36.30544 51.004568)
+        (xy 36.285739 51.001094)
+        (xy 36.269873 50.996843)
+        (xy 36.251072 50.99)
+        (xy 34.106928 50.99)
+        (xy 34.088127 50.996843)
+        (xy 34.072261 51.001094)
+        (xy 34.05256 51.004568)
+        (xy 34.035234 51.014572)
+        (xy 34.020346 51.021513)
+        (xy 34.001547 51.028355)
+        (xy 33.986216 51.04122)
+        (xy 33.972765 51.050638)
+        (xy 33.95544 51.06064)
+        (xy 33.950142 51.066954)
+        (xy 33.950136 51.066959)
+        (xy 33.942579 51.075965)
+        (xy 33.930965 51.087579)
+        (xy 33.921959 51.095136)
+        (xy 33.921954 51.095142)
+        (xy 33.91564 51.10044)
+        (xy 33.908948 51.112032)
+        (xy 33.905639 51.117763)
+        (xy 33.89622 51.131216)
+        (xy 33.883355 51.146547)
+        (xy 33.880535 51.154296)
+        (xy 33.876513 51.165346)
+        (xy 33.869572 51.180234)
+        (xy 33.859568 51.19756)
+        (xy 33.858136 51.205681)
+        (xy 33.856094 51.21726)
+        (xy 33.851843 51.233127)
+        (xy 33.845 51.251928)
+        (xy 33.845 53.904072)
+        (xy 32.449 53.904072)
+        (xy 32.449 47.095925)
+        (xy 33.055756 47.095925)
+        (xy 33.086727 47.224931)
+        (xy 33.090661 47.235508)
+        (xy 33.162101 47.373919)
+        (xy 33.168443 47.383252)
+        (xy 33.270837 47.500629)
+        (xy 33.27922 47.508177)
+        (xy 33.406655 47.59774)
+        (xy 33.416605 47.603075)
+        (xy 33.561723 47.659653)
+        (xy 33.572653 47.66246)
+        (xy 33.691438 47.678098)
+        (xy 33.697567 47.6785)
+        (xy 34.179823 47.6785)
+        (xy 34.1919 47.674576)
+        (xy 34.19475 47.670653)
+        (xy 34.19475 47.663573)
+        (xy 34.38525 47.663573)
+        (xy 34.389174 47.67565)
+        (xy 34.393097 47.6785)
+        (xy 34.879065 47.6785)
+        (xy 34.884728 47.678158)
+        (xy 35.000276 47.664176)
+        (xy 35.01123 47.661485)
+        (xy 35.156946 47.606424)
+        (xy 35.166933 47.601203)
+        (xy 35.295306 47.512974)
+        (xy 35.303769 47.505513)
+        (xy 35.407392 47.38921)
+        (xy 35.413825 47.379954)
+        (xy 35.486713 47.24229)
+        (xy 35.490755 47.23176)
+        (xy 35.524421 47.097729)
+        (xy 35.524298 47.095925)
+        (xy 37.235756 47.095925)
+        (xy 37.266727 47.224931)
+        (xy 37.270661 47.235508)
+        (xy 37.342101 47.373919)
+        (xy 37.348443 47.383252)
+        (xy 37.450837 47.500629)
+        (xy 37.45922 47.508177)
+        (xy 37.586655 47.59774)
+        (xy 37.596605 47.603075)
+        (xy 37.741723 47.659653)
+        (xy 37.752653 47.66246)
+        (xy 37.871438 47.678098)
+        (xy 37.877567 47.6785)
+        (xy 38.359824 47.6785)
+        (xy 38.382126 47.671254)
+        (xy 38.385735 47.671254)
+        (xy 38.37475 47.63745)
+        (xy 38.37475 47.098177)
+        (xy 38.370826 47.0861)
+        (xy 38.366903 47.08325)
+        (xy 37.24764 47.08325)
+        (xy 37.236107 47.086997)
+        (xy 37.235756 47.095925)
+        (xy 35.524298 47.095925)
+        (xy 35.523607 47.085792)
+        (xy 35.51477 47.08325)
+        (xy 34.400177 47.08325)
+        (xy 34.3881 47.087174)
+        (xy 34.38525 47.091097)
+        (xy 34.38525 47.663573)
+        (xy 34.19475 47.663573)
+        (xy 34.19475 47.098177)
+        (xy 34.190826 47.0861)
+        (xy 34.186903 47.08325)
+        (xy 33.06764 47.08325)
+        (xy 33.056107 47.086997)
+        (xy 33.055756 47.095925)
+        (xy 32.449 47.095925)
+        (xy 32.449 46.878271)
+        (xy 33.055579 46.878271)
+        (xy 33.056393 46.890208)
+        (xy 33.06523 46.89275)
+        (xy 34.179823 46.89275)
+        (xy 34.1919 46.888826)
+        (xy 34.19475 46.884903)
+        (xy 34.19475 46.877823)
+        (xy 34.38525 46.877823)
+        (xy 34.389174 46.8899)
+        (xy 34.393097 46.89275)
+        (xy 35.51236 46.89275)
+        (xy 35.523893 46.889003)
+        (xy 35.524244 46.880075)
+        (xy 35.523811 46.878271)
+        (xy 37.235579 46.878271)
+        (xy 37.236393 46.890208)
+        (xy 37.24523 46.89275)
+        (xy 38.359823 46.89275)
+        (xy 38.3719 46.888826)
+        (xy 38.37475 46.884903)
+        (xy 38.37475 46.877823)
+        (xy 38.56525 46.877823)
+        (xy 38.569174 46.8899)
+        (xy 38.573097 46.89275)
+        (xy 39.69236 46.89275)
+        (xy 39.703893 46.889003)
+        (xy 39.704244 46.880075)
+        (xy 39.673273 46.751069)
+        (xy 39.669339 46.740492)
+        (xy 39.597899 46.602081)
+        (xy 39.591557 46.592748)
+        (xy 39.489163 46.475371)
+        (xy 39.48078 46.467823)
+        (xy 39.353345 46.37826)
+        (xy 39.343395 46.372925)
+        (xy 39.198277 46.316347)
+        (xy 39.187347 46.31354)
+        (xy 39.068562 46.297902)
+        (xy 39.062433 46.2975)
+        (xy 38.580177 46.2975)
+        (xy 38.5681 46.301424)
+        (xy 38.56525 46.305347)
+        (xy 38.56525 46.877823)
+        (xy 38.37475 46.877823)
+        (xy 38.37475 46.312427)
+        (xy 38.370826 46.30035)
+        (xy 38.366903 46.2975)
+        (xy 37.880935 46.2975)
+        (xy 37.875272 46.297842)
+        (xy 37.759724 46.311824)
+        (xy 37.74877 46.314515)
+        (xy 37.603054 46.369576)
+        (xy 37.593067 46.374797)
+        (xy 37.464694 46.463026)
+        (xy 37.456231 46.470487)
+        (xy 37.352608 46.58679)
+        (xy 37.346175 46.596046)
+        (xy 37.273287 46.73371)
+        (xy 37.269245 46.74424)
+        (xy 37.235579 46.878271)
+        (xy 35.523811 46.878271)
+        (xy 35.493273 46.751069)
+        (xy 35.489339 46.740492)
+        (xy 35.417899 46.602081)
+        (xy 35.411557 46.592748)
+        (xy 35.309163 46.475371)
+        (xy 35.30078 46.467823)
+        (xy 35.173345 46.37826)
+        (xy 35.163395 46.372925)
+        (xy 35.018277 46.316347)
+        (xy 35.007347 46.31354)
+        (xy 34.888562 46.297902)
+        (xy 34.882433 46.2975)
+        (xy 34.400177 46.2975)
+        (xy 34.3881 46.301424)
+        (xy 34.38525 46.305347)
+        (xy 34.38525 46.877823)
+        (xy 34.19475 46.877823)
+        (xy 34.19475 46.312427)
+        (xy 34.190826 46.30035)
+        (xy 34.186903 46.2975)
+        (xy 33.700935 46.2975)
+        (xy 33.695272 46.297842)
+        (xy 33.579724 46.311824)
+        (xy 33.56877 46.314515)
+        (xy 33.423054 46.369576)
+        (xy 33.413067 46.374797)
+        (xy 33.284694 46.463026)
+        (xy 33.276231 46.470487)
+        (xy 33.172608 46.58679)
+        (xy 33.166175 46.596046)
+        (xy 33.093287 46.73371)
+        (xy 33.089245 46.74424)
+        (xy 33.055579 46.878271)
+        (xy 32.449 46.878271)
+        (xy 32.449 46.00525)
+        (xy 32.467 45.949851)
+        (xy 32.514125 45.915613)
+        (xy 32.54325 45.911)
+        (xy 56.35675 45.911)
+      )
+    )
+    (filled_polygon
+      (layer "F.Cu")
+      (pts
+        (xy 45.988188 48.149)
+        (xy 46.245812 48.149)
+        (xy 46.298614 48.138497)
+        (xy 46.335386 48.138497)
+        (xy 46.388188 48.149)
+        (xy 46.503438 48.149)
+        (xy 46.558837 48.167)
+        (xy 46.593075 48.214125)
+        (xy 46.593075 48.272375)
+        (xy 46.578212 48.300626)
+        (xy 46.523639 48.371747)
+        (xy 46.521278 48.377448)
+        (xy 46.521277 48.377449)
+        (xy 46.497331 48.435261)
+        (xy 46.469842 48.501624)
+        (xy 46.451493 48.641)
+        (xy 46.469842 48.780376)
+        (xy 46.472206 48.786083)
+        (xy 46.515201 48.889881)
+        (xy 46.523639 48.910253)
+        (xy 46.609218 49.021782)
+        (xy 46.720746 49.107361)
+        (xy 46.850624 49.161158)
+        (xy 46.99 49.179507)
+        (xy 47.129376 49.161158)
+        (xy 47.259254 49.107361)
+        (xy 47.285161 49.087482)
+        (xy 47.36588 49.025544)
+        (xy 47.365882 49.025542)
+        (xy 47.370782 49.021782)
+        (xy 47.374044 49.017531)
+        (xy 47.425638 48.991246)
+        (xy 47.48317 49.00036)
+        (xy 47.506783 49.019994)
+        (xy 47.507919 49.018858)
+        (xy 47.512284 49.023223)
+        (xy 47.516047 49.028127)
+        (xy 47.52095 49.031889)
+        (xy 47.520951 49.03189)
+        (xy 47.59928 49.091994)
+        (xy 47.627575 49.113706)
+        (xy 47.757453 49.167503)
+        (xy 47.896829 49.185852)
+        (xy 48.036205 49.167503)
+        (xy 48.166083 49.113706)
+        (xy 48.194379 49.091994)
+        (xy 48.24183 49.055583)
+        (xy 48.277611 49.028127)
+        (xy 48.36319 48.916598)
+        (xy 48.366752 48.908)
+        (xy 48.414623 48.792428)
+        (xy 48.416987 48.786721)
+        (xy 48.435336 48.647345)
+        (xy 48.416987 48.507969)
+        (xy 48.397971 48.462061)
+        (xy 48.365552 48.383794)
+        (xy 48.365551 48.383793)
+        (xy 48.36319 48.378092)
+        (xy 48.302958 48.299596)
+        (xy 48.283514 48.244687)
+        (xy 48.300058 48.188836)
+        (xy 48.346271 48.153376)
+        (xy 48.38593 48.148551)
+        (xy 48.388188 48.149)
+        (xy 48.645812 48.149)
+        (xy 48.698614 48.138497)
+        (xy 48.735386 48.138497)
+        (xy 48.788188 48.149)
+        (xy 49.045812 48.149)
+        (xy 49.098614 48.138497)
+        (xy 49.135386 48.138497)
+        (xy 49.188188 48.149)
+        (xy 49.445812 48.149)
+        (xy 49.498614 48.138497)
+        (xy 49.535386 48.138497)
+        (xy 49.588188 48.149)
+        (xy 49.845812 48.149)
+        (xy 49.898614 48.138497)
+        (xy 49.935386 48.138497)
+        (xy 49.988188 48.149)
+        (xy 50.18175 48.149)
+        (xy 50.237149 48.167)
+        (xy 50.271387 48.214125)
+        (xy 50.276 48.24325)
+        (xy 50.276 48.436812)
+        (xy 50.285282 48.483473)
+        (xy 50.286503 48.489612)
+        (xy 50.286503 48.526386)
+        (xy 50.276 48.579188)
+        (xy 50.276 48.836812)
+        (xy 50.285627 48.885206)
+        (xy 50.286503 48.889612)
+        (xy 50.286503 48.926386)
+        (xy 50.276 48.979188)
+        (xy 50.276 49.1275)
+        (xy 50.258 49.182899)
+        (xy 50.210875 49.217137)
+        (xy 50.18175 49.22175)
+        (xy 49.587789 49.22175)
+        (xy 49.53239 49.20375)
+        (xy 49.500713 49.163567)
+        (xy 49.490724 49.139451)
+        (xy 49.490723 49.139449)
+        (xy 49.488361 49.133747)
+        (xy 49.402782 49.022218)
+        (xy 49.315684 48.955385)
+        (xy 49.296157 48.940401)
+        (xy 49.296156 48.9404)
+        (xy 49.291254 48.936639)
+        (xy 49.161376 48.882842)
+        (xy 49.022 48.864493)
+        (xy 48.882624 48.882842)
+        (xy 48.859247 48.892525)
+        (xy 48.784528 48.923475)
+        (xy 48.752747 48.936639)
+        (xy 48.728317 48.955385)
+        (xy 48.647122 49.017688)
+        (xy 48.641218 49.022218)
+        (xy 48.555639 49.133747)
+        (xy 48.553278 49.139448)
+        (xy 48.553277 49.139449)
+        (xy 48.533897 49.186237)
+        (xy 48.501842 49.263624)
+        (xy 48.483493 49.403)
+        (xy 48.501842 49.542376)
+        (xy 48.504206 49.548083)
+        (xy 48.542839 49.64135)
+        (xy 48.555639 49.672253)
+        (xy 48.641218 49.783782)
+        (xy 48.646121 49.787544)
+        (xy 48.744312 49.862889)
+        (xy 48.752746 49.869361)
+        (xy 48.882624 49.923158)
+        (xy 49.022 49.941507)
+        (xy 49.161376 49.923158)
+        (xy 49.291254 49.869361)
+        (xy 49.299689 49.862889)
+        (xy 49.363757 49.813727)
+        (xy 49.421133 49.79425)
+        (xy 50.18175 49.79425)
+        (xy 50.237149 49.81225)
+        (xy 50.271387 49.859375)
+        (xy 50.276 49.8885)
+        (xy 50.276 50.036812)
+        (xy 50.279778 50.055802)
+        (xy 50.286503 50.089612)
+        (xy 50.286503 50.126386)
+        (xy 50.276 50.179188)
+        (xy 50.276 50.436812)
+        (xy 50.282893 50.471461)
+        (xy 50.286503 50.489612)
+        (xy 50.286503 50.526386)
+        (xy 50.276 50.579188)
+        (xy 50.276 50.836812)
+        (xy 50.285678 50.885464)
+        (xy 50.286503 50.889612)
+        (xy 50.286503 50.926386)
+        (xy 50.276 50.979188)
+        (xy 50.276 51.236812)
+        (xy 50.280647 51.260171)
+        (xy 50.286503 51.289612)
+        (xy 50.286503 51.326386)
+        (xy 50.276 51.379188)
+        (xy 50.276 51.636812)
+        (xy 50.286425 51.689218)
+        (xy 50.286503 51.689612)
+        (xy 50.286503 51.726386)
+        (xy 50.276 51.779188)
+        (xy 50.276 52.036812)
+        (xy 50.28382 52.076122)
+        (xy 50.286503 52.089612)
+        (xy 50.286503 52.126386)
+        (xy 50.276 52.179188)
+        (xy 50.276 52.436812)
+        (xy 50.276903 52.44135)
+        (xy 50.286503 52.489612)
+        (xy 50.286503 52.526386)
+        (xy 50.276 52.579188)
+        (xy 50.276 52.836812)
+        (xy 50.286419 52.889188)
+        (xy 50.286503 52.889612)
+        (xy 50.286503 52.926386)
+        (xy 50.276 52.979188)
+        (xy 50.276 53.236812)
+        (xy 50.285959 53.286876)
+        (xy 50.286503 53.289612)
+        (xy 50.286503 53.326386)
+        (xy 50.276 53.379188)
+        (xy 50.276 53.636812)
+        (xy 50.286229 53.688234)
+        (xy 50.286503 53.689612)
+        (xy 50.286503 53.726386)
+        (xy 50.276 53.779188)
+        (xy 50.276 54.036812)
+        (xy 50.283957 54.076812)
+        (xy 50.286503 54.089612)
+        (xy 50.286503 54.126386)
+        (xy 50.276 54.179188)
+        (xy 50.276 54.37275)
+        (xy 50.258 54.428149)
+        (xy 50.210875 54.462387)
+        (xy 50.18175 54.467)
+        (xy 49.988188 54.467)
+        (xy 49.935386 54.477503)
+        (xy 49.898614 54.477503)
+        (xy 49.845812 54.467)
+        (xy 49.588188 54.467)
+        (xy 49.535386 54.477503)
+        (xy 49.498614 54.477503)
+        (xy 49.445812 54.467)
+        (xy 49.188188 54.467)
+        (xy 49.169964 54.470625)
+        (xy 49.112118 54.463779)
+        (xy 49.069344 54.424239)
+        (xy 49.065352 54.41108)
+        (xy 49.05725 54.398954)
+        (xy 48.507055 53.848759)
+        (xy 48.780494 53.848759)
+        (xy 48.781253 53.853549)
+        (xy 49.187285 54.259581)
+        (xy 49.198599 54.265346)
+        (xy 49.199498 54.265204)
+        (xy 49.204424 54.260974)
+        (xy 49.25428 54.191591)
+        (xy 49.259715 54.181705)
+        (xy 49.318535 54.035385)
+        (xy 49.321455 54.024488)
+        (xy 49.344041 53.865793)
+        (xy 49.344508 53.859647)
+        (xy 49.344598 53.85108)
+        (xy 49.34426 53.844939)
+        (xy 49.325002 53.685803)
+        (xy 49.322311 53.674848)
+        (xy 49.266565 53.52732)
+        (xy 49.261344 53.517333)
+        (xy 49.206673 53.437786)
+        (xy 49.196601 53.430057)
+        (xy 49.196222 53.430047)
+        (xy 49.18989 53.433814)
+        (xy 48.786259 53.837445)
+        (xy 48.780494 53.848759)
+        (xy 48.507055 53.848759)
+        (xy 48.094554 53.436258)
+        (xy 48.08324 53.430493)
+        (xy 48.082604 53.430594)
+        (xy 48.077368 53.435137)
+        (xy 48.024157 53.510848)
+        (xy 48.018823 53.520795)
+        (xy 47.961541 53.667718)
+        (xy 47.958734 53.678648)
+        (xy 47.953343 53.719598)
+        (xy 47.928265 53.772174)
+        (xy 47.877075 53.799968)
+        (xy 47.819323 53.792365)
+        (xy 47.785125 53.764671)
+        (xy 47.755545 53.726122)
+        (xy 47.751782 53.721218)
+        (xy 47.654466 53.646544)
+        (xy 47.645157 53.639401)
+        (xy 47.645156 53.6394)
+        (xy 47.640254 53.635639)
+        (xy 47.510376 53.581842)
+        (xy 47.371 53.563493)
+        (xy 47.231624 53.581842)
+        (xy 47.225916 53.584206)
+        (xy 47.225917 53.584206)
+        (xy 47.137649 53.620768)
+        (xy 47.101747 53.635639)
+        (xy 46.990218 53.721218)
+        (xy 46.986458 53.726118)
+        (xy 46.986454 53.726122)
+        (xy 46.945974 53.778876)
+        (xy 46.897969 53.811869)
+        (xy 46.871201 53.81575)
+        (xy 45.394879 53.81575)
+        (xy 45.390941 53.815461)
+        (xy 45.386441 53.813916)
+        (xy 45.377749 53.814242)
+        (xy 45.377747 53.814242)
+        (xy 45.33934 53.815684)
+        (xy 45.335805 53.81575)
+        (xy 45.317278 53.81575)
+        (xy 45.313069 53.816534)
+        (xy 45.308125 53.816856)
+        (xy 45.301229 53.817115)
+        (xy 45.279879 53.817916)
+        (xy 45.269795 53.822249)
+        (xy 45.249852 53.828307)
+        (xy 45.247619 53.828723)
+        (xy 45.239066 53.830316)
+        (xy 45.231661 53.834881)
+        (xy 45.231658 53.834882)
+        (xy 45.217468 53.843629)
+        (xy 45.205215 53.849994)
+        (xy 45.188019 53.857382)
+        (xy 45.188016 53.857384)
+        (xy 45.181903 53.86001)
+        (xy 45.177246 53.863835)
+        (xy 45.173084 53.867997)
+        (xy 45.155896 53.881583)
+        (xy 45.155698 53.881705)
+        (xy 45.155696 53.881707)
+        (xy 45.14829 53.886272)
+        (xy 45.143024 53.893197)
+        (xy 45.131465 53.908398)
+        (xy 45.123087 53.917994)
+        (xy 45.005675 54.035406)
+        (xy 44.953774 54.061851)
+        (xy 44.896241 54.052738)
+        (xy 44.855053 54.01155)
+        (xy 44.845587 53.981065)
+        (xy 44.843966 53.968755)
+        (xy 44.843964 53.968749)
+        (xy 44.843158 53.962624)
+        (xy 44.796955 53.85108)
+        (xy 44.791723 53.838449)
+        (xy 44.791722 53.838448)
+        (xy 44.789361 53.832747)
+        (xy 44.703782 53.721218)
+        (xy 44.643188 53.674722)
+        (xy 44.635435 53.668773)
+        (xy 44.602442 53.620768)
+        (xy 44.603967 53.562538)
+        (xy 44.635435 53.519227)
+        (xy 44.698879 53.470544)
+        (xy 44.703782 53.466782)
+        (xy 44.789361 53.355253)
+        (xy 44.807693 53.310997)
+        (xy 44.840794 53.231083)
+        (xy 44.843158 53.225376)
+        (xy 44.861507 53.086)
+        (xy 44.843158 52.946624)
+        (xy 44.810115 52.866851)
+        (xy 44.791723 52.822449)
+        (xy 44.791722 52.822448)
+        (xy 44.789361 52.816747)
+        (xy 44.703782 52.705218)
+        (xy 44.635435 52.652773)
+        (xy 44.602442 52.604768)
+        (xy 44.603967 52.546538)
+        (xy 44.635435 52.503227)
+        (xy 44.698879 52.454544)
+        (xy 44.703782 52.450782)
+        (xy 44.789361 52.339253)
+        (xy 44.809038 52.29175)
+        (xy 44.831037 52.238639)
+        (xy 44.843158 52.209376)
+        (xy 44.861507 52.07)
+        (xy 44.843158 51.930624)
+        (xy 44.789361 51.800747)
+        (xy 44.703782 51.689218)
+        (xy 44.635435 51.636773)
+        (xy 44.602442 51.588768)
+        (xy 44.603967 51.530538)
+        (xy 44.635435 51.487227)
+        (xy 44.686226 51.448253)
+        (xy 44.703782 51.434782)
+        (xy 44.789361 51.323253)
+        (xy 44.795994 51.307241)
+        (xy 44.840794 51.199083)
+        (xy 44.843158 51.193376)
+        (xy 44.861507 51.054)
+        (xy 44.843158 50.914624)
+        (xy 44.812807 50.84135)
+        (xy 44.791723 50.790449)
+        (xy 44.791722 50.790448)
+        (xy 44.789361 50.784747)
+        (xy 44.703782 50.673218)
+        (xy 44.624638 50.612488)
+        (xy 44.597157 50.591401)
+        (xy 44.597156 50.5914)
+        (xy 44.592254 50.587639)
+        (xy 44.462376 50.533842)
+        (xy 44.323 50.515493)
+        (xy 44.183624 50.533842)
+        (xy 44.177916 50.536206)
+        (xy 44.177917 50.536206)
+        (xy 44.079615 50.576924)
+        (xy 44.021545 50.581494)
+        (xy 43.971879 50.551059)
+        (xy 43.949588 50.497243)
+        (xy 43.951108 50.471461)
+        (xy 43.957097 50.441352)
+        (xy 43.957097 50.44135)
+        (xy 43.958 50.436812)
+        (xy 43.958 50.179188)
+        (xy 43.947497 50.126386)
+        (xy 43.947497 50.089612)
+        (xy 43.954223 50.055802)
+        (xy 43.958 50.036812)
+        (xy 43.958 49.779188)
+        (xy 43.947497 49.726386)
+        (xy 43.947497 49.689612)
+        (xy 43.947663 49.68878)
+        (xy 43.958 49.636812)
+        (xy 43.958 49.416359)
+        (xy 43.976 49.36096)
+        (xy 44.023125 49.326722)
+        (xy 44.081375 49.326722)
+        (xy 44.118895 49.349714)
+        (xy 47.513546 52.744365)
+        (xy 47.516124 52.747351)
+        (xy 47.518213 52.751625)
+        (xy 47.542849 52.774478)
+        (xy 47.552749 52.783662)
+        (xy 47.555296 52.786115)
+        (xy 47.568415 52.799234)
+        (xy 47.571954 52.801662)
+        (xy 47.575685 52.804938)
+        (xy 47.588415 52.816747)
+        (xy 47.596392 52.824147)
+        (xy 47.606587 52.828214)
+        (xy 47.624972 52.838032)
+        (xy 47.634019 52.844238)
+        (xy 47.642481 52.846246)
+        (xy 47.642483 52.846247)
+        (xy 47.658711 52.850098)
+        (xy 47.671872 52.85426)
+        (xy 47.695437 52.863662)
+        (xy 47.701434 52.86425)
+        (xy 47.707319 52.86425)
+        (xy 47.72908 52.866797)
+        (xy 47.737774 52.86886)
+        (xy 47.746393 52.867687)
+        (xy 47.746394 52.867687)
+        (xy 47.765321 52.865111)
+        (xy 47.778031 52.86425)
+        (xy 47.940935 52.86425)
+        (xy 47.996334 52.88225)
+        (xy 48.019163 52.905931)
+        (xy 48.107974 53.038096)
+        (xy 48.224943 53.144529)
+        (xy 48.253803 53.195125)
+        (xy 48.247411 53.253023)
+        (xy 48.236678 53.267475)
+        (xy 48.236774 53.267533)
+        (xy 48.222587 53.291238)
+        (xy 48.22288 53.294522)
+        (xy 48.224245 53.296541)
+        (xy 48.630445 53.702741)
+        (xy 48.641759 53.708506)
+        (xy 48.646549 53.707747)
+        (xy 49.053968 53.300328)
+        (xy 49.059733 53.289014)
+        (xy 49.059176 53.2855)
+        (xy 49.057965 53.28393)
+        (xy 49.056821 53.282911)
+        (xy 49.055705 53.281001)
+        (xy 49.052598 53.276974)
+        (xy 49.053118 53.276573)
+        (xy 49.027434 53.232617)
+        (xy 49.033221 53.174656)
+        (xy 49.058311 53.140874)
+        (xy 49.154987 53.058305)
+        (xy 49.154991 53.058301)
+        (xy 49.159311 53.054611)
+        (xy 49.258037 52.917219)
+        (xy 49.262575 52.905932)
+        (xy 49.306777 52.795974)
+        (xy 49.321141 52.760243)
+        (xy 49.321961 52.754488)
+        (xy 49.344545 52.595802)
+        (xy 49.344546 52.595793)
+        (xy 49.34498 52.592746)
+        (xy 49.345134 52.578)
+        (xy 49.340096 52.536361)
+        (xy 49.325492 52.415683)
+        (xy 49.325492 52.415682)
+        (xy 49.324809 52.41004)
+        (xy 49.265006 52.251778)
+        (xy 49.169179 52.112348)
+        (xy 49.164939 52.10857)
+        (xy 49.164937 52.108568)
+        (xy 49.093669 52.045071)
+        (xy 49.057207 52.012584)
+        (xy 49.027818 51.962292)
+        (xy 49.033604 51.904331)
+        (xy 49.058695 51.870546)
+        (xy 49.154987 51.788305)
+        (xy 49.154991 51.788301)
+        (xy 49.159311 51.784611)
+        (xy 49.258037 51.647219)
+        (xy 49.260397 51.64135)
+        (xy 49.319022 51.495514)
+        (xy 49.321141 51.490243)
+        (xy 49.321961 51.484488)
+        (xy 49.344545 51.325802)
+        (xy 49.344546 51.325793)
+        (xy 49.34498 51.322746)
+        (xy 49.345134 51.308)
+        (xy 49.343262 51.292525)
+        (xy 49.325492 51.145683)
+        (xy 49.325492 51.145682)
+        (xy 49.324809 51.14004)
+        (xy 49.265006 50.981778)
+        (xy 49.169179 50.842348)
+        (xy 49.164939 50.83857)
+        (xy 49.164937 50.838568)
+        (xy 49.047097 50.733577)
+        (xy 49.042859 50.729801)
+        (xy 48.893339 50.650634)
+        (xy 48.729251 50.609418)
+        (xy 48.723576 50.609388)
+        (xy 48.723574 50.609388)
+        (xy 48.64466 50.608975)
+        (xy 48.560069 50.608532)
+        (xy 48.554551 50.609857)
+        (xy 48.554549 50.609857)
+        (xy 48.401085 50.646701)
+        (xy 48.401083 50.646702)
+        (xy 48.395559 50.648028)
+        (xy 48.245218 50.725624)
+        (xy 48.240938 50.729358)
+        (xy 48.240936 50.729359)
+        (xy 48.122007 50.833107)
+        (xy 48.122006 50.833108)
+        (xy 48.117726 50.836842)
+        (xy 48.114461 50.841488)
+        (xy 48.114459 50.84149)
+        (xy 48.113856 50.842348)
+        (xy 48.020444 50.975261)
+        (xy 48.019948 50.974912)
+        (xy 47.980908 51.012353)
+        (xy 47.939884 51.02175)
+        (xy 47.160463 51.02175)
+        (xy 47.105064 51.00375)
+        (xy 47.093818 50.994145)
+        (xy 45.294282 49.194609)
+        (xy 45.267837 49.142708)
+        (xy 45.27695 49.085175)
+        (xy 45.318138 49.043987)
+        (xy 45.339497 49.037356)
+        (xy 45.339285 49.036563)
+        (xy 45.345251 49.034964)
+        (xy 45.351376 49.034158)
+        (xy 45.481254 48.980361)
+        (xy 45.488872 48.974516)
+        (xy 45.546497 48.930298)
+        (xy 45.592782 48.894782)
+        (xy 45.678361 48.783253)
+        (xy 45.684994 48.767241)
+        (xy 45.729794 48.659083)
+        (xy 45.732158 48.653376)
+        (xy 45.750507 48.514)
+        (xy 45.732158 48.374624)
+        (xy 45.70108 48.299596)
+        (xy 45.692681 48.279318)
+        (xy 45.688111 48.221248)
+        (xy 45.718547 48.171582)
+        (xy 45.772362 48.149291)
+        (xy 45.779757 48.149)
+        (xy 45.845812 48.149)
+        (xy 45.898614 48.138497)
+        (xy 45.935386 48.138497)
+      )
+    )
+  )
+  (zone (net 1) (net_name "GND") (layer "B.Cu") (tstamp 7c289ea3-a8eb-4bf9-bc4d-6cc10ec3f1c3) (hatch edge 0.508)
+    (connect_pads (clearance 0.1905))
+    (min_thickness 0.1905) (filled_areas_thickness no)
+    (fill yes (thermal_gap 0.1905) (thermal_bridge_width 0.1905))
+    (polygon
+      (pts
+        (xy 56.642 56.896)
+        (xy 32.258 56.896)
+        (xy 32.258 45.72)
+        (xy 56.642 45.72)
+      )
+    )
+    (filled_polygon
+      (layer "B.Cu")
+      (pts
+        (xy 56.412149 45.929)
+        (xy 56.446387 45.976125)
+        (xy 56.451 46.00525)
+        (xy 56.451 56.61075)
+        (xy 56.433 56.666149)
+        (xy 56.385875 56.700387)
+        (xy 56.35675 56.705)
+        (xy 53.290562 56.705)
+        (xy 53.235163 56.687)
+        (xy 53.200925 56.639875)
+        (xy 53.200925 56.581625)
+        (xy 53.235163 56.5345)
+        (xy 53.275819 56.51766)
+        (xy 53.352153 56.505571)
+        (xy 53.361083 56.501021)
+        (xy 53.462959 56.449113)
+        (xy 53.462962 56.449111)
+        (xy 53.469566 56.445746)
+        (xy 53.491382 56.42393)
+        (xy 53.543283 56.397485)
+        (xy 53.579794 56.3994)
+        (xy 53.581624 56.400158)
+        (xy 53.721 56.418507)
+        (xy 53.860376 56.400158)
+        (xy 53.990254 56.346361)
+        (xy 54.101782 56.260782)
+        (xy 54.187361 56.149253)
+        (xy 54.190616 56.141396)
+        (xy 54.238794 56.025083)
+        (xy 54.241158 56.019376)
+        (xy 54.259507 55.88)
+        (xy 54.241158 55.740624)
+        (xy 54.187361 55.610747)
+        (xy 54.101782 55.499218)
+        (xy 53.990254 55.413639)
+        (xy 53.860376 55.359842)
+        (xy 53.721 55.341493)
+        (xy 53.700636 55.344174)
+        (xy 53.617059 55.355177)
+        (xy 53.581624 55.359842)
+        (xy 53.580385 55.360355)
+        (xy 53.524255 55.357416)
+        (xy 53.491382 55.33607)
+        (xy 53.469566 55.314254)
+        (xy 53.462962 55.310889)
+        (xy 53.462959 55.310887)
+        (xy 53.358761 55.257796)
+        (xy 53.352153 55.254429)
+        (xy 53.344831 55.253269)
+        (xy 53.34483 55.253269)
+        (xy 53.258395 55.239579)
+        (xy 53.25839 55.239579)
+        (xy 53.254737 55.239)
+        (xy 52.997035 55.239)
+        (xy 52.739264 55.239001)
+        (xy 52.641847 55.254429)
+        (xy 52.635235 55.257798)
+        (xy 52.531041 55.310887)
+        (xy 52.531038 55.310889)
+        (xy 52.524434 55.314254)
+        (xy 52.431254 55.407434)
+        (xy 52.427889 55.414038)
+        (xy 52.427887 55.414041)
+        (xy 52.386404 55.495456)
+        (xy 52.371429 55.524847)
+        (xy 52.370269 55.532169)
+        (xy 52.370269 55.53217)
+        (xy 52.356921 55.616449)
+        (xy 52.356 55.622263)
+        (xy 52.356001 56.137736)
+        (xy 52.371429 56.235153)
+        (xy 52.374798 56.241765)
+        (xy 52.427887 56.345959)
+        (xy 52.427889 56.345962)
+        (xy 52.431254 56.352566)
+        (xy 52.524434 56.445746)
+        (xy 52.531038 56.449111)
+        (xy 52.531041 56.449113)
+        (xy 52.62657 56.497787)
+        (xy 52.641847 56.505571)
+        (xy 52.649169 56.506731)
+        (xy 52.64917 56.506731)
+        (xy 52.718175 56.51766)
+        (xy 52.770076 56.544105)
+        (xy 52.796521 56.596006)
+        (xy 52.787408 56.653538)
+        (xy 52.74622 56.694727)
+        (xy 52.703431 56.705)
+        (xy 51.687375 56.705)
+        (xy 51.631976 56.687)
+        (xy 51.597738 56.639875)
+        (xy 51.597738 56.581625)
+        (xy 51.631976 56.5345)
+        (xy 51.672631 56.51766)
+        (xy 51.744675 56.50625)
+        (xy 51.758604 56.501723)
+        (xy 51.862662 56.448703)
+        (xy 51.874512 56.440093)
+        (xy 51.957093 56.357512)
+        (xy 51.965703 56.345662)
+        (xy 52.018723 56.241604)
+        (xy 52.02325 56.227675)
+        (xy 52.036921 56.141358)
+        (xy 52.0375 56.133994)
+        (xy 52.0375 55.990177)
+        (xy 52.033576 55.9781)
+        (xy 52.029653 55.97525)
+        (xy 50.771427 55.97525)
+        (xy 50.75935 55.979174)
+        (xy 50.7565 55.983097)
+        (xy 50.7565 56.133994)
+        (xy 50.757079 56.141358)
+        (xy 50.77075 56.227675)
+        (xy 50.775277 56.241604)
+        (xy 50.828297 56.345662)
+        (xy 50.836907 56.357512)
+        (xy 50.919488 56.440093)
+        (xy 50.931338 56.448703)
+        (xy 51.035396 56.501723)
+        (xy 51.049325 56.50625)
+        (xy 51.121369 56.51766)
+        (xy 51.17327 56.544105)
+        (xy 51.199715 56.596006)
+        (xy 51.190603 56.653538)
+        (xy 51.149414 56.694727)
+        (xy 51.106625 56.705)
+        (xy 32.54325 56.705)
+        (xy 32.487851 56.687)
+        (xy 32.453613 56.639875)
+        (xy 32.449 56.61075)
+        (xy 32.449 55.735925)
+        (xy 33.055756 55.735925)
+        (xy 33.086727 55.864931)
+        (xy 33.090661 55.875508)
+        (xy 33.162101 56.013919)
+        (xy 33.168443 56.023252)
+        (xy 33.270837 56.140629)
+        (xy 33.27922 56.148177)
+        (xy 33.406655 56.23774)
+        (xy 33.416605 56.243075)
+        (xy 33.561723 56.299653)
+        (xy 33.572653 56.30246)
+        (xy 33.691438 56.318098)
+        (xy 33.697567 56.3185)
+        (xy 34.179823 56.3185)
+        (xy 34.1919 56.314576)
+        (xy 34.19475 56.310653)
+        (xy 34.19475 56.303573)
+        (xy 34.38525 56.303573)
+        (xy 34.389174 56.31565)
+        (xy 34.393097 56.3185)
+        (xy 34.879065 56.3185)
+        (xy 34.884728 56.318158)
+        (xy 35.000276 56.304176)
+        (xy 35.01123 56.301485)
+        (xy 35.156946 56.246424)
+        (xy 35.166933 56.241203)
+        (xy 35.295306 56.152974)
+        (xy 35.303769 56.145513)
+        (xy 35.407392 56.02921)
+        (xy 35.413825 56.019954)
+        (xy 35.486713 55.88229)
+        (xy 35.490755 55.87176)
+        (xy 35.524421 55.737729)
+        (xy 35.524298 55.735925)
+        (xy 37.235756 55.735925)
+        (xy 37.266727 55.864931)
+        (xy 37.270661 55.875508)
+        (xy 37.342101 56.013919)
+        (xy 37.348443 56.023252)
+        (xy 37.450837 56.140629)
+        (xy 37.45922 56.148177)
+        (xy 37.586655 56.23774)
+        (xy 37.596605 56.243075)
+        (xy 37.741723 56.299653)
+        (xy 37.752653 56.30246)
+        (xy 37.871438 56.318098)
+        (xy 37.877567 56.3185)
+        (xy 38.359823 56.3185)
+        (xy 38.3719 56.314576)
+        (xy 38.37475 56.310653)
+        (xy 38.37475 56.303573)
+        (xy 38.56525 56.303573)
+        (xy 38.569174 56.31565)
+        (xy 38.573097 56.3185)
+        (xy 39.059065 56.3185)
+        (xy 39.064728 56.318158)
+        (xy 39.180276 56.304176)
+        (xy 39.19123 56.301485)
+        (xy 39.336946 56.246424)
+        (xy 39.346933 56.241203)
+        (xy 39.475306 56.152974)
+        (xy 39.483769 56.145513)
+        (xy 39.587392 56.02921)
+        (xy 39.593825 56.019954)
+        (xy 39.666713 55.88229)
+        (xy 39.670755 55.87176)
+        (xy 39.704421 55.737729)
+        (xy 39.703607 55.725792)
+        (xy 39.69477 55.72325)
+        (xy 38.580177 55.72325)
+        (xy 38.5681 55.727174)
+        (xy 38.56525 55.731097)
+        (xy 38.56525 56.303573)
+        (xy 38.37475 56.303573)
+        (xy 38.37475 55.738177)
+        (xy 38.370826 55.7261)
+        (xy 38.366903 55.72325)
+        (xy 37.24764 55.72325)
+        (xy 37.236107 55.726997)
+        (xy 37.235756 55.735925)
+        (xy 35.524298 55.735925)
+        (xy 35.523607 55.725792)
+        (xy 35.51477 55.72325)
+        (xy 34.400177 55.72325)
+        (xy 34.3881 55.727174)
+        (xy 34.38525 55.731097)
+        (xy 34.38525 56.303573)
+        (xy 34.19475 56.303573)
+        (xy 34.19475 55.738177)
+        (xy 34.190826 55.7261)
+        (xy 34.186903 55.72325)
+        (xy 33.06764 55.72325)
+        (xy 33.056107 55.726997)
+        (xy 33.055756 55.735925)
+        (xy 32.449 55.735925)
+        (xy 32.449 55.518271)
+        (xy 33.055579 55.518271)
+        (xy 33.056393 55.530208)
+        (xy 33.06523 55.53275)
+        (xy 34.179823 55.53275)
+        (xy 34.1919 55.528826)
+        (xy 34.19475 55.524903)
+        (xy 34.19475 55.517823)
+        (xy 34.38525 55.517823)
+        (xy 34.389174 55.5299)
+        (xy 34.393097 55.53275)
+        (xy 35.51236 55.53275)
+        (xy 35.523893 55.529003)
+        (xy 35.524244 55.520075)
+        (xy 35.523811 55.518271)
+        (xy 37.235579 55.518271)
+        (xy 37.236393 55.530208)
+        (xy 37.24523 55.53275)
+        (xy 38.359823 55.53275)
+        (xy 38.3719 55.528826)
+        (xy 38.37475 55.524903)
+        (xy 38.37475 55.517823)
+        (xy 38.56525 55.517823)
+        (xy 38.569174 55.5299)
+        (xy 38.573097 55.53275)
+        (xy 39.69236 55.53275)
+        (xy 39.703893 55.529003)
+        (xy 39.704244 55.520075)
+        (xy 39.673273 55.391069)
+        (xy 39.669339 55.380492)
+        (xy 39.597899 55.242081)
+        (xy 39.591557 55.232748)
+        (xy 39.489163 55.115371)
+        (xy 39.48078 55.107823)
+        (xy 39.353345 55.01826)
+        (xy 39.343395 55.012925)
+        (xy 39.214218 54.962562)
+        (xy 39.169142 54.925668)
+        (xy 39.15436 54.869325)
+        (xy 39.175519 54.815054)
+        (xy 39.224537 54.783585)
+        (xy 39.248454 54.7805)
+        (xy 39.259823 54.7805)
+        (xy 39.2719 54.776576)
+        (xy 39.27475 54.772653)
+        (xy 39.27475 54.765573)
+        (xy 39.46525 54.765573)
+        (xy 39.469174 54.77765)
+        (xy 39.473097 54.7805)
+        (xy 39.623994 54.7805)
+        (xy 39.631358 54.779921)
+        (xy 39.717675 54.76625)
+        (xy 39.731604 54.761723)
+        (xy 39.835662 54.708703)
+        (xy 39.847512 54.700093)
+        (xy 39.930093 54.617512)
+        (xy 39.938703 54.605662)
+        (xy 39.991723 54.501604)
+        (xy 39.99625 54.487675)
+        (xy 40.009921 54.401358)
+        (xy 40.0105 54.393994)
+        (xy 40.0105 54.250177)
+        (xy 40.006576 54.2381)
+        (xy 40.002653 54.23525)
+        (xy 39.480177 54.23525)
+        (xy 39.4681 54.239174)
+        (xy 39.46525 54.243097)
+        (xy 39.46525 54.765573)
+        (xy 39.27475 54.765573)
+        (xy 39.27475 54.250177)
+        (xy 39.270826 54.2381)
+        (xy 39.266903 54.23525)
+        (xy 38.744427 54.23525)
+        (xy 38.73235 54.239174)
+        (xy 38.7295 54.243097)
+        (xy 38.7295 54.393994)
+        (xy 38.730079 54.401358)
+        (xy 38.74375 54.487675)
+        (xy 38.748277 54.501604)
+        (xy 38.801297 54.605662)
+        (xy 38.809907 54.617512)
+        (xy 38.892488 54.700093)
+        (xy 38.904338 54.708703)
+        (xy 39.003587 54.759273)
+        (xy 39.044776 54.800462)
+        (xy 39.053888 54.857994)
+        (xy 39.027442 54.909895)
+        (xy 38.975541 54.93634)
+        (xy 38.960798 54.9375)
+        (xy 38.580177 54.9375)
+        (xy 38.5681 54.941424)
+        (xy 38.56525 54.945347)
+        (xy 38.56525 55.517823)
+        (xy 38.37475 55.517823)
+        (xy 38.37475 54.952427)
+        (xy 38.370826 54.94035)
+        (xy 38.366903 54.9375)
+        (xy 37.880935 54.9375)
+        (xy 37.875272 54.937842)
+        (xy 37.759724 54.951824)
+        (xy 37.74877 54.954515)
+        (xy 37.603054 55.009576)
+        (xy 37.593067 55.014797)
+        (xy 37.464694 55.103026)
+        (xy 37.456231 55.110487)
+        (xy 37.352608 55.22679)
+        (xy 37.346175 55.236046)
+        (xy 37.273287 55.37371)
+        (xy 37.269245 55.38424)
+        (xy 37.235579 55.518271)
+        (xy 35.523811 55.518271)
+        (xy 35.493273 55.391069)
+        (xy 35.489339 55.380492)
+        (xy 35.417899 55.242081)
+        (xy 35.411557 55.232748)
+        (xy 35.309163 55.115371)
+        (xy 35.30078 55.107823)
+        (xy 35.173345 55.01826)
+        (xy 35.163395 55.012925)
+        (xy 35.018277 54.956347)
+        (xy 35.007347 54.95354)
+        (xy 34.888562 54.937902)
+        (xy 34.882433 54.9375)
+        (xy 34.400177 54.9375)
+        (xy 34.3881 54.941424)
+        (xy 34.38525 54.945347)
+        (xy 34.38525 55.517823)
+        (xy 34.19475 55.517823)
+        (xy 34.19475 54.952427)
+        (xy 34.190826 54.94035)
+        (xy 34.186903 54.9375)
+        (xy 33.700935 54.9375)
+        (xy 33.695272 54.937842)
+        (xy 33.579724 54.951824)
+        (xy 33.56877 54.954515)
+        (xy 33.423054 55.009576)
+        (xy 33.413067 55.014797)
+        (xy 33.284694 55.103026)
+        (xy 33.276231 55.110487)
+        (xy 33.172608 55.22679)
+        (xy 33.166175 55.236046)
+        (xy 33.093287 55.37371)
+        (xy 33.089245 55.38424)
+        (xy 33.055579 55.518271)
+        (xy 32.449 55.518271)
+        (xy 32.449 54.101994)
+        (xy 33.6115 54.101994)
+        (xy 33.612079 54.109358)
+        (xy 33.62575 54.195675)
+        (xy 33.630277 54.209604)
+        (xy 33.683297 54.313662)
+        (xy 33.691907 54.325512)
+        (xy 33.774488 54.408093)
+        (xy 33.786338 54.416703)
+        (xy 33.890396 54.469723)
+        (xy 33.904325 54.47425)
+        (xy 33.990642 54.487921)
+        (xy 33.998006 54.4885)
+        (xy 34.141823 54.4885)
+        (xy 34.1539 54.484576)
+        (xy 34.15675 54.480653)
+        (xy 34.15675 54.473571)
+        (xy 34.34725 54.473571)
+        (xy 34.351174 54.48565)
+        (xy 34.355097 54.4885)
+        (xy 34.505994 54.4885)
+        (xy 34.513358 54.487921)
+        (xy 34.599675 54.47425)
+        (xy 34.613604 54.469723)
+        (xy 34.717662 54.416703)
+        (xy 34.729512 54.408093)
+        (xy 34.812093 54.325512)
+        (xy 34.820703 54.313662)
+        (xy 34.873723 54.209604)
+        (xy 34.87825 54.195675)
+        (xy 34.891921 54.109358)
+        (xy 34.8925 54.101994)
+        (xy 34.8925 53.958177)
+        (xy 34.888576 53.9461)
+        (xy 34.884653 53.94325)
+        (xy 34.362177 53.94325)
+        (xy 34.3501 53.947174)
+        (xy 34.34725 53.951097)
+        (xy 34.34725 54.473571)
+        (xy 34.15675 54.473571)
+        (xy 34.15675 53.958177)
+        (xy 34.152826 53.9461)
+        (xy 34.148903 53.94325)
+        (xy 33.626427 53.94325)
+        (xy 33.61435 53.947174)
+        (xy 33.6115 53.951097)
+        (xy 33.6115 54.101994)
+        (xy 32.449 54.101994)
+        (xy 32.449 53.737823)
+        (xy 33.6115 53.737823)
+        (xy 33.615424 53.7499)
+        (xy 33.619347 53.75275)
+        (xy 34.141823 53.75275)
+        (xy 34.1539 53.748826)
+        (xy 34.15675 53.744903)
+        (xy 34.15675 53.737823)
+        (xy 34.34725 53.737823)
+        (xy 34.351174 53.7499)
+        (xy 34.355097 53.75275)
+        (xy 34.877573 53.75275)
+        (xy 34.88965 53.748826)
+        (xy 34.8925 53.744903)
+        (xy 34.8925 53.594006)
+        (xy 34.891921 53.586642)
+        (xy 34.87825 53.500325)
+        (xy 34.873723 53.486396)
+        (xy 34.820703 53.382338)
+        (xy 34.812093 53.370488)
+        (xy 34.729512 53.287907)
+        (xy 34.717662 53.279297)
+        (xy 34.613604 53.226277)
+        (xy 34.599675 53.22175)
+        (xy 34.513358 53.208079)
+        (xy 34.505994 53.2075)
+        (xy 34.362177 53.2075)
+        (xy 34.3501 53.211424)
+        (xy 34.34725 53.215347)
+        (xy 34.34725 53.737823)
+        (xy 34.15675 53.737823)
+        (xy 34.15675 53.222427)
+        (xy 34.152826 53.21035)
+        (xy 34.148903 53.2075)
+        (xy 33.998006 53.2075)
+        (xy 33.990642 53.208079)
+        (xy 33.904325 53.22175)
+        (xy 33.890396 53.226277)
+        (xy 33.786338 53.279297)
+        (xy 33.774488 53.287907)
+        (xy 33.691907 53.370488)
+        (xy 33.683297 53.382338)
+        (xy 33.630277 53.486396)
+        (xy 33.62575 53.500325)
+        (xy 33.612079 53.586642)
+        (xy 33.6115 53.594006)
+        (xy 33.6115 53.737823)
+        (xy 32.449 53.737823)
+        (xy 32.449 52.447952)
+        (xy 34.807 52.447952)
+        (xy 34.813539 52.497619)
+        (xy 34.816587 52.504155)
+        (xy 34.860444 52.598208)
+        (xy 34.86436 52.606607)
+        (xy 34.949393 52.69164)
+        (xy 34.956866 52.695125)
+        (xy 34.956868 52.695126)
+        (xy 34.991173 52.711122)
+        (xy 35.058381 52.742461)
+        (xy 35.108048 52.749)
+        (xy 35.4715 52.749)
+        (xy 35.526899 52.767)
+        (xy 35.561137 52.814125)
+        (xy 35.56575 52.84325)
+        (xy 35.56575 53.132785)
+        (xy 35.54775 53.188184)
+        (xy 35.501664 53.221666)
+        (xy 35.496847 53.222429)
+        (xy 35.49024 53.225795)
+        (xy 35.490238 53.225796)
+        (xy 35.386041 53.278887)
+        (xy 35.386038 53.278889)
+        (xy 35.379434 53.282254)
+        (xy 35.286254 53.375434)
+        (xy 35.282889 53.382038)
+        (xy 35.282887 53.382041)
+        (xy 35.244403 53.457571)
+        (xy 35.226429 53.492847)
+        (xy 35.225269 53.500169)
+        (xy 35.225269 53.50017)
+        (xy 35.21158 53.586604)
+        (xy 35.211 53.590263)
+        (xy 35.211001 54.105736)
+        (xy 35.226429 54.203153)
+        (xy 35.229798 54.209765)
+        (xy 35.282887 54.313959)
+        (xy 35.282889 54.313962)
+        (xy 35.286254 54.320566)
+        (xy 35.379434 54.413746)
+        (xy 35.386038 54.417111)
+        (xy 35.386041 54.417113)
+        (xy 35.476106 54.463003)
+        (xy 35.496847 54.473571)
+        (xy 35.504169 54.474731)
+        (xy 35.50417 54.474731)
+        (xy 35.590605 54.488421)
+        (xy 35.59061 54.488421)
+        (xy 35.594263 54.489)
+        (xy 35.851965 54.489)
+        (xy 36.109736 54.488999)
+        (xy 36.207153 54.473571)
+        (xy 36.219724 54.467166)
+        (xy 36.317959 54.417113)
+        (xy 36.317962 54.417111)
+        (xy 36.324566 54.413746)
+        (xy 36.417746 54.320566)
+        (xy 36.421111 54.313962)
+        (xy 36.421113 54.313959)
+        (xy 36.462955 54.231839)
+        (xy 37.432143 54.231839)
+        (xy 37.433414 54.238141)
+        (xy 37.459105 54.365551)
+        (xy 37.461057 54.375233)
+        (xy 37.527466 54.505569)
+        (xy 37.545343 54.52501)
+        (xy 37.622046 54.608424)
+        (xy 37.626479 54.613245)
+        (xy 37.63194 54.616631)
+        (xy 37.741397 54.684497)
+        (xy 37.750801 54.690328)
+        (xy 37.756971 54.692121)
+        (xy 37.756972 54.692121)
+        (xy 37.886529 54.729761)
+        (xy 37.886531 54.729761)
+        (xy 37.891273 54.731139)
+        (xy 37.896198 54.731501)
+        (xy 37.8962 54.731501)
+        (xy 37.898106 54.731641)
+        (xy 37.901636 54.7319)
+        (xy 38.006648 54.7319)
+        (xy 38.114926 54.717068)
+        (xy 38.249175 54.658973)
+        (xy 38.254165 54.654932)
+        (xy 38.254167 54.654931)
+        (xy 38.357861 54.570961)
+        (xy 38.357862 54.57096)
+        (xy 38.362856 54.566916)
+        (xy 38.366577 54.56168)
+        (xy 38.366579 54.561678)
+        (xy 38.419973 54.486544)
+        (xy 38.447593 54.447679)
+        (xy 38.497143 54.310048)
+        (xy 38.507857 54.164161)
+        (xy 38.494062 54.095748)
+        (xy 38.480769 54.029823)
+        (xy 38.7295 54.029823)
+        (xy 38.733424 54.0419)
+        (xy 38.737347 54.04475)
+        (xy 39.259823 54.04475)
+        (xy 39.2719 54.040826)
+        (xy 39.27475 54.036903)
+        (xy 39.27475 54.029823)
+        (xy 39.46525 54.029823)
+        (xy 39.469174 54.0419)
+        (xy 39.473097 54.04475)
+        (xy 39.995573 54.04475)
+        (xy 40.00765 54.040826)
+        (xy 40.0105 54.036903)
+        (xy 40.0105 53.886006)
+        (xy 40.009921 53.878642)
+        (xy 39.99625 53.792325)
+        (xy 39.991723 53.778396)
+        (xy 39.938703 53.674338)
+        (xy 39.930093 53.662488)
+        (xy 39.847512 53.579907)
+        (xy 39.835662 53.571297)
+        (xy 39.731604 53.518277)
+        (xy 39.717675 53.51375)
+        (xy 39.631358 53.500079)
+        (xy 39.623994 53.4995)
+        (xy 39.480177 53.4995)
+        (xy 39.4681 53.503424)
+        (xy 39.46525 53.507347)
+        (xy 39.46525 54.029823)
+        (xy 39.27475 54.029823)
+        (xy 39.27475 53.514427)
+        (xy 39.270826 53.50235)
+        (xy 39.266903 53.4995)
+        (xy 39.116006 53.4995)
+        (xy 39.108642 53.500079)
+        (xy 39.022325 53.51375)
+        (xy 39.008396 53.518277)
+        (xy 38.904338 53.571297)
+        (xy 38.892488 53.579907)
+        (xy 38.809907 53.662488)
+        (xy 38.801297 53.674338)
+        (xy 38.748277 53.778396)
+        (xy 38.74375 53.792325)
+        (xy 38.730079 53.878642)
+        (xy 38.7295 53.886006)
+        (xy 38.7295 54.029823)
+        (xy 38.480769 54.029823)
+        (xy 38.480214 54.027068)
+        (xy 38.480213 54.027065)
+        (xy 38.478943 54.020767)
+        (xy 38.412534 53.890431)
+        (xy 38.352403 53.825039)
+        (xy 38.31787 53.787484)
+        (xy 38.317868 53.787482)
+        (xy 38.313521 53.782755)
+        (xy 38.263154 53.751526)
+        (xy 38.194662 53.709059)
+        (xy 38.194661 53.709058)
+        (xy 38.189199 53.705672)
+        (xy 38.183029 53.703879)
+        (xy 38.183028 53.703879)
+        (xy 38.053471 53.666239)
+        (xy 38.053469 53.666239)
+        (xy 38.048727 53.664861)
+        (xy 38.043802 53.664499)
+        (xy 38.0438 53.664499)
+        (xy 38.041894 53.664359)
+        (xy 38.038364 53.6641)
+        (xy 37.933352 53.6641)
+        (xy 37.825074 53.678932)
+        (xy 37.690825 53.737027)
+        (xy 37.685835 53.741068)
+        (xy 37.685833 53.741069)
+        (xy 37.596408 53.813484)
+        (xy 37.577144 53.829084)
+        (xy 37.573423 53.83432)
+        (xy 37.573421 53.834322)
+        (xy 37.551056 53.865793)
+        (xy 37.492407 53.948321)
+        (xy 37.442857 54.085952)
+        (xy 37.432143 54.231839)
+        (xy 36.462955 54.231839)
+        (xy 36.474204 54.209761)
+        (xy 36.477571 54.203153)
+        (xy 36.478732 54.195825)
+        (xy 36.492421 54.109395)
+        (xy 36.492421 54.10939)
+        (xy 36.493 54.105737)
+        (xy 36.492999 53.590264)
+        (xy 36.477571 53.492847)
+        (xy 36.459597 53.457571)
+        (xy 36.421113 53.382041)
+        (xy 36.421111 53.382038)
+        (xy 36.417746 53.375434)
+        (xy 36.324566 53.282254)
+        (xy 36.317962 53.278889)
+        (xy 36.317959 53.278887)
+        (xy 36.213761 53.225796)
+        (xy 36.207153 53.222429)
+        (xy 36.202334 53.221666)
+        (xy 36.156248 53.18818)
+        (xy 36.13825 53.132784)
+        (xy 36.13825 52.84325)
+        (xy 36.15625 52.787851)
+        (xy 36.203375 52.753613)
+        (xy 36.2325 52.749)
+        (xy 36.362952 52.749)
+        (xy 36.412619 52.742461)
+        (xy 36.479827 52.711122)
+        (xy 36.492956 52.705)
+        (xy 37.561493 52.705)
+        (xy 37.579842 52.844376)
+        (xy 37.633639 52.974253)
+        (xy 37.719218 53.085782)
+        (xy 37.771772 53.126108)
+        (xy 37.82401 53.166192)
+        (xy 37.830746 53.171361)
+        (xy 37.960624 53.225158)
+        (xy 38.1 53.243507)
+        (xy 38.239376 53.225158)
+        (xy 38.369254 53.171361)
+        (xy 38.375991 53.166192)
+        (xy 38.428228 53.126108)
+        (xy 38.480782 53.085782)
+        (xy 38.566361 52.974253)
+        (xy 38.568723 52.968551)
+        (xy 38.568725 52.968548)
+        (xy 38.586045 52.926734)
+        (xy 38.623875 52.882441)
+        (xy 38.680515 52.868844)
+        (xy 38.734331 52.891135)
+        (xy 38.757095 52.920011)
+        (xy 38.804254 53.012566)
+        (xy 38.897434 53.105746)
+        (xy 38.904038 53.109111)
+        (xy 38.904041 53.109113)
+        (xy 38.988132 53.151959)
+        (xy 39.014847 53.165571)
+        (xy 39.022169 53.166731)
+        (xy 39.02217 53.166731)
+        (xy 39.108605 53.180421)
+        (xy 39.10861 53.180421)
+        (xy 39.112263 53.181)
+        (xy 39.369965 53.181)
+        (xy 39.627736 53.180999)
+        (xy 39.725153 53.165571)
+        (xy 39.751868 53.151959)
+        (xy 39.835959 53.109113)
+        (xy 39.835962 53.109111)
+        (xy 39.842566 53.105746)
+        (xy 39.935746 53.012566)
+        (xy 39.939111 53.005962)
+        (xy 39.939113 53.005959)
+        (xy 39.992204 52.901761)
+        (xy 39.995571 52.895153)
+        (xy 39.997252 52.884542)
+        (xy 40.010421 52.801395)
+        (xy 40.010421 52.80139)
+        (xy 40.011 52.797737)
+        (xy 40.010999 52.282264)
+        (xy 39.995571 52.184847)
+        (xy 39.984854 52.163814)
+        (xy 39.939113 52.074041)
+        (xy 39.939111 52.074038)
+        (xy 39.935746 52.067434)
+        (xy 39.842566 51.974254)
+        (xy 39.835962 51.970889)
+        (xy 39.835959 51.970887)
+        (xy 39.74043 51.922213)
+        (xy 39.725153 51.914429)
+        (xy 39.717831 51.913269)
+        (xy 39.71783 51.913269)
+        (xy 39.631395 51.899579)
+        (xy 39.63139 51.899579)
+        (xy 39.627737 51.899)
+        (xy 39.370035 51.899)
+        (xy 39.112264 51.899001)
+        (xy 39.014847 51.914429)
+        (xy 39.005917 51.918979)
+        (xy 38.904041 51.970887)
+        (xy 38.904038 51.970889)
+        (xy 38.897434 51.974254)
+        (xy 38.804254 52.067434)
+        (xy 38.800889 52.074038)
+        (xy 38.800887 52.074041)
+        (xy 38.751719 52.170539)
+        (xy 38.71053 52.211727)
+        (xy 38.667742 52.222)
+        (xy 38.347832 52.222)
+        (xy 38.311764 52.214826)
+        (xy 38.304283 52.211727)
+        (xy 38.239376 52.184842)
+        (xy 38.1 52.166493)
+        (xy 37.960624 52.184842)
+        (xy 37.830747 52.238639)
+        (xy 37.719218 52.324218)
+        (xy 37.633639 52.435747)
+        (xy 37.631278 52.441448)
+        (xy 37.631277 52.441449)
+        (xy 37.619352 52.470239)
+        (xy 37.579842 52.565624)
+        (xy 37.561493 52.705)
+        (xy 36.492956 52.705)
+        (xy 36.514132 52.695126)
+        (xy 36.514134 52.695125)
+        (xy 36.521607 52.69164)
+        (xy 36.60664 52.606607)
+        (xy 36.61034 52.598672)
+        (xy 36.610773 52.598208)
+        (xy 36.614854 52.592379)
+        (xy 36.615673 52.592952)
+        (xy 36.650063 52.55607)
+        (xy 36.695761 52.54425)
+        (xy 36.709271 52.54425)
+        (xy 36.713209 52.544539)
+        (xy 36.717709 52.546084)
+        (xy 36.726401 52.545758)
+        (xy 36.726403 52.545758)
+        (xy 36.76481 52.544316)
+        (xy 36.768345 52.54425)
+        (xy 36.786872 52.54425)
+        (xy 36.791081 52.543466)
+        (xy 36.796025 52.543144)
+        (xy 36.802921 52.542885)
+        (xy 36.824271 52.542084)
+        (xy 36.834355 52.537751)
+        (xy 36.854298 52.531693)
+        (xy 36.856531 52.531277)
+        (xy 36.865084 52.529684)
+        (xy 36.872489 52.525119)
+        (xy 36.872492 52.525118)
+        (xy 36.886682 52.516371)
+        (xy 36.898935 52.510006)
+        (xy 36.916131 52.502618)
+        (xy 36.916134 52.502616)
+        (xy 36.922247 52.49999)
+        (xy 36.926904 52.496165)
+        (xy 36.931066 52.492003)
+        (xy 36.948254 52.478417)
+        (xy 36.948452 52.478295)
+        (xy 36.948454 52.478293)
+        (xy 36.95586 52.473728)
+        (xy 36.972685 52.451602)
+        (xy 36.981063 52.442006)
+        (xy 37.801214 51.621855)
+        (xy 37.853115 51.59541)
+        (xy 37.867859 51.59425)
+        (xy 39.954021 51.59425)
+        (xy 39.957959 51.594539)
+        (xy 39.962459 51.596084)
+        (xy 39.971151 51.595758)
+        (xy 39.971153 51.595758)
+        (xy 40.00956 51.594316)
+        (xy 40.013095 51.59425)
+        (xy 40.031622 51.59425)
+        (xy 40.035831 51.593466)
+        (xy 40.040775 51.593144)
+        (xy 40.047671 51.592885)
+        (xy 40.069021 51.592084)
+        (xy 40.079105 51.587751)
+        (xy 40.099048 51.581693)
+        (xy 40.101281 51.581277)
+        (xy 40.109834 51.579684)
+        (xy 40.117239 51.575119)
+        (xy 40.117242 51.575118)
+        (xy 40.131432 51.566371)
+        (xy 40.143685 51.560006)
+        (xy 40.160881 51.552618)
+        (xy 40.160884 51.552616)
+        (xy 40.166997 51.54999)
+        (xy 40.171654 51.546165)
+        (xy 40.175816 51.542003)
+        (xy 40.193004 51.528417)
+        (xy 40.193202 51.528295)
+        (xy 40.193204 51.528293)
+        (xy 40.20061 51.523728)
+        (xy 40.217435 51.501602)
+        (xy 40.225813 51.492006)
+        (xy 41.022365 50.695454)
+        (xy 41.025351 50.692876)
+        (xy 41.029625 50.690787)
+        (xy 41.061662 50.656251)
+        (xy 41.064115 50.653704)
+        (xy 41.077234 50.640585)
+        (xy 41.079665 50.637042)
+        (xy 41.082936 50.633319)
+        (xy 41.096229 50.618989)
+        (xy 41.096231 50.618985)
+        (xy 41.102147 50.612608)
+        (xy 41.106212 50.60242)
+        (xy 41.116032 50.584029)
+        (xy 41.117316 50.582157)
+        (xy 41.122239 50.574981)
+        (xy 41.127632 50.552253)
+        (xy 41.128098 50.550291)
+        (xy 41.13226 50.53713)
+        (xy 41.139197 50.519742)
+        (xy 41.139197 50.519741)
+        (xy 41.141662 50.513563)
+        (xy 41.14225 50.507566)
+        (xy 41.14225 50.50168)
+        (xy 41.144795 50.479926)
+        (xy 41.14686 50.471225)
+        (xy 41.145002 50.457568)
+        (xy 41.143111 50.443678)
+        (xy 41.14225 50.430968)
+        (xy 41.14225 50.1645)
+        (xy 41.16025 50.109101)
+        (xy 41.207375 50.074863)
+        (xy 41.2365 50.07025)
+        (xy 45.158917 50.07025)
+        (xy 45.168117 50.0707)
+        (xy 45.175222 50.071397)
+        (xy 45.183583 50.073818)
+        (xy 45.220728 50.070601)
+        (xy 45.22886 50.07025)
+        (xy 46.9905 50.07025)
+        (xy 47.045899 50.08825)
+        (xy 47.080137 50.135375)
+        (xy 47.08475 50.1645)
+        (xy 47.08475 51.6895)
+        (xy 47.06675 51.744899)
+        (xy 47.019625 51.779137)
+        (xy 46.9905 51.78375)
+        (xy 46.869761 51.78375)
+        (xy 46.814362 51.76575)
+        (xy 46.789281 51.735322)
+        (xy 46.788854 51.735621)
+        (xy 46.785056 51.730197)
+        (xy 46.78434 51.729329)
+        (xy 46.78064 51.721393)
+        (xy 46.695607 51.63636)
+        (xy 46.688134 51.632875)
+        (xy 46.688132 51.632874)
+        (xy 46.625435 51.603639)
+        (xy 46.586619 51.585539)
+        (xy 46.536952 51.579)
+        (xy 46.157048 51.579)
+        (xy 46.107381 51.585539)
+        (xy 46.068565 51.603639)
+        (xy 46.005868 51.632874)
+        (xy 46.005866 51.632875)
+        (xy 45.998393 51.63636)
+        (xy 45.913645 51.721108)
+        (xy 45.861744 51.747553)
+        (xy 45.804211 51.73844)
+        (xy 45.780355 51.721108)
+        (xy 45.695607 51.63636)
+        (xy 45.688134 51.632875)
+        (xy 45.688132 51.632874)
+        (xy 45.625435 51.603639)
+        (xy 45.586619 51.585539)
+        (xy 45.536952 51.579)
+        (xy 45.157048 51.579)
+        (xy 45.107381 51.585539)
+        (xy 45.068565 51.603639)
+        (xy 45.005868 51.632874)
+        (xy 45.005866 51.632875)
+        (xy 44.998393 51.63636)
+        (xy 44.91336 51.721393)
+        (xy 44.90966 51.729328)
+        (xy 44.909227 51.729792)
+        (xy 44.905146 51.735621)
+        (xy 44.904327 51.735048)
+        (xy 44.869937 51.77193)
+        (xy 44.824239 51.78375)
+        (xy 44.822799 51.78375)
+        (xy 44.7674 51.76575)
+        (xy 44.748026 51.746876)
+        (xy 44.707547 51.694123)
+        (xy 44.707542 51.694118)
+        (xy 44.703782 51.689218)
+        (xy 44.635435 51.636773)
+        (xy 44.602442 51.588768)
+        (xy 44.603967 51.530538)
+        (xy 44.635435 51.487227)
+        (xy 44.686226 51.448253)
+        (xy 44.703782 51.434782)
+        (xy 44.789361 51.323253)
+        (xy 44.795994 51.307241)
+        (xy 44.840794 51.199083)
+        (xy 44.843158 51.193376)
+        (xy 44.861507 51.054)
+        (xy 44.843158 50.914624)
+        (xy 44.811802 50.838923)
+        (xy 44.791723 50.790449)
+        (xy 44.791722 50.790448)
+        (xy 44.789361 50.784747)
+        (xy 44.703782 50.673218)
+        (xy 44.623948 50.611959)
+        (xy 44.597157 50.591401)
+        (xy 44.597156 50.5914)
+        (xy 44.592254 50.587639)
+        (xy 44.462376 50.533842)
+        (xy 44.323 50.515493)
+        (xy 44.183624 50.533842)
+        (xy 44.148077 50.548566)
+        (xy 44.066982 50.582157)
+        (xy 44.053747 50.587639)
+        (xy 44.021207 50.612608)
+        (xy 43.952772 50.66512)
+        (xy 43.942218 50.673218)
+        (xy 43.938458 50.678118)
+        (xy 43.938454 50.678122)
+        (xy 43.897974 50.730876)
+        (xy 43.849969 50.763869)
+        (xy 43.823201 50.76775)
+        (xy 43.821761 50.76775)
+        (xy 43.766362 50.74975)
+        (xy 43.741281 50.719322)
+        (xy 43.740854 50.719621)
+        (xy 43.737056 50.714197)
+        (xy 43.73634 50.713329)
+        (xy 43.73264 50.705393)
+        (xy 43.647607 50.62036)
+        (xy 43.640134 50.616875)
+        (xy 43.640132 50.616874)
+        (xy 43.57237 50.585277)
+        (xy 43.538619 50.569539)
+        (xy 43.488952 50.563)
+        (xy 43.109048 50.563)
+        (xy 43.059381 50.569539)
+        (xy 43.02563 50.585277)
+        (xy 42.957868 50.616874)
+        (xy 42.957866 50.616875)
+        (xy 42.950393 50.62036)
+        (xy 42.865645 50.705108)
+        (xy 42.813744 50.731553)
+        (xy 42.756211 50.72244)
+        (xy 42.732355 50.705108)
+        (xy 42.647607 50.62036)
+        (xy 42.640134 50.616875)
+        (xy 42.640132 50.616874)
+        (xy 42.57237 50.585277)
+        (xy 42.538619 50.569539)
+        (xy 42.488952 50.563)
+        (xy 42.109048 50.563)
+        (xy 42.059381 50.569539)
+        (xy 42.02563 50.585277)
+        (xy 41.957868 50.616874)
+        (xy 41.957866 50.616875)
+        (xy 41.950393 50.62036)
+        (xy 41.86536 50.705393)
+        (xy 41.861876 50.712865)
+        (xy 41.861874 50.712868)
+        (xy 41.843685 50.751875)
+        (xy 41.814539 50.814381)
+        (xy 41.808 50.864048)
+        (xy 41.808 51.243952)
+        (xy 41.814539 51.293619)
+        (xy 41.826167 51.318555)
+        (xy 41.861444 51.394208)
+        (xy 41.86536 51.402607)
+        (xy 41.950393 51.48764)
+        (xy 41.951282 51.488055)
+        (xy 41.983881 51.531316)
+        (xy 41.984898 51.589557)
+        (xy 41.951149 51.636007)
+        (xy 41.950393 51.63636)
+        (xy 41.86536 51.721393)
+        (xy 41.861876 51.728865)
+        (xy 41.861874 51.728868)
+        (xy 41.835323 51.785809)
+        (xy 41.814539 51.830381)
+        (xy 41.808 51.880048)
+        (xy 41.808 52.259952)
+        (xy 41.814539 52.309619)
+        (xy 41.835031 52.353564)
+        (xy 41.861444 52.410208)
+        (xy 41.86536 52.418607)
+        (xy 41.950393 52.50364)
+        (xy 41.957868 52.507126)
+        (xy 41.95787 52.507127)
+        (xy 41.983526 52.51909)
+        (xy 42.026128 52.558815)
+        (xy 42.026549 52.559716)
+        (xy 42.027316 52.563834)
+        (xy 42.031882 52.57124)
+        (xy 42.031883 52.571244)
+        (xy 42.040629 52.585432)
+        (xy 42.046994 52.597685)
+        (xy 42.053333 52.612439)
+        (xy 42.05701 52.620997)
+        (xy 42.060835 52.625654)
+        (xy 42.064997 52.629816)
+        (xy 42.078583 52.647004)
+        (xy 42.078705 52.647202)
+        (xy 42.078707 52.647204)
+        (xy 42.083272 52.65461)
+        (xy 42.090197 52.659876)
+        (xy 42.105399 52.671436)
+        (xy 42.114995 52.679814)
+        (xy 42.306546 52.871364)
+        (xy 42.309124 52.874351)
+        (xy 42.311213 52.878625)
+        (xy 42.31759 52.88454)
+        (xy 42.317591 52.884542)
+        (xy 42.345762 52.910674)
+        (xy 42.348309 52.913127)
+        (xy 42.361416 52.926234)
+        (xy 42.36495 52.928658)
+        (xy 42.368662 52.931917)
+        (xy 42.377003 52.939654)
+        (xy 42.405375 52.990523)
+        (xy 42.398428 53.048357)
+        (xy 42.358814 53.091062)
+        (xy 42.312904 53.103)
+        (xy 42.109048 53.103)
+        (xy 42.059381 53.109539)
+        (xy 42.023848 53.126108)
+        (xy 41.957868 53.156874)
+        (xy 41.957866 53.156875)
+        (xy 41.950393 53.16036)
+        (xy 41.86536 53.245393)
+        (xy 41.861875 53.252866)
+        (xy 41.861874 53.252868)
+        (xy 41.839744 53.300328)
+        (xy 41.814539 53.354381)
+        (xy 41.808 53.404048)
+        (xy 41.808 53.603032)
+        (xy 41.79 53.658431)
+        (xy 41.742875 53.692669)
+        (xy 41.701449 53.696476)
+        (xy 41.662124 53.691299)
+        (xy 41.662122 53.691299)
+        (xy 41.656 53.690493)
+        (xy 41.516624 53.708842)
+        (xy 41.510916 53.711206)
+        (xy 41.510917 53.711206)
+        (xy 41.409069 53.753393)
+        (xy 41.386747 53.762639)
+        (xy 41.364944 53.779369)
+        (xy 41.305426 53.825039)
+        (xy 41.275218 53.848218)
+        (xy 41.189639 53.959747)
+        (xy 41.187278 53.965448)
+        (xy 41.187277 53.965449)
+        (xy 41.160073 54.031126)
+        (xy 41.135842 54.089624)
+        (xy 41.117493 54.229)
+        (xy 41.135842 54.368376)
+        (xy 41.138206 54.374083)
+        (xy 41.185566 54.488419)
+        (xy 41.189639 54.498253)
+        (xy 41.275218 54.609782)
+        (xy 41.290771 54.621716)
+        (xy 41.339325 54.658973)
+        (xy 41.386746 54.695361)
+        (xy 41.516624 54.749158)
+        (xy 41.656 54.767507)
+        (xy 41.795376 54.749158)
+        (xy 41.925254 54.695361)
+        (xy 41.972676 54.658973)
+        (xy 42.021229 54.621716)
+        (xy 42.036782 54.609782)
+        (xy 42.080541 54.552754)
+        (xy 42.128546 54.519761)
+        (xy 42.151779 54.515946)
+        (xy 42.165248 54.51544)
+        (xy 42.16856 54.515316)
+        (xy 42.172095 54.51525)
+        (xy 42.190622 54.51525)
+        (xy 42.194831 54.514466)
+        (xy 42.199775 54.514144)
+        (xy 42.206671 54.513885)
+        (xy 42.228021 54.513084)
+        (xy 42.238105 54.508751)
+        (xy 42.258048 54.502693)
+        (xy 42.260281 54.502277)
+        (xy 42.268834 54.500684)
+        (xy 42.276239 54.496119)
+        (xy 42.276242 54.496118)
+        (xy 42.290432 54.487371)
+        (xy 42.302685 54.481006)
+        (xy 42.319881 54.473618)
+        (xy 42.319884 54.473616)
+        (xy 42.325997 54.47099)
+        (xy 42.330654 54.467165)
+        (xy 42.334816 54.463003)
+        (xy 42.352004 54.449417)
+        (xy 42.352202 54.449295)
+        (xy 42.352204 54.449293)
+        (xy 42.35961 54.444728)
+        (xy 42.366179 54.43609)
+        (xy 42.376435 54.422602)
+        (xy 42.384813 54.413006)
+        (xy 42.465365 54.332454)
+        (xy 42.468351 54.329876)
+        (xy 42.472625 54.327787)
+        (xy 42.504662 54.293251)
+        (xy 42.507115 54.290704)
+        (xy 42.520234 54.277585)
+        (xy 42.522665 54.274042)
+        (xy 42.525936 54.270319)
+        (xy 42.539229 54.255989)
+        (xy 42.539231 54.255985)
+        (xy 42.545147 54.249608)
+        (xy 42.549212 54.23942)
+        (xy 42.559032 54.221029)
+        (xy 42.560316 54.219157)
+        (xy 42.565239 54.211981)
+        (xy 42.57002 54.191834)
+        (xy 42.571098 54.187291)
+        (xy 42.57526 54.17413)
+        (xy 42.582197 54.156742)
+        (xy 42.582197 54.156741)
+        (xy 42.584662 54.150563)
+        (xy 42.58525 54.144566)
+        (xy 42.58525 54.13868)
+        (xy 42.587795 54.116926)
+        (xy 42.58986 54.108225)
+        (xy 42.58967 54.106826)
+        (xy 42.60882 54.056411)
+        (xy 42.633967 54.036694)
+        (xy 42.633379 54.035854)
+        (xy 42.640132 54.031126)
+        (xy 42.647607 54.02764)
+        (xy 42.732355 53.942892)
+        (xy 42.784256 53.916447)
+        (xy 42.841789 53.92556)
+        (xy 42.865645 53.942892)
+        (xy 42.950393 54.02764)
+        (xy 42.957866 54.031125)
+        (xy 42.957868 54.031126)
+        (xy 42.980974 54.0419)
+        (xy 43.059381 54.078461)
+        (xy 43.109048 54.085)
+        (xy 43.488952 54.085)
+        (xy 43.538619 54.078461)
+        (xy 43.647607 54.02764)
+        (xy 43.648602 54.029775)
+        (xy 43.692702 54.016296)
+        (xy 43.747776 54.035265)
+        (xy 43.781183 54.082983)
+        (xy 43.784033 54.102061)
+        (xy 43.784493 54.102)
+        (xy 43.802842 54.241376)
+        (xy 43.856639 54.371253)
+        (xy 43.942218 54.482782)
+        (xy 43.983286 54.514295)
+        (xy 44.045037 54.561678)
+        (xy 44.053746 54.568361)
+        (xy 44.183624 54.622158)
+        (xy 44.323 54.640507)
+        (xy 44.462376 54.622158)
+        (xy 44.592254 54.568361)
+        (xy 44.600964 54.561678)
+        (xy 44.662714 54.514295)
+        (xy 44.703782 54.482782)
+        (xy 44.707543 54.477881)
+        (xy 44.707547 54.477877)
+        (xy 44.748026 54.425124)
+        (xy 44.796031 54.392131)
+        (xy 44.822799 54.38825)
+        (xy 44.824239 54.38825)
+        (xy 44.879638 54.40625)
+        (xy 44.904719 54.436678)
+        (xy 44.905146 54.436379)
+        (xy 44.908944 54.441803)
+        (xy 44.90966 54.442671)
+        (xy 44.91336 54.450607)
+        (xy 44.998393 54.53564)
+        (xy 45.005866 54.539125)
+        (xy 45.005868 54.539126)
+        (xy 45.054233 54.561678)
+        (xy 45.107381 54.586461)
+        (xy 45.157048 54.593)
+        (xy 45.536952 54.593)
+        (xy 45.586619 54.586461)
+        (xy 45.639767 54.561678)
+        (xy 45.688132 54.539126)
+        (xy 45.688134 54.539125)
+        (xy 45.695607 54.53564)
+        (xy 45.78064 54.450607)
+        (xy 45.78331 54.453277)
+        (xy 45.816125 54.42824)
+        (xy 45.874359 54.426877)
+        (xy 45.913986 54.450526)
+        (xy 45.992854 54.529394)
+        (xy 46.006157 54.538709)
+        (xy 46.100977 54.582924)
+        (xy 46.114661 54.586913)
+        (xy 46.154049 54.592098)
+        (xy 46.160178 54.5925)
+        (xy 46.236823 54.5925)
+        (xy 46.2489 54.588576)
+        (xy 46.25175 54.584653)
+        (xy 46.25175 53.6179)
+        (xy 46.249183 53.585287)
+        (xy 46.25175 53.56908)
+        (xy 46.25175 53.085)
+        (xy 46.26975 53.029601)
+        (xy 46.316875 52.995363)
+        (xy 46.346 52.99075)
+        (xy 46.822572 52.99075)
+        (xy 46.834649 52.986826)
+        (xy 46.837499 52.982903)
+        (xy 46.837499 52.89918)
+        (xy 46.837097 52.893046)
+        (xy 46.831913 52.853665)
+        (xy 46.827923 52.839974)
+        (xy 46.783709 52.745157)
+        (xy 46.774394 52.731854)
+        (xy 46.701146 52.658606)
+        (xy 46.696733 52.655516)
+        (xy 46.661676 52.608997)
+        (xy 46.660659 52.550756)
+        (xy 46.694523 52.504145)
+        (xy 46.695607 52.50364)
+        (xy 46.78064 52.418607)
+        (xy 46.78434 52.410672)
+        (xy 46.784773 52.410208)
+        (xy 46.788854 52.404379)
+        (xy 46.789673 52.404952)
+        (xy 46.824063 52.36807)
+        (xy 46.869761 52.35625)
+        (xy 46.9905 52.35625)
+        (xy 47.045899 52.37425)
+        (xy 47.080137 52.421375)
+        (xy 47.08475 52.4505)
+        (xy 47.08475 53.602201)
+        (xy 47.06675 53.6576)
+        (xy 47.047876 53.676974)
+        (xy 46.995122 53.717454)
+        (xy 46.995118 53.717458)
+        (xy 46.990218 53.721218)
+        (xy 46.986458 53.726118)
+        (xy 46.986454 53.726122)
+        (xy 46.944735 53.780491)
+        (xy 46.89673 53.813484)
+        (xy 46.8385 53.811959)
+        (xy 46.792288 53.776499)
+        (xy 46.784541 53.762944)
+        (xy 46.783706 53.761153)
+        (xy 46.774394 53.747854)
+        (xy 46.701147 53.674607)
+        (xy 46.696291 53.671207)
+        (xy 46.661234 53.624687)
+        (xy 46.660215 53.566447)
+        (xy 46.696291 53.516793)
+        (xy 46.701147 53.513393)
+        (xy 46.774394 53.440146)
+        (xy 46.783709 53.426843)
+        (xy 46.827924 53.332023)
+        (xy 46.831913 53.318339)
+        (xy 46.837098 53.278951)
+        (xy 46.8375 53.272822)
+        (xy 46.8375 53.196177)
+        (xy 46.833576 53.1841)
+        (xy 46.829653 53.18125)
+        (xy 46.457177 53.18125)
+        (xy 46.4451 53.185174)
+        (xy 46.44225 53.189097)
+        (xy 46.44225 53.5701)
+        (xy 46.444817 53.602713)
+        (xy 46.44225 53.61892)
+        (xy 46.44225 54.577572)
+        (xy 46.446174 54.589649)
+        (xy 46.450097 54.592499)
+        (xy 46.53382 54.592499)
+        (xy 46.539954 54.592097)
+        (xy 46.579335 54.586913)
+        (xy 46.593026 54.582923)
+        (xy 46.687843 54.538709)
+        (xy 46.701146 54.529394)
+        (xy 46.774394 54.456146)
+        (xy 46.783706 54.442847)
+        (xy 46.784541 54.441056)
+        (xy 46.786223 54.439253)
+        (xy 46.788437 54.43609)
+        (xy 46.788881 54.436401)
+        (xy 46.824266 54.398454)
+        (xy 46.881445 54.387337)
+        (xy 46.934238 54.411953)
+        (xy 46.944735 54.423509)
+        (xy 46.986453 54.477877)
+        (xy 46.986457 54.477881)
+        (xy 46.990218 54.482782)
+        (xy 47.031286 54.514295)
+        (xy 47.093037 54.561678)
+        (xy 47.101746 54.568361)
+        (xy 47.230554 54.621715)
+        (xy 47.230556 54.621716)
+        (xy 47.231624 54.622158)
+        (xy 47.231542 54.622356)
+        (xy 47.277631 54.652285)
+        (xy 47.298508 54.706665)
+        (xy 47.280638 54.766997)
+        (xy 47.280497 54.767191)
+        (xy 47.275254 54.772434)
+        (xy 47.215429 54.889847)
+        (xy 47.214269 54.897169)
+        (xy 47.214269 54.89717)
+        (xy 47.20058 54.983604)
+        (xy 47.2 54.987263)
+        (xy 47.200001 55.502736)
+        (xy 47.215429 55.600153)
+        (xy 47.218798 55.606765)
+        (xy 47.271887 55.710959)
+        (xy 47.271889 55.710962)
+        (xy 47.275254 55.717566)
+        (xy 47.368434 55.810746)
+        (xy 47.375038 55.814111)
+        (xy 47.375041 55.814113)
+        (xy 47.47057 55.862787)
+        (xy 47.485847 55.870571)
+        (xy 47.493169 55.871731)
+        (xy 47.49317 55.871731)
+        (xy 47.579605 55.885421)
+        (xy 47.57961 55.885421)
+        (xy 47.583263 55.886)
+        (xy 47.840965 55.886)
+        (xy 48.098736 55.885999)
+        (xy 48.196153 55.870571)
+        (xy 48.207222 55.864931)
+        (xy 48.306959 55.814113)
+        (xy 48.306962 55.814111)
+        (xy 48.313566 55.810746)
+        (xy 48.406746 55.717566)
+        (xy 48.410111 55.710962)
+        (xy 48.410113 55.710959)
+        (xy 48.463204 55.606761)
+        (xy 48.466571 55.600153)
+        (xy 48.467732 55.592825)
+        (xy 48.481421 55.506395)
+        (xy 48.481421 55.50639)
+        (xy 48.482 55.502737)
+        (xy 48.482 55.498994)
+        (xy 48.8005 55.498994)
+        (xy 48.801079 55.506358)
+        (xy 48.81475 55.592675)
+        (xy 48.819277 55.606604)
+        (xy 48.872297 55.710662)
+        (xy 48.880907 55.722512)
+        (xy 48.963488 55.805093)
+        (xy 48.975338 55.813703)
+        (xy 49.079396 55.866723)
+        (xy 49.093325 55.87125)
+        (xy 49.179642 55.884921)
+        (xy 49.187006 55.8855)
+        (xy 49.330823 55.8855)
+        (xy 49.3429 55.881576)
+        (xy 49.34575 55.877653)
+        (xy 49.34575 55.870571)
+        (xy 49.53625 55.870571)
+        (xy 49.540174 55.88265)
+        (xy 49.544097 55.8855)
+        (xy 49.694994 55.8855)
+        (xy 49.702358 55.884921)
+        (xy 49.788675 55.87125)
+        (xy 49.802604 55.866723)
+        (xy 49.906662 55.813703)
+        (xy 49.918512 55.805093)
+        (xy 49.953782 55.769823)
+        (xy 50.7565 55.769823)
+        (xy 50.760424 55.7819)
+        (xy 50.764347 55.78475)
+        (xy 51.286823 55.78475)
+        (xy 51.2989 55.780826)
+        (xy 51.30175 55.776903)
+        (xy 51.30175 55.769823)
+        (xy 51.49225 55.769823)
+        (xy 51.496174 55.7819)
+        (xy 51.500097 55.78475)
+        (xy 52.022573 55.78475)
+        (xy 52.03465 55.780826)
+        (xy 52.0375 55.776903)
+        (xy 52.0375 55.626006)
+        (xy 52.036921 55.618642)
+        (xy 52.02325 55.532325)
+        (xy 52.018723 55.518396)
+        (xy 51.965703 55.414338)
+        (xy 51.957093 55.402488)
+        (xy 51.874512 55.319907)
+        (xy 51.862662 55.311297)
+        (xy 51.758604 55.258277)
+        (xy 51.744675 55.25375)
+        (xy 51.658358 55.240079)
+        (xy 51.650994 55.2395)
+        (xy 51.507177 55.2395)
+        (xy 51.4951 55.243424)
+        (xy 51.49225 55.247347)
+        (xy 51.49225 55.769823)
+        (xy 51.30175 55.769823)
+        (xy 51.30175 55.254427)
+        (xy 51.297826 55.24235)
+        (xy 51.293903 55.2395)
+        (xy 51.143006 55.2395)
+        (xy 51.135642 55.240079)
+        (xy 51.049325 55.25375)
+        (xy 51.035396 55.258277)
+        (xy 50.931338 55.311297)
+        (xy 50.919488 55.319907)
+        (xy 50.836907 55.402488)
+        (xy 50.828297 55.414338)
+        (xy 50.775277 55.518396)
+        (xy 50.77075 55.532325)
+        (xy 50.757079 55.618642)
+        (xy 50.7565 55.626006)
+        (xy 50.7565 55.769823)
+        (xy 49.953782 55.769823)
+        (xy 50.001093 55.722512)
+        (xy 50.009703 55.710662)
+        (xy 50.062723 55.606604)
+        (xy 50.06725 55.592675)
+        (xy 50.080921 55.506358)
+        (xy 50.0815 55.498994)
+        (xy 50.0815 55.355177)
+        (xy 50.077576 55.3431)
+        (xy 50.073653 55.34025)
+        (xy 49.551177 55.34025)
+        (xy 49.5391 55.344174)
+        (xy 49.53625 55.348097)
+        (xy 49.53625 55.870571)
+        (xy 49.34575 55.870571)
+        (xy 49.34575 55.355177)
+        (xy 49.341826 55.3431)
+        (xy 49.337903 55.34025)
+        (xy 48.815427 55.34025)
+        (xy 48.80335 55.344174)
+        (xy 48.8005 55.348097)
+        (xy 48.8005 55.498994)
+        (xy 48.482 55.498994)
+        (xy 48.481999 55.134823)
+        (xy 48.8005 55.134823)
+        (xy 48.804424 55.1469)
+        (xy 48.808347 55.14975)
+        (xy 49.330823 55.14975)
+        (xy 49.3429 55.145826)
+        (xy 49.34575 55.141903)
+        (xy 49.34575 55.134823)
+        (xy 49.53625 55.134823)
+        (xy 49.540174 55.1469)
+        (xy 49.544097 55.14975)
+        (xy 50.066573 55.14975)
+        (xy 50.07865 55.145826)
+        (xy 50.0815 55.141903)
+        (xy 50.0815 54.991006)
+        (xy 50.080921 54.983642)
+        (xy 50.06725 54.897325)
+        (xy 50.062723 54.883396)
+        (xy 50.009703 54.779338)
+        (xy 50.001093 54.767488)
+        (xy 49.918512 54.684907)
+        (xy 49.906662 54.676297)
+        (xy 49.802604 54.623277)
+        (xy 49.788675 54.61875)
+        (xy 49.702358 54.605079)
+        (xy 49.694994 54.6045)
+        (xy 49.551177 54.6045)
+        (xy 49.5391 54.608424)
+        (xy 49.53625 54.612347)
+        (xy 49.53625 55.134823)
+        (xy 49.34575 55.134823)
+        (xy 49.34575 54.619427)
+        (xy 49.341826 54.60735)
+        (xy 49.337903 54.6045)
+        (xy 49.187006 54.6045)
+        (xy 49.179642 54.605079)
+        (xy 49.093325 54.61875)
+        (xy 49.079396 54.623277)
+        (xy 48.975338 54.676297)
+        (xy 48.963488 54.684907)
+        (xy 48.880907 54.767488)
+        (xy 48.872297 54.779338)
+        (xy 48.819277 54.883396)
+        (xy 48.81475 54.897325)
+        (xy 48.801079 54.983642)
+        (xy 48.8005 54.991006)
+        (xy 48.8005 55.134823)
+        (xy 48.481999 55.134823)
+        (xy 48.481999 54.987264)
+        (xy 48.466571 54.889847)
+        (xy 48.410264 54.779338)
+        (xy 48.410113 54.779041)
+        (xy 48.410111 54.779038)
+        (xy 48.406746 54.772434)
+        (xy 48.313566 54.679254)
+        (xy 48.306962 54.675889)
+        (xy 48.306959 54.675887)
+        (xy 48.235939 54.639701)
+        (xy 48.196153 54.619429)
+        (xy 48.190417 54.618521)
+        (xy 48.143952 54.584761)
+        (xy 48.12602 54.532906)
+        (xy 48.125723 54.52501)
+        (xy 48.141628 54.468973)
+        (xy 48.187433 54.432988)
+        (xy 48.245641 54.430799)
+        (xy 48.264878 54.438639)
+        (xy 48.376985 54.499508)
+        (xy 48.387469 54.50366)
+        (xy 48.540012 54.543679)
+        (xy 48.551187 54.545209)
+        (xy 48.708862 54.547686)
+        (xy 48.720093 54.546505)
+        (xy 48.873805 54.511301)
+        (xy 48.884424 54.507478)
+        (xy 49.025304 54.436623)
+        (xy 49.034706 54.430376)
+        (xy 49.052461 54.415212)
+        (xy 49.059097 54.404384)
+        (xy 49.05886 54.401363)
+        (xy 49.05725 54.398954)
+        (xy 48.507055 53.848759)
+        (xy 48.780494 53.848759)
+        (xy 48.781253 53.853549)
+        (xy 49.187285 54.259581)
+        (xy 49.198599 54.265346)
+        (xy 49.199498 54.265204)
+        (xy 49.204424 54.260974)
+        (xy 49.25428 54.191591)
+        (xy 49.259715 54.181705)
+        (xy 49.318535 54.035385)
+        (xy 49.321455 54.024488)
+        (xy 49.344041 53.865793)
+        (xy 49.344508 53.859647)
+        (xy 49.344598 53.85108)
+        (xy 49.34426 53.844939)
+        (xy 49.325002 53.685803)
+        (xy 49.322311 53.674848)
+        (xy 49.266565 53.52732)
+        (xy 49.261344 53.517333)
+        (xy 49.206673 53.437786)
+        (xy 49.196601 53.430057)
+        (xy 49.196222 53.430047)
+        (xy 49.18989 53.433814)
+        (xy 48.786259 53.837445)
+        (xy 48.780494 53.848759)
+        (xy 48.507055 53.848759)
+        (xy 48.094554 53.436258)
+        (xy 48.08324 53.430493)
+        (xy 48.082604 53.430594)
+        (xy 48.077368 53.435137)
+        (xy 48.024157 53.510848)
+        (xy 48.018823 53.520795)
+        (xy 47.961541 53.667718)
+        (xy 47.958734 53.678648)
+        (xy 47.953343 53.719598)
+        (xy 47.928265 53.772174)
+        (xy 47.877075 53.799968)
+        (xy 47.819323 53.792365)
+        (xy 47.785125 53.764671)
+        (xy 47.755545 53.726121)
+        (xy 47.755542 53.726118)
+        (xy 47.751782 53.721218)
+        (xy 47.746882 53.717458)
+        (xy 47.746878 53.717454)
+        (xy 47.694124 53.676974)
+        (xy 47.661131 53.628969)
+        (xy 47.65725 53.602201)
+        (xy 47.65725 52.570626)
+        (xy 47.936905 52.570626)
+        (xy 47.937528 52.57627)
+        (xy 47.937528 52.576273)
+        (xy 47.942316 52.619639)
+        (xy 47.95547 52.73879)
+        (xy 47.977042 52.797737)
+        (xy 48.011221 52.891135)
+        (xy 48.013612 52.89767)
+        (xy 48.107974 53.038096)
+        (xy 48.224943 53.144529)
+        (xy 48.253803 53.195125)
+        (xy 48.247411 53.253023)
+        (xy 48.236678 53.267475)
+        (xy 48.236774 53.267533)
+        (xy 48.222587 53.291238)
+        (xy 48.22288 53.294522)
+        (xy 48.224245 53.296541)
+        (xy 48.630445 53.702741)
+        (xy 48.641759 53.708506)
+        (xy 48.646549 53.707747)
+        (xy 49.053968 53.300328)
+        (xy 49.059733 53.289014)
+        (xy 49.059176 53.2855)
+        (xy 49.057968 53.283934)
+        (xy 49.056824 53.282915)
+        (xy 49.055707 53.281004)
+        (xy 49.052598 53.276974)
+        (xy 49.053118 53.276573)
+        (xy 49.027434 53.232623)
+        (xy 49.033218 53.174661)
+        (xy 49.058899 53.140374)
+        (xy 49.058949 53.140332)
+        (xy 49.112946 53.118483)
+        (xy 49.11957 53.11825)
+        (xy 49.538785 53.11825)
+        (xy 49.594184 53.13625)
+        (xy 49.627666 53.182336)
+        (xy 49.628429 53.187153)
+        (xy 49.631795 53.19376)
+        (xy 49.631796 53.193762)
+        (xy 49.684887 53.297959)
+        (xy 49.684889 53.297962)
+        (xy 49.688254 53.304566)
+        (xy 49.781434 53.397746)
+        (xy 49.788038 53.401111)
+        (xy 49.788041 53.401113)
+        (xy 49.88357 53.449787)
+        (xy 49.898847 53.457571)
+        (xy 49.906169 53.458731)
+        (xy 49.90617 53.458731)
+        (xy 49.992605 53.472421)
+        (xy 49.99261 53.472421)
+        (xy 49.996263 53.473)
+        (xy 50.253965 53.473)
+        (xy 50.511736 53.472999)
+        (xy 50.609153 53.457571)
+        (xy 50.618083 53.453021)
+        (xy 50.719959 53.401113)
+        (xy 50.719962 53.401111)
+        (xy 50.726566 53.397746)
+        (xy 50.819746 53.304566)
+        (xy 50.823111 53.297962)
+        (xy 50.823113 53.297959)
+        (xy 50.876202 53.193765)
+        (xy 50.879571 53.187153)
+        (xy 50.882668 53.167599)
+        (xy 50.894421 53.093395)
+        (xy 50.894421 53.09339)
+        (xy 50.895 53.089737)
+        (xy 50.894999 52.574264)
+        (xy 50.879571 52.476847)
+        (xy 50.863791 52.445877)
+        (xy 50.823113 52.366041)
+        (xy 50.823111 52.366038)
+        (xy 50.819746 52.359434)
+        (xy 50.726566 52.266254)
+        (xy 50.719962 52.262889)
+        (xy 50.719959 52.262887)
+        (xy 50.615761 52.209796)
+        (xy 50.609153 52.206429)
+        (xy 50.601831 52.205269)
+        (xy 50.60183 52.205269)
+        (xy 50.515395 52.191579)
+        (xy 50.51539 52.191579)
+        (xy 50.511737 52.191)
+        (xy 50.254035 52.191)
+        (xy 49.996264 52.191001)
+        (xy 49.898847 52.206429)
+        (xy 49.892235 52.209798)
+        (xy 49.788041 52.262887)
+        (xy 49.788038 52.262889)
+        (xy 49.781434 52.266254)
+        (xy 49.688254 52.359434)
+        (xy 49.684889 52.366038)
+        (xy 49.684887 52.366041)
+        (xy 49.644209 52.445877)
+        (xy 49.628429 52.476847)
+        (xy 49.627666 52.481666)
+        (xy 49.59418 52.527752)
+        (xy 49.538784 52.54575)
+        (xy 49.424763 52.54575)
+        (xy 49.369364 52.52775)
+        (xy 49.335126 52.480625)
+        (xy 49.331196 52.462822)
+        (xy 49.325492 52.415683)
+        (xy 49.325492 52.415682)
+        (xy 49.324809 52.41004)
+        (xy 49.265006 52.251778)
+        (xy 49.169179 52.112348)
+        (xy 49.164939 52.10857)
+        (xy 49.164937 52.108568)
+        (xy 49.102725 52.05314)
+        (xy 49.057207 52.012584)
+        (xy 49.027818 51.962292)
+        (xy 49.033604 51.904331)
+        (xy 49.058695 51.870546)
+        (xy 49.154987 51.788305)
+        (xy 49.154991 51.788301)
+        (xy 49.159311 51.784611)
+        (xy 49.258037 51.647219)
+        (xy 49.259798 51.642839)
+        (xy 49.301991 51.603219)
+        (xy 49.342118 51.59425)
+        (xy 49.538785 51.59425)
+        (xy 49.594184 51.61225)
+        (xy 49.627666 51.658336)
+        (xy 49.628429 51.663153)
+        (xy 49.631795 51.66976)
+        (xy 49.631796 51.669762)
+        (xy 49.684887 51.773959)
+        (xy 49.684889 51.773962)
+        (xy 49.688254 51.780566)
+        (xy 49.781434 51.873746)
+        (xy 49.788038 51.877111)
+        (xy 49.788041 51.877113)
+        (xy 49.867887 51.917796)
+        (xy 49.898847 51.933571)
+        (xy 49.906169 51.934731)
+        (xy 49.90617 51.934731)
+        (xy 49.992605 51.948421)
+        (xy 49.99261 51.948421)
+        (xy 49.996263 51.949)
+        (xy 50.253965 51.949)
+        (xy 50.511736 51.948999)
+        (xy 50.609153 51.933571)
+        (xy 50.640113 51.917796)
+        (xy 50.719959 51.877113)
+        (xy 50.719962 51.877111)
+        (xy 50.726566 51.873746)
+        (xy 50.819746 51.780566)
+        (xy 50.823111 51.773962)
+        (xy 50.823113 51.773959)
+        (xy 50.876202 51.669765)
+        (xy 50.879571 51.663153)
+        (xy 50.890245 51.595758)
+        (xy 50.894421 51.569395)
+        (xy 50.894421 51.56939)
+        (xy 50.895 51.565737)
+        (xy 50.894999 51.050264)
+        (xy 50.879571 50.952847)
+        (xy 50.863216 50.920748)
+        (xy 50.823113 50.842041)
+        (xy 50.823111 50.842038)
+        (xy 50.819746 50.835434)
+        (xy 50.726566 50.742254)
+        (xy 50.719962 50.738889)
+        (xy 50.719959 50.738887)
+        (xy 50.615761 50.685796)
+        (xy 50.609153 50.682429)
+        (xy 50.601831 50.681269)
+        (xy 50.60183 50.681269)
+        (xy 50.515395 50.667579)
+        (xy 50.51539 50.667579)
+        (xy 50.511737 50.667)
+        (xy 50.254035 50.667)
+        (xy 49.996264 50.667001)
+        (xy 49.898847 50.682429)
+        (xy 49.892235 50.685798)
+        (xy 49.788041 50.738887)
+        (xy 49.788038 50.738889)
+        (xy 49.781434 50.742254)
+        (xy 49.688254 50.835434)
+        (xy 49.684889 50.842038)
+        (xy 49.684887 50.842041)
+        (xy 49.644784 50.920748)
+        (xy 49.628429 50.952847)
+        (xy 49.627666 50.957666)
+        (xy 49.59418 51.003752)
+        (xy 49.538784 51.02175)
+        (xy 49.342066 51.02175)
+        (xy 49.286667 51.00375)
+        (xy 49.264392 50.980884)
+        (xy 49.201961 50.890047)
+        (xy 49.169179 50.842348)
+        (xy 49.164939 50.83857)
+        (xy 49.164937 50.838568)
+        (xy 49.047097 50.733577)
+        (xy 49.042859 50.729801)
+        (xy 48.893339 50.650634)
+        (xy 48.729251 50.609418)
+        (xy 48.723576 50.609388)
+        (xy 48.723574 50.609388)
+        (xy 48.64466 50.608975)
+        (xy 48.560069 50.608532)
+        (xy 48.554551 50.609857)
+        (xy 48.554549 50.609857)
+        (xy 48.401085 50.646701)
+        (xy 48.401083 50.646702)
+        (xy 48.395559 50.648028)
+        (xy 48.390506 50.650636)
+        (xy 48.325075 50.684407)
+        (xy 48.245218 50.725624)
+        (xy 48.240938 50.729358)
+        (xy 48.240936 50.729359)
+        (xy 48.122007 50.833107)
+        (xy 48.122005 50.833109)
+        (xy 48.117726 50.836842)
+        (xy 48.114461 50.841488)
+        (xy 48.114459 50.84149)
+        (xy 48.026343 50.966868)
+        (xy 48.020444 50.975261)
+        (xy 48.01838 50.980556)
+        (xy 48.018378 50.980559)
+        (xy 47.989745 51.054)
+        (xy 47.958988 51.132889)
+        (xy 47.958247 51.138521)
+        (xy 47.958246 51.138523)
+        (xy 47.957288 51.145803)
+        (xy 47.936905 51.300626)
+        (xy 47.937528 51.30627)
+        (xy 47.937528 51.306273)
+        (xy 47.94535 51.377124)
+        (xy 47.95547 51.46879)
+        (xy 47.980966 51.538461)
+        (xy 48.001094 51.593462)
+        (xy 48.013612 51.62767)
+        (xy 48.107974 51.768096)
+        (xy 48.222607 51.872404)
+        (xy 48.224569 51.874189)
+        (xy 48.25343 51.924786)
+        (xy 48.247038 51.982684)
+        (xy 48.223096 52.014922)
+        (xy 48.122007 52.103107)
+        (xy 48.122005 52.103109)
+        (xy 48.117726 52.106842)
+        (xy 48.114461 52.111488)
+        (xy 48.114459 52.11149)
+        (xy 48.045368 52.209798)
+        (xy 48.020444 52.245261)
+        (xy 48.01838 52.250556)
+        (xy 48.018378 52.250559)
+        (xy 48.015742 52.25732)
+        (xy 47.958988 52.402889)
+        (xy 47.958247 52.408521)
+        (xy 47.958246 52.408523)
+        (xy 47.953244 52.446518)
+        (xy 47.936905 52.570626)
+        (xy 47.65725 52.570626)
+        (xy 47.65725 52.123083)
+        (xy 47.6577 52.113883)
+        (xy 47.658397 52.106778)
+        (xy 47.660818 52.098417)
+        (xy 47.657601 52.061272)
+        (xy 47.65725 52.05314)
+        (xy 47.65725 50.1645)
+        (xy 47.67525 50.109101)
+        (xy 47.722375 50.074863)
+        (xy 47.7515 50.07025)
+        (xy 48.590021 50.07025)
+        (xy 48.593959 50.070539)
+        (xy 48.598459 50.072084)
+        (xy 48.607151 50.071758)
+        (xy 48.607153 50.071758)
+        (xy 48.64556 50.070316)
+        (xy 48.649095 50.07025)
+        (xy 48.667622 50.07025)
+        (xy 48.671831 50.069466)
+        (xy 48.676775 50.069144)
+        (xy 48.683671 50.068885)
+        (xy 48.705021 50.068084)
+        (xy 48.715105 50.063751)
+        (xy 48.735048 50.057693)
+        (xy 48.737281 50.057277)
+        (xy 48.745834 50.055684)
+        (xy 48.753239 50.051119)
+        (xy 48.753242 50.051118)
+        (xy 48.767432 50.042371)
+        (xy 48.779685 50.036006)
+        (xy 48.796881 50.028618)
+        (xy 48.796884 50.028616)
+        (xy 48.802997 50.02599)
+        (xy 48.807654 50.022165)
+        (xy 48.811816 50.018003)
+        (xy 48.829004 50.004417)
+        (xy 48.829202 50.004295)
+        (xy 48.829204 50.004293)
+        (xy 48.83661 49.999728)
+        (xy 48.853435 49.977602)
+        (xy 48.861813 49.968006)
+        (xy 48.870999 49.95882)
+        (xy 48.9229 49.932375)
+        (xy 48.949946 49.932021)
+        (xy 49.015878 49.940701)
+        (xy 49.022 49.941507)
+        (xy 49.161376 49.923158)
+        (xy 49.291254 49.869361)
+        (xy 49.298799 49.863572)
+        (xy 49.397878 49.787545)
+        (xy 49.402782 49.783782)
+        (xy 49.445105 49.728625)
+        (xy 49.49311 49.695631)
+        (xy 49.519879 49.69175)
+        (xy 49.97137 49.69175)
+        (xy 50.026769 49.70975)
+        (xy 50.055972 49.744461)
+        (xy 50.101193 49.836564)
+        (xy 50.106701 49.842063)
+        (xy 50.106703 49.842065)
+        (xy 50.180438 49.915671)
+        (xy 50.185954 49.921177)
+        (xy 50.192951 49.924597)
+        (xy 50.192954 49.924599)
+        (xy 50.286981 49.970561)
+        (xy 50.286984 49.970562)
+        (xy 50.293553 49.973773)
+        (xy 50.300789 49.974829)
+        (xy 50.30079 49.974829)
+        (xy 50.319799 49.977602)
+        (xy 50.363655 49.984)
+        (xy 50.565671 49.984)
+        (xy 50.769344 49.983999)
+        (xy 50.840057 49.973591)
+        (xy 50.846631 49.970363)
+        (xy 50.846635 49.970362)
+        (xy 50.940574 49.924239)
+        (xy 50.947564 49.920807)
+        (xy 50.953066 49.915296)
+        (xy 50.953068 49.915294)
+        (xy 50.987301 49.881001)
+        (xy 51.039178 49.85451)
+        (xy 51.096719 49.863572)
+        (xy 51.120589 49.880883)
+        (xy 51.160954 49.921177)
+        (xy 51.202393 49.941433)
+        (xy 51.244256 49.98193)
+        (xy 51.25525 50.026106)
+        (xy 51.25525 50.220521)
+        (xy 51.254961 50.224459)
+        (xy 51.253416 50.228959)
+        (xy 51.253742 50.237651)
+        (xy 51.253742 50.237653)
+        (xy 51.255184 50.27606)
+        (xy 51.25525 50.279595)
+        (xy 51.25525 50.298122)
+        (xy 51.256034 50.302331)
+        (xy 51.256355 50.307253)
+        (xy 51.257416 50.335521)
+        (xy 51.261749 50.345605)
+        (xy 51.267807 50.365548)
+        (xy 51.269816 50.376334)
+        (xy 51.274381 50.383739)
+        (xy 51.274382 50.383742)
+        (xy 51.283129 50.397932)
+        (xy 51.289494 50.410185)
+        (xy 51.296856 50.42732)
+        (xy 51.29951 50.433497)
+        (xy 51.303335 50.438154)
+        (xy 51.307497 50.442316)
+        (xy 51.321083 50.459504)
+        (xy 51.321205 50.459702)
+        (xy 51.321207 50.459704)
+        (xy 51.325772 50.46711)
+        (xy 51.332697 50.472376)
+        (xy 51.347898 50.483935)
+        (xy 51.357494 50.492313)
+        (xy 51.439422 50.574241)
+        (xy 51.465867 50.626142)
+        (xy 51.456754 50.683675)
+        (xy 51.415565 50.724863)
+        (xy 51.388043 50.738886)
+        (xy 51.388042 50.738887)
+        (xy 51.381434 50.742254)
+        (xy 51.288254 50.835434)
+        (xy 51.284889 50.842038)
+        (xy 51.284887 50.842041)
+        (xy 51.244784 50.920748)
+        (xy 51.228429 50.952847)
+        (xy 51.227269 50.960169)
+        (xy 51.227269 50.96017)
+        (xy 51.21358 51.046604)
+        (xy 51.213 51.050263)
+        (xy 51.213001 51.565736)
+        (xy 51.228429 51.663153)
+        (xy 51.231798 51.669765)
+        (xy 51.284887 51.773959)
+        (xy 51.284889 51.773962)
+        (xy 51.288254 51.780566)
+        (xy 51.381434 51.873746)
+        (xy 51.388038 51.877111)
+        (xy 51.388041 51.877113)
+        (xy 51.467887 51.917796)
+        (xy 51.498847 51.933571)
+        (xy 51.503666 51.934334)
+        (xy 51.549752 51.96782)
+        (xy 51.56775 52.023216)
+        (xy 51.56775 52.116785)
+        (xy 51.54975 52.172184)
+        (xy 51.503664 52.205666)
+        (xy 51.498847 52.206429)
+        (xy 51.49224 52.209795)
+        (xy 51.492238 52.209796)
+        (xy 51.388041 52.262887)
+        (xy 51.388038 52.262889)
+        (xy 51.381434 52.266254)
+        (xy 51.288254 52.359434)
+        (xy 51.284889 52.366038)
+        (xy 51.284887 52.366041)
+        (xy 51.244209 52.445877)
+        (xy 51.228429 52.476847)
+        (xy 51.227269 52.484169)
+        (xy 51.227269 52.48417)
+        (xy 51.21358 52.570604)
+        (xy 51.213 52.574263)
+        (xy 51.213001 53.089736)
+        (xy 51.228429 53.187153)
+        (xy 51.231798 53.193765)
+        (xy 51.284887 53.297959)
+        (xy 51.284889 53.297962)
+        (xy 51.288254 53.304566)
+        (xy 51.381434 53.397746)
+        (xy 51.388038 53.401111)
+        (xy 51.388041 53.401113)
+        (xy 51.48357 53.449787)
+        (xy 51.498847 53.457571)
+        (xy 51.506169 53.458731)
+        (xy 51.50617 53.458731)
+        (xy 51.592605 53.472421)
+        (xy 51.59261 53.472421)
+        (xy 51.596263 53.473)
+        (xy 51.853965 53.473)
+        (xy 52.111736 53.472999)
+        (xy 52.209153 53.457571)
+        (xy 52.218083 53.453021)
+        (xy 52.319959 53.401113)
+        (xy 52.319962 53.401111)
+        (xy 52.326566 53.397746)
+        (xy 52.419746 53.304566)
+        (xy 52.423111 53.297962)
+        (xy 52.423113 53.297959)
+        (xy 52.476202 53.193765)
+        (xy 52.479571 53.187153)
+        (xy 52.482668 53.167599)
+        (xy 52.494421 53.093395)
+        (xy 52.494421 53.09339)
+        (xy 52.495 53.089737)
+        (xy 52.494999 52.574264)
+        (xy 52.479571 52.476847)
+        (xy 52.463791 52.445877)
+        (xy 52.423113 52.366041)
+        (xy 52.423111 52.366038)
+        (xy 52.419746 52.359434)
+        (xy 52.326566 52.266254)
+        (xy 52.319962 52.262889)
+        (xy 52.319959 52.262887)
+        (xy 52.215761 52.209796)
+        (xy 52.209153 52.206429)
+        (xy 52.204334 52.205666)
+        (xy 52.158248 52.17218)
+        (xy 52.14025 52.116784)
+        (xy 52.14025 52.023215)
+        (xy 52.15825 51.967816)
+        (xy 52.204336 51.934334)
+        (xy 52.209153 51.933571)
+        (xy 52.21576 51.930205)
+        (xy 52.215762 51.930204)
+        (xy 52.319959 51.877113)
+        (xy 52.319962 51.877111)
+        (xy 52.326566 51.873746)
+        (xy 52.419746 51.780566)
+        (xy 52.423111 51.773962)
+        (xy 52.423113 51.773959)
+        (xy 52.476202 51.669765)
+        (xy 52.479571 51.663153)
+        (xy 52.490245 51.595758)
+        (xy 52.494421 51.569395)
+        (xy 52.494421 51.56939)
+        (xy 52.495 51.565737)
+        (xy 52.494999 51.050264)
+        (xy 52.479571 50.952847)
+        (xy 52.463216 50.920748)
+        (xy 52.423113 50.842041)
+        (xy 52.423111 50.842038)
+        (xy 52.419746 50.835434)
+        (xy 52.326566 50.742254)
+        (xy 52.319962 50.738889)
+        (xy 52.319959 50.738887)
+        (xy 52.215763 50.685797)
+        (xy 52.209153 50.682429)
+        (xy 52.204788 50.681738)
+        (xy 52.158891 50.648392)
+        (xy 52.140957 50.596526)
+        (xy 52.140316 50.579438)
+        (xy 52.14025 50.575905)
+        (xy 52.14025 50.557378)
+        (xy 52.139466 50.553169)
+        (xy 52.139144 50.548225)
+        (xy 52.138885 50.541329)
+        (xy 52.138084 50.519979)
+        (xy 52.133751 50.509895)
+        (xy 52.127693 50.489952)
+        (xy 52.127277 50.487719)
+        (xy 52.125684 50.479166)
+        (xy 52.121119 50.471761)
+        (xy 52.121118 50.471758)
+        (xy 52.112371 50.457568)
+        (xy 52.106006 50.445315)
+        (xy 52.098618 50.428119)
+        (xy 52.098616 50.428116)
+        (xy 52.09599 50.422003)
+        (xy 52.092165 50.417346)
+        (xy 52.088003 50.413184)
+        (xy 52.074417 50.395996)
+        (xy 52.074295 50.395798)
+        (xy 52.074293 50.395796)
+        (xy 52.069728 50.38839)
+        (xy 52.061107 50.381834)
+        (xy 52.047602 50.371565)
+        (xy 52.038006 50.363187)
+        (xy 51.855355 50.180536)
+        (xy 51.82891 50.128635)
+        (xy 51.82775 50.113891)
+        (xy 51.82775 50.030626)
+        (xy 53.135905 50.030626)
+        (xy 53.136528 50.03627)
+        (xy 53.136528 50.036273)
+        (xy 53.144568 50.109101)
+        (xy 53.15447 50.19879)
+        (xy 53.180364 50.269548)
+        (xy 53.205572 50.338431)
+        (xy 53.212612 50.35767)
+        (xy 53.306974 50.498096)
+        (xy 53.423942 50.604528)
+        (xy 53.427485 50.607752)
+        (xy 53.456346 50.658349)
+        (xy 53.449954 50.716247)
+        (xy 53.426011 50.748485)
+        (xy 53.329011 50.833103)
+        (xy 53.329007 50.833108)
+        (xy 53.324726 50.836842)
+        (xy 53.321461 50.841488)
+        (xy 53.321459 50.84149)
+        (xy 53.233343 50.966868)
+        (xy 53.227444 50.975261)
+        (xy 53.22538 50.980556)
+        (xy 53.225378 50.980559)
+        (xy 53.196745 51.054)
+        (xy 53.165988 51.132889)
+        (xy 53.165247 51.138521)
+        (xy 53.165246 51.138523)
+        (xy 53.164288 51.145803)
+        (xy 53.143905 51.300626)
+        (xy 53.144528 51.30627)
+        (xy 53.144528 51.306273)
+        (xy 53.15235 51.377124)
+        (xy 53.16247 51.46879)
+        (xy 53.187966 51.538461)
+        (xy 53.208094 51.593462)
+        (xy 53.220612 51.62767)
+        (xy 53.314974 51.768096)
+        (xy 53.429607 51.872404)
+        (xy 53.431569 51.874189)
+        (xy 53.46043 51.924786)
+        (xy 53.454038 51.982684)
+        (xy 53.430096 52.014922)
+        (xy 53.329007 52.103107)
+        (xy 53.329005 52.103109)
+        (xy 53.324726 52.106842)
+        (xy 53.321461 52.111488)
+        (xy 53.321459 52.11149)
+        (xy 53.252368 52.209798)
+        (xy 53.227444 52.245261)
+        (xy 53.22538 52.250556)
+        (xy 53.225378 52.250559)
+        (xy 53.222742 52.25732)
+        (xy 53.165988 52.402889)
+        (xy 53.165247 52.408521)
+        (xy 53.165246 52.408523)
+        (xy 53.160244 52.446518)
+        (xy 53.143905 52.570626)
+        (xy 53.144528 52.57627)
+        (xy 53.144528 52.576273)
+        (xy 53.149316 52.619639)
+        (xy 53.16247 52.73879)
+        (xy 53.184042 52.797737)
+        (xy 53.218221 52.891135)
+        (xy 53.220612 52.89767)
+        (xy 53.314974 53.038096)
+        (xy 53.429608 53.142405)
+        (xy 53.431569 53.144189)
+        (xy 53.46043 53.194786)
+        (xy 53.454038 53.252684)
+        (xy 53.430096 53.284922)
+        (xy 53.329007 53.373107)
+        (xy 53.329006 53.373108)
+        (xy 53.324726 53.376842)
+        (xy 53.321461 53.381488)
+        (xy 53.321459 53.38149)
+        (xy 53.236518 53.50235)
+        (xy 53.227444 53.515261)
+        (xy 53.22538 53.520556)
+        (xy 53.225378 53.520559)
+        (xy 53.196745 53.594)
+        (xy 53.165988 53.672889)
+        (xy 53.165247 53.678521)
+        (xy 53.165246 53.678523)
+        (xy 53.164288 53.685803)
+        (xy 53.143905 53.840626)
+        (xy 53.144528 53.84627)
+        (xy 53.144528 53.846273)
+        (xy 53.153282 53.92556)
+        (xy 53.16247 54.00879)
+        (xy 53.172758 54.036903)
+        (xy 53.217022 54.157859)
+        (xy 53.220612 54.16767)
+        (xy 53.314974 54.308096)
+        (xy 53.329603 54.321407)
+        (xy 53.434332 54.416703)
+        (xy 53.440108 54.421959)
+        (xy 53.588791 54.502687)
+        (xy 53.752438 54.545619)
+        (xy 53.829025 54.546822)
+        (xy 53.915916 54.548188)
+        (xy 53.915919 54.548188)
+        (xy 53.921602 54.548277)
+        (xy 53.927142 54.547008)
+        (xy 53.927144 54.547008)
+        (xy 54.02319 54.52501)
+        (xy 54.086517 54.510506)
+        (xy 54.237662 54.434488)
+        (xy 54.242477 54.430376)
+        (xy 54.361991 54.328301)
+        (xy 54.361993 54.328299)
+        (xy 54.366311 54.324611)
+        (xy 54.372434 54.316091)
+        (xy 54.405908 54.269506)
+        (xy 54.452852 54.235021)
+        (xy 54.511101 54.234715)
+        (xy 54.560675 54.271936)
+        (xy 54.581802 54.303376)
+        (xy 54.584974 54.308096)
+        (xy 54.599603 54.321407)
+        (xy 54.704332 54.416703)
+        (xy 54.710108 54.421959)
+        (xy 54.858791 54.502687)
+        (xy 55.022438 54.545619)
+        (xy 55.099025 54.546822)
+        (xy 55.185916 54.548188)
+        (xy 55.185919 54.548188)
+        (xy 55.191602 54.548277)
+        (xy 55.197142 54.547008)
+        (xy 55.197144 54.547008)
+        (xy 55.29319 54.52501)
+        (xy 55.356517 54.510506)
+        (xy 55.507662 54.434488)
+        (xy 55.512477 54.430376)
+        (xy 55.631991 54.328301)
+        (xy 55.631993 54.328299)
+        (xy 55.636311 54.324611)
+        (xy 55.735037 54.187219)
+        (xy 55.741 54.172387)
+        (xy 55.783777 54.065974)
+        (xy 55.798141 54.030243)
+        (xy 55.798961 54.024488)
+        (xy 55.821545 53.865802)
+        (xy 55.821546 53.865793)
+        (xy 55.82198 53.862746)
+        (xy 55.822134 53.848)
+        (xy 55.821706 53.844458)
+        (xy 55.802492 53.685683)
+        (xy 55.802492 53.685682)
+        (xy 55.801809 53.68004)
+        (xy 55.742006 53.521778)
+        (xy 55.646179 53.382348)
+        (xy 55.641939 53.37857)
+        (xy 55.641937 53.378568)
+        (xy 55.541423 53.289014)
+        (xy 55.53383 53.282248)
+        (xy 55.504441 53.231956)
+        (xy 55.510227 53.173995)
+        (xy 55.521999 53.158144)
+        (xy 55.521662 53.157938)
+        (xy 55.536097 53.134384)
+        (xy 55.53586 53.131363)
+        (xy 55.53425 53.128954)
+        (xy 55.128555 52.723259)
+        (xy 55.117241 52.717494)
+        (xy 55.112451 52.718253)
+        (xy 54.704596 53.126108)
+        (xy 54.698831 53.137422)
+        (xy 54.699429 53.141195)
+        (xy 54.700352 53.142405)
+        (xy 54.701945 53.143854)
+        (xy 54.703386 53.14638)
+        (xy 54.705533 53.149193)
+        (xy 54.705155 53.149481)
+        (xy 54.730809 53.19445)
+        (xy 54.72442 53.252348)
+        (xy 54.700476 53.284591)
+        (xy 54.594726 53.376842)
+        (xy 54.591461 53.381488)
+        (xy 54.591459 53.38149)
+        (xy 54.560294 53.425834)
+        (xy 54.513712 53.460808)
+        (xy 54.45547 53.461724)
+        (xy 54.405509 53.425023)
+        (xy 54.3794 53.387034)
+        (xy 54.379398 53.387032)
+        (xy 54.376179 53.382348)
+        (xy 54.371939 53.37857)
+        (xy 54.371937 53.378568)
+        (xy 54.288878 53.304566)
+        (xy 54.264207 53.282584)
+        (xy 54.234818 53.232292)
+        (xy 54.240604 53.174331)
+        (xy 54.265695 53.140546)
+        (xy 54.361987 53.058305)
+        (xy 54.361991 53.058301)
+        (xy 54.366311 53.054611)
+        (xy 54.369625 53.05)
+        (xy 54.369627 53.049997)
+        (xy 54.406376 52.998855)
+        (xy 54.453321 52.964371)
+        (xy 54.51157 52.964066)
+        (xy 54.541071 52.979686)
+        (xy 54.562174 52.996233)
+        (xy 54.562286 52.996237)
+        (xy 54.569014 52.992282)
+        (xy 54.972741 52.588555)
+        (xy 54.977733 52.578759)
+        (xy 55.257494 52.578759)
+        (xy 55.258253 52.583549)
+        (xy 55.664285 52.989581)
+        (xy 55.675599 52.995346)
+        (xy 55.676498 52.995204)
+        (xy 55.681424 52.990974)
+        (xy 55.73128 52.921591)
+        (xy 55.736715 52.911705)
+        (xy 55.795535 52.765385)
+        (xy 55.798455 52.754488)
+        (xy 55.821041 52.595793)
+        (xy 55.821508 52.589647)
+        (xy 55.821598 52.58108)
+        (xy 55.82126 52.574939)
+        (xy 55.802002 52.415803)
+        (xy 55.799311 52.404848)
+        (xy 55.743565 52.25732)
+        (xy 55.738344 52.247333)
+        (xy 55.683673 52.167786)
+        (xy 55.673601 52.160057)
+        (xy 55.673222 52.160047)
+        (xy 55.66689 52.163814)
+        (xy 55.263259 52.567445)
+        (xy 55.257494 52.578759)
+        (xy 54.977733 52.578759)
+        (xy 54.978506 52.577241)
+        (xy 54.977747 52.572451)
+        (xy 54.571554 52.166258)
+        (xy 54.56024 52.160493)
+        (xy 54.559604 52.160594)
+        (xy 54.54566 52.172694)
+        (xy 54.542927 52.169545)
+        (xy 54.513985 52.19126)
+        (xy 54.455742 52.192155)
+        (xy 54.405812 52.155464)
+        (xy 54.3794 52.117034)
+        (xy 54.379398 52.117032)
+        (xy 54.376179 52.112348)
+        (xy 54.371939 52.10857)
+        (xy 54.371937 52.108568)
+        (xy 54.309725 52.05314)
+        (xy 54.264207 52.012584)
+        (xy 54.234818 51.962292)
+        (xy 54.240604 51.904331)
+        (xy 54.265695 51.870546)
+        (xy 54.269353 51.867422)
+        (xy 54.698831 51.867422)
+        (xy 54.699429 51.871195)
+        (xy 54.700352 51.872404)
+        (xy 54.70232 51.874195)
+        (xy 54.7041 51.877315)
+        (xy 54.705533 51.879193)
+        (xy 54.705281 51.879386)
+        (xy 54.731181 51.924792)
+        (xy 54.724791 51.98269)
+        (xy 54.71377 51.997531)
+        (xy 54.713774 51.997533)
+        (xy 54.699587 52.021238)
+        (xy 54.69988 52.024522)
+        (xy 54.701245 52.026541)
+        (xy 55.107445 52.432741)
+        (xy 55.118759 52.438506)
+        (xy 55.123549 52.437747)
+        (xy 55.530968 52.030328)
+        (xy 55.536733 52.019014)
+        (xy 55.536176 52.0155)
+        (xy 55.534964 52.01393)
+        (xy 55.533443 52.012574)
+        (xy 55.531959 52.010034)
+        (xy 55.529598 52.006974)
+        (xy 55.529993 52.006669)
+        (xy 55.504057 51.962281)
+        (xy 55.509844 51.904319)
+        (xy 55.521902 51.888085)
+        (xy 55.521662 51.887938)
+        (xy 55.536097 51.864384)
+        (xy 55.53586 51.861363)
+        (xy 55.53425 51.858954)
+        (xy 55.128555 51.453259)
+        (xy 55.117241 51.447494)
+        (xy 55.112451 51.448253)
+        (xy 54.704596 51.856108)
+        (xy 54.698831 51.867422)
+        (xy 54.269353 51.867422)
+        (xy 54.361987 51.788305)
+        (xy 54.361991 51.788301)
+        (xy 54.366311 51.784611)
+        (xy 54.369625 51.78)
+        (xy 54.369627 51.779997)
+        (xy 54.406376 51.728855)
+        (xy 54.453321 51.694371)
+        (xy 54.51157 51.694066)
+        (xy 54.541071 51.709686)
+        (xy 54.562174 51.726233)
+        (xy 54.562286 51.726237)
+        (xy 54.569014 51.722282)
+        (xy 54.972741 51.318555)
+        (xy 54.977733 51.308759)
+        (xy 55.257494 51.308759)
+        (xy 55.258253 51.313549)
+        (xy 55.664285 51.719581)
+        (xy 55.675599 51.725346)
+        (xy 55.676498 51.725204)
+        (xy 55.681424 51.720974)
+        (xy 55.73128 51.651591)
+        (xy 55.736715 51.641705)
+        (xy 55.795535 51.495385)
+        (xy 55.798455 51.484488)
+        (xy 55.821041 51.325793)
+        (xy 55.821508 51.319647)
+        (xy 55.821598 51.31108)
+        (xy 55.82126 51.304939)
+        (xy 55.802002 51.145803)
+        (xy 55.799311 51.134848)
+        (xy 55.743565 50.98732)
+        (xy 55.738344 50.977333)
+        (xy 55.683673 50.897786)
+        (xy 55.673601 50.890057)
+        (xy 55.673222 50.890047)
+        (xy 55.66689 50.893814)
+        (xy 55.263259 51.297445)
+        (xy 55.257494 51.308759)
+        (xy 54.977733 51.308759)
+        (xy 54.978506 51.307241)
+        (xy 54.977747 51.302451)
+        (xy 54.571554 50.896258)
+        (xy 54.56024 50.890493)
+        (xy 54.559604 50.890594)
+        (xy 54.54566 50.902694)
+        (xy 54.542927 50.899545)
+        (xy 54.513985 50.92126)
+        (xy 54.455742 50.922155)
+        (xy 54.405812 50.885464)
+        (xy 54.3794 50.847034)
+        (xy 54.379398 50.847032)
+        (xy 54.376179 50.842348)
+        (xy 54.284122 50.760328)
+        (xy 54.260292 50.739096)
+        (xy 54.230903 50.688803)
+        (xy 54.236689 50.630841)
+        (xy 54.26178 50.597057)
+        (xy 54.353987 50.518305)
+        (xy 54.353991 50.518301)
+        (xy 54.358311 50.514611)
+        (xy 54.363374 50.507566)
+        (xy 54.402042 50.453753)
+        (xy 54.448987 50.419268)
+        (xy 54.507236 50.418962)
+        (xy 54.556809 50.456183)
+        (xy 54.575458 50.483935)
+        (xy 54.584974 50.498096)
+        (xy 54.701943 50.604529)
+        (xy 54.730803 50.655125)
+        (xy 54.724411 50.713023)
+        (xy 54.713678 50.727475)
+        (xy 54.713774 50.727533)
+        (xy 54.699587 50.751238)
+        (xy 54.69988 50.754522)
+        (xy 54.701245 50.756541)
+        (xy 55.107445 51.162741)
+        (xy 55.118759 51.168506)
+        (xy 55.123549 51.167747)
+        (xy 55.530968 50.760328)
+        (xy 55.536733 50.749014)
+        (xy 55.536176 50.7455)
+        (xy 55.534965 50.74393)
+        (xy 55.533821 50.742911)
+        (xy 55.532705 50.741001)
+        (xy 55.529598 50.736974)
+        (xy 55.530118 50.736573)
+        (xy 55.504434 50.692617)
+        (xy 55.510221 50.634656)
+        (xy 55.535311 50.600874)
+        (xy 55.631987 50.518305)
+        (xy 55.631991 50.518301)
+        (xy 55.636311 50.514611)
+        (xy 55.735037 50.377219)
+        (xy 55.741 50.362387)
+        (xy 55.791142 50.237653)
+        (xy 55.798141 50.220243)
+        (xy 55.800436 50.204123)
+        (xy 55.821545 50.055802)
+        (xy 55.82198 50.052746)
+        (xy 55.822134 50.038)
+        (xy 55.821394 50.031878)
+        (xy 55.802492 49.875683)
+        (xy 55.802492 49.875682)
+        (xy 55.801809 49.87004)
+        (xy 55.742006 49.711778)
+        (xy 55.646179 49.572348)
+        (xy 55.641939 49.56857)
+        (xy 55.641937 49.568568)
+        (xy 55.558447 49.494182)
+        (xy 55.53383 49.472248)
+        (xy 55.504441 49.421956)
+        (xy 55.510227 49.363995)
+        (xy 55.521999 49.348144)
+        (xy 55.521662 49.347938)
+        (xy 55.536097 49.324384)
+        (xy 55.53586 49.321363)
+        (xy 55.53425 49.318954)
+        (xy 55.128555 48.913259)
+        (xy 55.117241 48.907494)
+        (xy 55.112451 48.908253)
+        (xy 54.704596 49.316108)
+        (xy 54.698831 49.327422)
+        (xy 54.699429 49.331195)
+        (xy 54.700352 49.332405)
+        (xy 54.701945 49.333854)
+        (xy 54.703386 49.33638)
+        (xy 54.705533 49.339193)
+        (xy 54.705155 49.339481)
+        (xy 54.730809 49.38445)
+        (xy 54.72442 49.442348)
+        (xy 54.700476 49.474591)
+        (xy 54.594726 49.566842)
+        (xy 54.591461 49.571488)
+        (xy 54.591459 49.57149)
+        (xy 54.556249 49.621589)
+        (xy 54.509667 49.656564)
+        (xy 54.451425 49.657478)
+        (xy 54.401464 49.620778)
+        (xy 54.3714 49.577034)
+        (xy 54.371398 49.577032)
+        (xy 54.368179 49.572348)
+        (xy 54.363939 49.56857)
+        (xy 54.363937 49.568568)
+        (xy 54.280447 49.494182)
+        (xy 54.260123 49.476073)
+        (xy 54.230734 49.425781)
+        (xy 54.23652 49.36782)
+        (xy 54.26161 49.334035)
+        (xy 54.343112 49.264425)
+        (xy 54.366311 49.244611)
+        (xy 54.369625 49.24)
+        (xy 54.369627 49.239997)
+        (xy 54.406376 49.188855)
+        (xy 54.453321 49.154371)
+        (xy 54.51157 49.154066)
+        (xy 54.541071 49.169686)
+        (xy 54.562174 49.186233)
+        (xy 54.562286 49.186237)
+        (xy 54.569014 49.182282)
+        (xy 54.972741 48.778555)
+        (xy 54.977733 48.768759)
+        (xy 55.257494 48.768759)
+        (xy 55.258253 48.773549)
+        (xy 55.664285 49.179581)
+        (xy 55.675599 49.185346)
+        (xy 55.676498 49.185204)
+        (xy 55.681424 49.180974)
+        (xy 55.73128 49.111591)
+        (xy 55.736715 49.101705)
+        (xy 55.795535 48.955385)
+        (xy 55.798455 48.944488)
+        (xy 55.821041 48.785793)
+        (xy 55.821508 48.779647)
+        (xy 55.821598 48.77108)
+        (xy 55.82126 48.764939)
+        (xy 55.802002 48.605803)
+        (xy 55.799311 48.594848)
+        (xy 55.743565 48.44732)
+        (xy 55.738344 48.437333)
+        (xy 55.683673 48.357786)
+        (xy 55.673601 48.350057)
+        (xy 55.673222 48.350047)
+        (xy 55.66689 48.353814)
+        (xy 55.263259 48.757445)
+        (xy 55.257494 48.768759)
+        (xy 54.977733 48.768759)
+        (xy 54.978506 48.767241)
+        (xy 54.977747 48.762451)
+        (xy 54.571554 48.356258)
+        (xy 54.56024 48.350493)
+        (xy 54.559604 48.350594)
+        (xy 54.54566 48.362694)
+        (xy 54.542927 48.359545)
+        (xy 54.513985 48.38126)
+        (xy 54.455742 48.382155)
+        (xy 54.405812 48.345464)
+        (xy 54.3794 48.307034)
+        (xy 54.379398 48.307032)
+        (xy 54.376179 48.302348)
+        (xy 54.371939 48.29857)
+        (xy 54.371937 48.298568)
+        (xy 54.273919 48.211238)
+        (xy 54.699587 48.211238)
+        (xy 54.69988 48.214522)
+        (xy 54.701245 48.216541)
+        (xy 55.107445 48.622741)
+        (xy 55.118759 48.628506)
+        (xy 55.123549 48.627747)
+        (xy 55.530968 48.220328)
+        (xy 55.536733 48.209014)
+        (xy 55.536176 48.2055)
+        (xy 55.534964 48.20393)
+        (xy 55.523815 48.193996)
+        (xy 55.514549 48.187556)
+        (xy 55.375178 48.113763)
+        (xy 55.364648 48.109721)
+        (xy 55.211697 48.071302)
+        (xy 55.200511 48.069888)
+        (xy 55.042805 48.069063)
+        (xy 55.031605 48.070359)
+        (xy 54.87826 48.107173)
+        (xy 54.867683 48.111107)
+        (xy 54.727551 48.183435)
+        (xy 54.718219 48.189777)
+        (xy 54.706109 48.200341)
+        (xy 54.699587 48.211238)
+        (xy 54.273919 48.211238)
+        (xy 54.254097 48.193577)
+        (xy 54.249859 48.189801)
+        (xy 54.100339 48.110634)
+        (xy 53.936251 48.069418)
+        (xy 53.930576 48.069388)
+        (xy 53.930574 48.069388)
+        (xy 53.85166 48.068975)
+        (xy 53.767069 48.068532)
+        (xy 53.761551 48.069857)
+        (xy 53.761549 48.069857)
+        (xy 53.608085 48.106701)
+        (xy 53.608083 48.106702)
+        (xy 53.602559 48.108028)
+        (xy 53.597506 48.110636)
+        (xy 53.55931 48.13035)
+        (xy 53.452218 48.185624)
+        (xy 53.447938 48.189358)
+        (xy 53.447936 48.189359)
+        (xy 53.329007 48.293107)
+        (xy 53.329005 48.293109)
+        (xy 53.324726 48.296842)
+        (xy 53.321461 48.301488)
+        (xy 53.321459 48.30149)
+        (xy 53.234676 48.424971)
+        (xy 53.227444 48.435261)
+        (xy 53.22538 48.440556)
+        (xy 53.225378 48.440559)
+        (xy 53.196745 48.514)
+        (xy 53.165988 48.592889)
+        (xy 53.165247 48.598521)
+        (xy 53.165246 48.598523)
+        (xy 53.158848 48.647122)
+        (xy 53.143905 48.760626)
+        (xy 53.144528 48.76627)
+        (xy 53.144528 48.766273)
+        (xy 53.151233 48.827001)
+        (xy 53.16247 48.92879)
+        (xy 53.220612 49.08767)
+        (xy 53.314974 49.228096)
+        (xy 53.337179 49.248301)
+        (xy 53.427653 49.330626)
+        (xy 53.456514 49.381223)
+        (xy 53.450122 49.439121)
+        (xy 53.42618 49.471359)
+        (xy 53.321007 49.563107)
+        (xy 53.321006 49.563108)
+        (xy 53.316726 49.566842)
+        (xy 53.313461 49.571488)
+        (xy 53.313459 49.57149)
+        (xy 53.224465 49.698117)
+        (xy 53.219444 49.705261)
+        (xy 53.21738 49.710556)
+        (xy 53.217378 49.710559)
+        (xy 53.198882 49.758)
+        (xy 53.157988 49.862889)
+        (xy 53.157247 49.868521)
+        (xy 53.157246 49.868523)
+        (xy 53.154749 49.887489)
+        (xy 53.135905 50.030626)
+        (xy 51.82775 50.030626)
+        (xy 51.82775 50.026081)
+        (xy 51.84575 49.970682)
+        (xy 51.880461 49.941479)
+        (xy 51.922564 49.920807)
+        (xy 51.928063 49.915299)
+        (xy 51.928065 49.915297)
+        (xy 52.001673 49.84156)
+        (xy 52.001674 49.841559)
+        (xy 52.007177 49.836046)
+        (xy 52.017658 49.814604)
+        (xy 52.056561 49.735019)
+        (xy 52.056562 49.735016)
+        (xy 52.059773 49.728447)
+        (xy 52.061847 49.714235)
+        (xy 52.069449 49.662119)
+        (xy 52.07 49.658345)
+        (xy 52.069999 49.152656)
+        (xy 52.059591 49.081943)
+        (xy 52.056363 49.075369)
+        (xy 52.056362 49.075365)
+        (xy 52.010239 48.981426)
+        (xy 52.006807 48.974436)
+        (xy 52.001299 48.968937)
+        (xy 52.001297 48.968935)
+        (xy 51.92756 48.895327)
+        (xy 51.927559 48.895326)
+        (xy 51.922046 48.889823)
+        (xy 51.915045 48.886401)
+        (xy 51.915044 48.8864)
+        (xy 51.846101 48.8527)
+        (xy 51.804235 48.8122)
+        (xy 51.79417 48.754827)
+        (xy 51.81975 48.702495)
+        (xy 51.845952 48.683422)
+        (xy 51.846201 48.6833)
+        (xy 51.922564 48.645807)
+        (xy 51.928063 48.640299)
+        (xy 51.928065 48.640297)
+        (xy 52.001673 48.56656)
+        (xy 52.001674 48.566559)
+        (xy 52.007177 48.561046)
+        (xy 52.010599 48.554046)
+        (xy 52.056561 48.460019)
+        (xy 52.056562 48.460016)
+        (xy 52.059773 48.453447)
+        (xy 52.061476 48.441778)
+        (xy 52.06666 48.406239)
+        (xy 52.07 48.383345)
+        (xy 52.069999 47.877656)
+        (xy 52.059591 47.806943)
+        (xy 52.056363 47.800369)
+        (xy 52.056362 47.800365)
+        (xy 52.010239 47.706426)
+        (xy 52.006807 47.699436)
+        (xy 52.001299 47.693937)
+        (xy 52.001297 47.693935)
+        (xy 51.960374 47.653084)
+        (xy 51.922046 47.614823)
+        (xy 51.880607 47.594567)
+        (xy 51.838744 47.55407)
+        (xy 51.82775 47.509894)
+        (xy 51.82775 47.387179)
+        (xy 51.847226 47.329803)
+        (xy 51.897604 47.264149)
+        (xy 51.901361 47.259253)
+        (xy 51.955158 47.129376)
+        (xy 51.973507 46.99)
+        (xy 51.955158 46.850624)
+        (xy 51.915648 46.755239)
+        (xy 51.903723 46.726449)
+        (xy 51.903722 46.726448)
+        (xy 51.901361 46.720747)
+        (xy 51.815782 46.609218)
+        (xy 51.740242 46.551254)
+        (xy 51.709157 46.527401)
+        (xy 51.709156 46.5274)
+        (xy 51.704254 46.523639)
+        (xy 51.574376 46.469842)
+        (xy 51.435 46.451493)
+        (xy 51.295624 46.469842)
+        (xy 51.165747 46.523639)
+        (xy 51.054218 46.609218)
+        (xy 50.968639 46.720747)
+        (xy 50.966278 46.726448)
+        (xy 50.966277 46.726449)
+        (xy 50.954352 46.755239)
+        (xy 50.914842 46.850624)
+        (xy 50.896493 46.99)
+        (xy 50.914842 47.129376)
+        (xy 50.968639 47.259253)
+        (xy 51.054218 47.370782)
+        (xy 51.064141 47.378396)
+        (xy 51.160845 47.452601)
+        (xy 51.160848 47.452603)
+        (xy 51.160937 47.452671)
+        (xy 51.160938 47.452672)
+        (xy 51.165746 47.456361)
+        (xy 51.165062 47.457252)
+        (xy 51.19988 47.495924)
+        (xy 51.205967 47.553855)
+        (xy 51.17684 47.6043)
+        (xy 51.168642 47.610891)
+        (xy 51.167429 47.61176)
+        (xy 51.160436 47.615193)
+        (xy 51.150801 47.624845)
+        (xy 51.120346 47.655353)
+        (xy 51.068468 47.681843)
+        (xy 51.010928 47.672781)
+        (xy 50.987056 47.655469)
+        (xy 50.952267 47.620741)
+        (xy 50.939749 47.611812)
+        (xy 50.845872 47.565924)
+        (xy 50.83207 47.561658)
+        (xy 50.772674 47.552993)
+        (xy 50.765883 47.5525)
+        (xy 50.676677 47.5525)
+        (xy 50.6646 47.556424)
+        (xy 50.66175 47.560347)
+        (xy 50.66175 48.1315)
+        (xy 50.64375 48.186899)
+        (xy 50.596625 48.221137)
+        (xy 50.5675 48.22575)
+        (xy 50.053428 48.22575)
+        (xy 50.041351 48.229674)
+        (xy 50.038501 48.233597)
+        (xy 50.038501 48.379854)
+        (xy 50.039002 48.386703)
+        (xy 50.047828 48.446666)
+        (xy 50.052122 48.460485)
+        (xy 50.098173 48.554279)
+        (xy 50.107115 48.56677)
+        (xy 50.180733 48.640259)
+        (xy 50.193249 48.649187)
+        (xy 50.262468 48.683022)
+        (xy 50.304333 48.723522)
+        (xy 50.314398 48.780896)
+        (xy 50.288818 48.833228)
+        (xy 50.262617 48.852298)
+        (xy 50.185436 48.890193)
+        (xy 50.179937 48.895701)
+        (xy 50.179935 48.895703)
+        (xy 50.106831 48.968935)
+        (xy 50.100823 48.974954)
+        (xy 50.097402 48.981953)
+        (xy 50.097401 48.981954)
+        (xy 50.056127 49.066391)
+        (xy 50.015627 49.108257)
+        (xy 49.971452 49.11925)
+        (xy 49.744446 49.11925)
+        (xy 49.689047 49.10125)
+        (xy 49.654809 49.054125)
+        (xy 49.651356 49.010256)
+        (xy 49.662421 48.940395)
+        (xy 49.662421 48.94039)
+        (xy 49.663 48.936737)
+        (xy 49.662999 48.421264)
+        (xy 49.647571 48.323847)
+        (xy 49.630574 48.290488)
+        (xy 49.591113 48.213041)
+        (xy 49.591111 48.213038)
+        (xy 49.587746 48.206434)
+        (xy 49.494566 48.113254)
+        (xy 49.487962 48.109889)
+        (xy 49.487959 48.109887)
+        (xy 49.383761 48.056796)
+        (xy 49.377153 48.053429)
+        (xy 49.369831 48.052269)
+        (xy 49.36983 48.052269)
+        (xy 49.283395 48.038579)
+        (xy 49.28339 48.038579)
+        (xy 49.279737 48.038)
+        (xy 49.022035 48.038)
+        (xy 48.764264 48.038001)
+        (xy 48.666847 48.053429)
+        (xy 48.660235 48.056798)
+        (xy 48.556041 48.109887)
+        (xy 48.556038 48.109889)
+        (xy 48.549434 48.113254)
+        (xy 48.456254 48.206434)
+        (xy 48.44832 48.222006)
+        (xy 48.434167 48.249782)
+        (xy 48.392978 48.29097)
+        (xy 48.335445 48.300081)
+        (xy 48.283547 48.273639)
+        (xy 48.281371 48.271463)
+        (xy 48.277611 48.266563)
+        (xy 48.215702 48.219058)
+        (xy 48.170986 48.184746)
+        (xy 48.170985 48.184745)
+        (xy 48.166083 48.180984)
+        (xy 48.036205 48.127187)
+        (xy 47.896829 48.108838)
+        (xy 47.757453 48.127187)
+        (xy 47.627576 48.180984)
+        (xy 47.622681 48.18474)
+        (xy 47.617324 48.187833)
+        (xy 47.615819 48.185226)
+        (xy 47.572373 48.200513)
+        (xy 47.516555 48.183858)
+        (xy 47.481187 48.137574)
+        (xy 47.476651 48.093987)
+        (xy 47.480598 48.064012)
+        (xy 47.480599 48.063999)
+        (xy 47.481 48.060952)
+        (xy 47.481 48.020323)
+        (xy 50.0385 48.020323)
+        (xy 50.042424 48.0324)
+        (xy 50.046347 48.03525)
+        (xy 50.456323 48.03525)
+        (xy 50.4684 48.031326)
+        (xy 50.47125 48.027403)
+        (xy 50.47125 47.567428)
+        (xy 50.467326 47.555351)
+        (xy 50.463403 47.552501)
+        (xy 50.367146 47.552501)
+        (xy 50.360297 47.553002)
+        (xy 50.300334 47.561828)
+        (xy 50.286515 47.566122)
+        (xy 50.192721 47.612173)
+        (xy 50.18023 47.621115)
+        (xy 50.106741 47.694733)
+        (xy 50.097812 47.707251)
+        (xy 50.051924 47.801128)
+        (xy 50.047658 47.81493)
+        (xy 50.038993 47.874326)
+        (xy 50.0385 47.881117)
+        (xy 50.0385 48.020323)
+        (xy 47.481 48.020323)
+        (xy 47.481 47.681048)
+        (xy 47.474461 47.631381)
+        (xy 47.445247 47.56873)
+        (xy 47.427126 47.529868)
+        (xy 47.427125 47.529866)
+        (xy 47.42364 47.522393)
+        (xy 47.338607 47.43736)
+        (xy 47.341277 47.43469)
+        (xy 47.31624 47.401875)
+        (xy 47.314877 47.343641)
+        (xy 47.321231 47.332994)
+        (xy 48.3815 47.332994)
+        (xy 48.382079 47.340358)
+        (xy 48.39575 47.426675)
+        (xy 48.400277 47.440604)
+        (xy 48.453297 47.544662)
+        (xy 48.461907 47.556512)
+        (xy 48.544488 47.639093)
+        (xy 48.556338 47.647703)
+        (xy 48.660396 47.700723)
+        (xy 48.674325 47.70525)
+        (xy 48.760642 47.718921)
+        (xy 48.768006 47.7195)
+        (xy 48.911823 47.7195)
+        (xy 48.9239 47.715576)
+        (xy 48.92675 47.711653)
+        (xy 48.92675 47.704573)
+        (xy 49.11725 47.704573)
+        (xy 49.121174 47.71665)
+        (xy 49.125097 47.7195)
+        (xy 49.275994 47.7195)
+        (xy 49.283358 47.718921)
+        (xy 49.369675 47.70525)
+        (xy 49.383604 47.700723)
+        (xy 49.487662 47.647703)
+        (xy 49.499512 47.639093)
+        (xy 49.582093 47.556512)
+        (xy 49.590703 47.544662)
+        (xy 49.643723 47.440604)
+        (xy 49.64825 47.426675)
+        (xy 49.661921 47.340358)
+        (xy 49.6625 47.332994)
+        (xy 49.6625 47.189177)
+        (xy 49.658576 47.1771)
+        (xy 49.654653 47.17425)
+        (xy 49.132177 47.17425)
+        (xy 49.1201 47.178174)
+        (xy 49.11725 47.182097)
+        (xy 49.11725 47.704573)
+        (xy 48.92675 47.704573)
+        (xy 48.92675 47.189177)
+        (xy 48.922826 47.1771)
+        (xy 48.918903 47.17425)
+        (xy 48.396427 47.17425)
+        (xy 48.38435 47.178174)
+        (xy 48.3815 47.182097)
+        (xy 48.3815 47.332994)
+        (xy 47.321231 47.332994)
+        (xy 47.338526 47.304014)
+        (xy 47.417394 47.225146)
+        (xy 47.426709 47.211843)
+        (xy 47.470924 47.117023)
+        (xy 47.474913 47.103339)
+        (xy 47.480098 47.063951)
+        (xy 47.4805 47.057822)
+        (xy 47.4805 46.981177)
+        (xy 47.476576 46.9691)
+        (xy 47.476195 46.968823)
+        (xy 48.3815 46.968823)
+        (xy 48.385424 46.9809)
+        (xy 48.389347 46.98375)
+        (xy 48.911823 46.98375)
+        (xy 48.9239 46.979826)
+        (xy 48.92675 46.975903)
+        (xy 48.92675 46.968823)
+        (xy 49.11725 46.968823)
+        (xy 49.121174 46.9809)
+        (xy 49.125097 46.98375)
+        (xy 49.647573 46.98375)
+        (xy 49.65965 46.979826)
+        (xy 49.6625 46.975903)
+        (xy 49.6625 46.825006)
+        (xy 49.661921 46.817642)
+        (xy 49.64825 46.731325)
+        (xy 49.643723 46.717396)
+        (xy 49.590703 46.613338)
+        (xy 49.582093 46.601488)
+        (xy 49.499512 46.518907)
+        (xy 49.487662 46.510297)
+        (xy 49.383604 46.457277)
+        (xy 49.369675 46.45275)
+        (xy 49.283358 46.439079)
+        (xy 49.275994 46.4385)
+        (xy 49.132177 46.4385)
+        (xy 49.1201 46.442424)
+        (xy 49.11725 46.446347)
+        (xy 49.11725 46.968823)
+        (xy 48.92675 46.968823)
+        (xy 48.92675 46.453427)
+        (xy 48.922826 46.44135)
+        (xy 48.918903 46.4385)
+        (xy 48.768006 46.4385)
+        (xy 48.760642 46.439079)
+        (xy 48.674325 46.45275)
+        (xy 48.660396 46.457277)
+        (xy 48.556338 46.510297)
+        (xy 48.544488 46.518907)
+        (xy 48.461907 46.601488)
+        (xy 48.453297 46.613338)
+        (xy 48.400277 46.717396)
+        (xy 48.39575 46.731325)
+        (xy 48.382079 46.817642)
+        (xy 48.3815 46.825006)
+        (xy 48.3815 46.968823)
+        (xy 47.476195 46.968823)
+        (xy 47.472653 46.96625)
+        (xy 46.514428 46.96625)
+        (xy 46.502351 46.970174)
+        (xy 46.499501 46.974097)
+        (xy 46.499501 47.05782)
+        (xy 46.499903 47.063954)
+        (xy 46.505087 47.103335)
+        (xy 46.509077 47.117026)
+        (xy 46.553291 47.211843)
+        (xy 46.562606 47.225146)
+        (xy 46.641474 47.304014)
+        (xy 46.667919 47.355915)
+        (xy 46.658806 47.413448)
+        (xy 46.639526 47.435493)
+        (xy 46.641393 47.43736)
+        (xy 46.55636 47.522393)
+        (xy 46.552875 47.529866)
+        (xy 46.552874 47.529868)
+        (xy 46.534753 47.56873)
+        (xy 46.505539 47.631381)
+        (xy 46.499 47.681048)
+        (xy 46.499 48.060952)
+        (xy 46.505539 48.110619)
+        (xy 46.55636 48.219607)
+        (xy 46.558567 48.221814)
+        (xy 46.574756 48.274762)
+        (xy 46.555293 48.330495)
+        (xy 46.528185 48.365823)
+        (xy 46.523639 48.371747)
+        (xy 46.469842 48.501624)
+        (xy 46.451493 48.641)
+        (xy 46.469842 48.780376)
+        (xy 46.482909 48.811922)
+        (xy 46.515177 48.889823)
+        (xy 46.523639 48.910253)
+        (xy 46.609218 49.021782)
+        (xy 46.633957 49.040765)
+        (xy 46.708186 49.097723)
+        (xy 46.720746 49.107361)
+        (xy 46.850624 49.161158)
+        (xy 46.99 49.179507)
+        (xy 47.129376 49.161158)
+        (xy 47.259254 49.107361)
+        (xy 47.267218 49.10125)
+        (xy 47.36588 49.025544)
+        (xy 47.365882 49.025542)
+        (xy 47.370782 49.021782)
+        (xy 47.374044 49.017531)
+        (xy 47.425638 48.991246)
+        (xy 47.48317 49.00036)
+        (xy 47.506783 49.019994)
+        (xy 47.507919 49.018858)
+        (xy 47.512284 49.023223)
+        (xy 47.516047 49.028127)
+        (xy 47.520951 49.03189)
+        (xy 47.620474 49.108257)
+        (xy 47.627575 49.113706)
+        (xy 47.757453 49.167503)
+        (xy 47.896829 49.185852)
+        (xy 48.036205 49.167503)
+        (xy 48.166083 49.113706)
+        (xy 48.173185 49.108257)
+        (xy 48.270919 49.033262)
+        (xy 48.325828 49.013817)
+        (xy 48.381679 49.030361)
+        (xy 48.412272 49.065247)
+        (xy 48.452886 49.144957)
+        (xy 48.452888 49.144959)
+        (xy 48.456254 49.151566)
+        (xy 48.47807 49.173382)
+        (xy 48.504515 49.225283)
+        (xy 48.5026 49.261794)
+        (xy 48.501842 49.263624)
+        (xy 48.483493 49.403)
+        (xy 48.483772 49.405121)
+        (xy 48.466299 49.458899)
+        (xy 48.419174 49.493137)
+        (xy 48.390049 49.49775)
+        (xy 47.424083 49.49775)
+        (xy 47.414883 49.4973)
+        (xy 47.407778 49.496603)
+        (xy 47.399417 49.494182)
+        (xy 47.363415 49.4973)
+        (xy 47.362272 49.497399)
+        (xy 47.35414 49.49775)
+        (xy 45.5925 49.49775)
+        (xy 45.537101 49.47975)
+        (xy 45.502863 49.432625)
+        (xy 45.49825 49.4035)
+        (xy 45.49825 49.013799)
+        (xy 45.51625 48.9584)
+        (xy 45.535124 48.939026)
+        (xy 45.587878 48.898546)
+        (xy 45.587882 48.898542)
+        (xy 45.592782 48.894782)
+        (xy 45.605524 48.878177)
+        (xy 45.656149 48.8122)
+        (xy 45.678361 48.783253)
+        (xy 45.684994 48.767241)
+        (xy 45.724133 48.67275)
+        (xy 45.732158 48.653376)
+        (xy 45.750507 48.514)
+        (xy 45.732158 48.374624)
+        (xy 45.70121 48.299909)
+        (xy 45.680723 48.250449)
+        (xy 45.680722 48.250448)
+        (xy 45.678361 48.244747)
+        (xy 45.592782 48.133218)
+        (xy 45.512092 48.071302)
+        (xy 45.486157 48.051401)
+        (xy 45.486156 48.0514)
+        (xy 45.481254 48.047639)
+        (xy 45.351376 47.993842)
+        (xy 45.212 47.975493)
+        (xy 45.072624 47.993842)
+        (xy 44.942747 48.047639)
+        (xy 44.937845 48.0514)
+        (xy 44.937844 48.051401)
+        (xy 44.930485 48.057048)
+        (xy 44.875576 48.076493)
+        (xy 44.830321 48.066253)
+        (xy 44.825923 48.064012)
+        (xy 44.805153 48.053429)
+        (xy 44.797831 48.052269)
+        (xy 44.79783 48.052269)
+        (xy 44.711395 48.038579)
+        (xy 44.71139 48.038579)
+        (xy 44.707737 48.038)
+        (xy 44.450035 48.038)
+        (xy 44.192264 48.038001)
+        (xy 44.094847 48.053429)
+        (xy 44.088235 48.056798)
+        (xy 43.984041 48.109887)
+        (xy 43.984038 48.109889)
+        (xy 43.977434 48.113254)
+        (xy 43.884254 48.206434)
+        (xy 43.880889 48.213038)
+        (xy 43.880887 48.213041)
+        (xy 43.850011 48.273639)
+        (xy 43.824429 48.323847)
+        (xy 43.823269 48.331169)
+        (xy 43.823269 48.33117)
+        (xy 43.80958 48.417604)
+        (xy 43.809 48.421263)
+        (xy 43.809001 48.936736)
+        (xy 43.824429 49.034153)
+        (xy 43.827798 49.040765)
+        (xy 43.880887 49.144959)
+        (xy 43.880889 49.144962)
+        (xy 43.884254 49.151566)
+        (xy 43.977434 49.244746)
+        (xy 43.984038 49.248111)
+        (xy 43.984041 49.248113)
+        (xy 44.026499 49.269746)
+        (xy 44.094847 49.304571)
+        (xy 44.102169 49.305731)
+        (xy 44.10217 49.305731)
+        (xy 44.131713 49.31041)
+        (xy 44.183614 49.336855)
+        (xy 44.210059 49.388756)
+        (xy 44.200946 49.446289)
+        (xy 44.159758 49.487477)
+        (xy 44.116969 49.49775)
+        (xy 41.2365 49.49775)
+        (xy 41.181101 49.47975)
+        (xy 41.146863 49.432625)
+        (xy 41.14225 49.4035)
+        (xy 41.14225 47.832215)
+        (xy 41.16025 47.776816)
+        (xy 41.206336 47.743334)
+        (xy 41.211153 47.742571)
+        (xy 41.21776 47.739205)
+        (xy 41.217762 47.739204)
+        (xy 41.321959 47.686113)
+        (xy 41.321962 47.686111)
+        (xy 41.328566 47.682746)
+        (xy 41.421746 47.589566)
+        (xy 41.425111 47.582962)
+        (xy 41.425113 47.582959)
+        (xy 41.478204 47.478761)
+        (xy 41.481571 47.472153)
+        (xy 41.484072 47.456361)
+        (xy 41.496421 47.378395)
+        (xy 41.496421 47.37839)
+        (xy 41.497 47.374737)
+        (xy 41.496999 46.859264)
+        (xy 41.496999 46.859263)
+        (xy 41.815 46.859263)
+        (xy 41.815001 47.374736)
+        (xy 41.830429 47.472153)
+        (xy 41.833798 47.478765)
+        (xy 41.886887 47.582959)
+        (xy 41.886889 47.582962)
+        (xy 41.890254 47.589566)
+        (xy 41.983434 47.682746)
+        (xy 41.990038 47.686111)
+        (xy 41.990041 47.686113)
+        (xy 42.08557 47.734787)
+        (xy 42.100847 47.742571)
+        (xy 42.108169 47.743731)
+        (xy 42.10817 47.743731)
+        (xy 42.194605 47.757421)
+        (xy 42.19461 47.757421)
+        (xy 42.198263 47.758)
+        (xy 42.455965 47.758)
+        (xy 42.713736 47.757999)
+        (xy 42.811153 47.742571)
+        (xy 42.820083 47.738021)
+        (xy 42.921959 47.686113)
+        (xy 42.921962 47.686111)
+        (xy 42.928566 47.682746)
+        (xy 42.986289 47.625023)
+        (xy 43.03819 47.598578)
+        (xy 43.089002 47.604592)
+        (xy 43.126995 47.620329)
+        (xy 43.167624 47.637158)
+        (xy 43.307 47.655507)
+        (xy 43.446376 47.637158)
+        (xy 43.576254 47.583361)
+        (xy 43.585484 47.576279)
+        (xy 43.645967 47.529868)
+        (xy 43.687782 47.497782)
+        (xy 43.691542 47.492882)
+        (xy 43.691544 47.49288)
+        (xy 43.698784 47.483444)
+        (xy 43.746789 47.45045)
+        (xy 43.805018 47.451973)
+        (xy 43.851232 47.487433)
+        (xy 43.857536 47.498028)
+        (xy 43.881299 47.544664)
+        (xy 43.889907 47.556512)
+        (xy 43.972488 47.639093)
+        (xy 43.984338 47.647703)
+        (xy 44.088396 47.700723)
+        (xy 44.102325 47.70525)
+        (xy 44.188642 47.718921)
+        (xy 44.196006 47.7195)
+        (xy 44.339823 47.7195)
+        (xy 44.3519 47.715576)
+        (xy 44.35475 47.711653)
+        (xy 44.35475 47.704573)
+        (xy 44.54525 47.704573)
+        (xy 44.549174 47.71665)
+        (xy 44.553097 47.7195)
+        (xy 44.703994 47.7195)
+        (xy 44.711358 47.718921)
+        (xy 44.797675 47.70525)
+        (xy 44.811604 47.700723)
+        (xy 44.915662 47.647703)
+        (xy 44.927512 47.639093)
+        (xy 45.010093 47.556512)
+        (xy 45.018703 47.544662)
+        (xy 45.071723 47.440604)
+        (xy 45.07625 47.426675)
+        (xy 45.089921 47.340358)
+        (xy 45.0905 47.332994)
+        (xy 45.0905 47.189177)
+        (xy 45.086576 47.1771)
+        (xy 45.082653 47.17425)
+        (xy 44.560177 47.17425)
+        (xy 44.5481 47.178174)
+        (xy 44.54525 47.182097)
+        (xy 44.54525 47.704573)
+        (xy 44.35475 47.704573)
+        (xy 44.35475 46.968823)
+        (xy 44.54525 46.968823)
+        (xy 44.549174 46.9809)
+        (xy 44.553097 46.98375)
+        (xy 45.075573 46.98375)
+        (xy 45.08765 46.979826)
+        (xy 45.0905 46.975903)
+        (xy 45.0905 46.825006)
+        (xy 45.089921 46.817642)
+        (xy 45.080922 46.760823)
+        (xy 46.4995 46.760823)
+        (xy 46.503424 46.7729)
+        (xy 46.507347 46.77575)
+        (xy 46.879823 46.77575)
+        (xy 46.8919 46.771826)
+        (xy 46.89475 46.767903)
+        (xy 46.89475 46.760823)
+        (xy 47.08525 46.760823)
+        (xy 47.089174 46.7729)
+        (xy 47.093097 46.77575)
+        (xy 47.465572 46.77575)
+        (xy 47.477649 46.771826)
+        (xy 47.480499 46.767903)
+        (xy 47.480499 46.68418)
+        (xy 47.480097 46.678046)
+        (xy 47.474913 46.638665)
+        (xy 47.470923 46.624974)
+        (xy 47.426709 46.530157)
+        (xy 47.417394 46.516854)
+        (xy 47.344146 46.443606)
+        (xy 47.330843 46.434291)
+        (xy 47.236023 46.390076)
+        (xy 47.222339 46.386087)
+        (xy 47.182951 46.380902)
+        (xy 47.176822 46.3805)
+        (xy 47.100177 46.3805)
+        (xy 47.0881 46.384424)
+        (xy 47.08525 46.388347)
+        (xy 47.08525 46.760823)
+        (xy 46.89475 46.760823)
+        (xy 46.89475 46.395428)
+        (xy 46.890826 46.383351)
+        (xy 46.886903 46.380501)
+        (xy 46.80318 46.380501)
+        (xy 46.797046 46.380903)
+        (xy 46.757665 46.386087)
+        (xy 46.743974 46.390077)
+        (xy 46.649157 46.434291)
+        (xy 46.635854 46.443606)
+        (xy 46.562606 46.516854)
+        (xy 46.553291 46.530157)
+        (xy 46.509076 46.624977)
+        (xy 46.505087 46.638661)
+        (xy 46.499902 46.678049)
+        (xy 46.4995 46.684178)
+        (xy 46.4995 46.760823)
+        (xy 45.080922 46.760823)
+        (xy 45.07625 46.731325)
+        (xy 45.071723 46.717396)
+        (xy 45.018703 46.613338)
+        (xy 45.010093 46.601488)
+        (xy 44.927512 46.518907)
+        (xy 44.915662 46.510297)
+        (xy 44.811604 46.457277)
+        (xy 44.797675 46.45275)
+        (xy 44.711358 46.439079)
+        (xy 44.703994 46.4385)
+        (xy 44.560177 46.4385)
+        (xy 44.5481 46.442424)
+        (xy 44.54525 46.446347)
+        (xy 44.54525 46.968823)
+        (xy 44.35475 46.968823)
+        (xy 44.35475 46.453427)
+        (xy 44.350826 46.44135)
+        (xy 44.346903 46.4385)
+        (xy 44.196006 46.4385)
+        (xy 44.188642 46.439079)
+        (xy 44.102325 46.45275)
+        (xy 44.088396 46.457277)
+        (xy 43.984338 46.510297)
+        (xy 43.972488 46.518907)
+        (xy 43.889907 46.601488)
+        (xy 43.881297 46.613338)
+        (xy 43.833009 46.708108)
+        (xy 43.79182 46.749297)
+        (xy 43.734287 46.758409)
+        (xy 43.688612 46.735136)
+        (xy 43.687782 46.736218)
+        (xy 43.581157 46.654401)
+        (xy 43.581156 46.6544)
+        (xy 43.576254 46.650639)
+        (xy 43.446376 46.596842)
+        (xy 43.307 46.578493)
+        (xy 43.167624 46.596842)
+        (xy 43.161916 46.599206)
+        (xy 43.161917 46.599206)
+        (xy 43.089002 46.629408)
+        (xy 43.030931 46.633978)
+        (xy 42.986289 46.608977)
+        (xy 42.928566 46.551254)
+        (xy 42.921962 46.547889)
+        (xy 42.921959 46.547887)
+        (xy 42.817761 46.494796)
+        (xy 42.811153 46.491429)
+        (xy 42.803831 46.490269)
+        (xy 42.80383 46.490269)
+        (xy 42.717395 46.476579)
+        (xy 42.71739 46.476579)
+        (xy 42.713737 46.476)
+        (xy 42.456035 46.476)
+        (xy 42.198264 46.476001)
+        (xy 42.100847 46.491429)
+        (xy 42.094235 46.494798)
+        (xy 41.990041 46.547887)
+        (xy 41.990038 46.547889)
+        (xy 41.983434 46.551254)
+        (xy 41.890254 46.644434)
+        (xy 41.886889 46.651038)
+        (xy 41.886887 46.651041)
+        (xy 41.844039 46.735136)
+        (xy 41.830429 46.761847)
+        (xy 41.829269 46.769169)
+        (xy 41.829269 46.76917)
+        (xy 41.81558 46.855604)
+        (xy 41.815 46.859263)
+        (xy 41.496999 46.859263)
+        (xy 41.481571 46.761847)
+        (xy 41.467961 46.735136)
+        (xy 41.425113 46.651041)
+        (xy 41.425111 46.651038)
+        (xy 41.421746 46.644434)
+        (xy 41.328566 46.551254)
+        (xy 41.321962 46.547889)
+        (xy 41.321959 46.547887)
+        (xy 41.217761 46.494796)
+        (xy 41.211153 46.491429)
+        (xy 41.203831 46.490269)
+        (xy 41.20383 46.490269)
+        (xy 41.117395 46.476579)
+        (xy 41.11739 46.476579)
+        (xy 41.113737 46.476)
+        (xy 40.856035 46.476)
+        (xy 40.598264 46.476001)
+        (xy 40.500847 46.491429)
+        (xy 40.494235 46.494798)
+        (xy 40.390041 46.547887)
+        (xy 40.390038 46.547889)
+        (xy 40.383434 46.551254)
+        (xy 40.290254 46.644434)
+        (xy 40.286889 46.651038)
+        (xy 40.286887 46.651041)
+        (xy 40.244039 46.735136)
+        (xy 40.230429 46.761847)
+        (xy 40.229269 46.769169)
+        (xy 40.229269 46.76917)
+        (xy 40.21558 46.855604)
+        (xy 40.215 46.859263)
+        (xy 40.215001 47.374736)
+        (xy 40.230429 47.472153)
+        (xy 40.233798 47.478765)
+        (xy 40.286887 47.582959)
+        (xy 40.286889 47.582962)
+        (xy 40.290254 47.589566)
+        (xy 40.383434 47.682746)
+        (xy 40.390038 47.686111)
+        (xy 40.390041 47.686113)
+        (xy 40.48557 47.734787)
+        (xy 40.500847 47.742571)
+        (xy 40.505666 47.743334)
+        (xy 40.551752 47.77682)
+        (xy 40.56975 47.832216)
+        (xy 40.56975 49.695021)
+        (xy 40.569461 49.698959)
+        (xy 40.567916 49.703459)
+        (xy 40.568242 49.712151)
+        (xy 40.568242 49.712153)
+        (xy 40.569684 49.75056)
+        (xy 40.56975 49.754095)
+        (xy 40.56975 50.299391)
+        (xy 40.55175 50.35479)
+        (xy 40.542145 50.366036)
+        (xy 39.914036 50.994145)
+        (xy 39.862135 51.02059)
+        (xy 39.847391 51.02175)
+        (xy 37.761229 51.02175)
+        (xy 37.757291 51.021461)
+        (xy 37.752791 51.019916)
+        (xy 37.744099 51.020242)
+        (xy 37.744097 51.020242)
+        (xy 37.70569 51.021684)
+        (xy 37.702155 51.02175)
+        (xy 37.683628 51.02175)
+        (xy 37.679419 51.022534)
+        (xy 37.674475 51.022856)
+        (xy 37.667579 51.023115)
+        (xy 37.646229 51.023916)
+        (xy 37.636145 51.028249)
+        (xy 37.616202 51.034307)
+        (xy 37.613969 51.034723)
+        (xy 37.605416 51.036316)
+        (xy 37.598011 51.040881)
+        (xy 37.598008 51.040882)
+        (xy 37.583818 51.049629)
+        (xy 37.571565 51.055994)
+        (xy 37.554369 51.063382)
+        (xy 37.554366 51.063384)
+        (xy 37.548253 51.06601)
+        (xy 37.543596 51.069835)
+        (xy 37.539434 51.073997)
+        (xy 37.522246 51.087583)
+        (xy 37.522048 51.087705)
+        (xy 37.522046 51.087707)
+        (xy 37.51464 51.092272)
+        (xy 37.509374 51.099197)
+        (xy 37.497815 51.114398)
+        (xy 37.489437 51.123994)
+        (xy 36.721984 51.891447)
+        (xy 36.670083 51.917892)
+        (xy 36.61255 51.908779)
+        (xy 36.588694 51.891447)
+        (xy 36.521607 51.82436)
+        (xy 36.514134 51.820875)
+        (xy 36.514132 51.820874)
+        (xy 36.453198 51.792461)
+        (xy 36.412619 51.773539)
+        (xy 36.362952 51.767)
+        (xy 35.108048 51.767)
+        (xy 35.058381 51.773539)
+        (xy 35.017802 51.792461)
+        (xy 34.956868 51.820874)
+        (xy 34.956866 51.820875)
+        (xy 34.949393 51.82436)
+        (xy 34.86436 51.909393)
+        (xy 34.860875 51.916866)
+        (xy 34.860874 51.916868)
+        (xy 34.835685 51.970887)
+        (xy 34.813539 52.018381)
+        (xy 34.807 52.068048)
+        (xy 34.807 52.447952)
+        (xy 32.449 52.447952)
+        (xy 32.449 51.497952)
+        (xy 32.932 51.497952)
+        (xy 32.938539 51.547619)
+        (xy 32.947283 51.566371)
+        (xy 32.975867 51.62767)
+        (xy 32.98936 51.656607)
+        (xy 33.074393 51.74164)
+        (xy 33.081866 51.745125)
+        (xy 33.081868 51.745126)
+        (xy 33.121011 51.763378)
+        (xy 33.183381 51.792461)
+        (xy 33.233048 51.799)
+        (xy 34.487952 51.799)
+        (xy 34.537619 51.792461)
+        (xy 34.599989 51.763378)
+        (xy 34.639132 51.745126)
+        (xy 34.639134 51.745125)
+        (xy 34.646607 51.74164)
+        (xy 34.73164 51.656607)
+        (xy 34.745134 51.62767)
+        (xy 34.773717 51.566371)
+        (xy 34.782461 51.547619)
+        (xy 34.789 51.497952)
+        (xy 34.789 51.118048)
+        (xy 34.782461 51.068381)
+        (xy 34.747845 50.994145)
+        (xy 34.735126 50.966868)
+        (xy 34.735125 50.966866)
+        (xy 34.73164 50.959393)
+        (xy 34.646607 50.87436)
+        (xy 34.639134 50.870875)
+        (xy 34.639132 50.870874)
+        (xy 34.558129 50.833103)
+        (xy 34.537619 50.823539)
+        (xy 34.487952 50.817)
+        (xy 34.241 50.817)
+        (xy 34.185601 50.799)
+        (xy 34.151363 50.751875)
+        (xy 34.14675 50.72275)
+        (xy 34.14675 50.66512)
+        (xy 34.16475 50.609721)
+        (xy 34.211875 50.575483)
+        (xy 34.253301 50.571676)
+        (xy 34.283876 50.575701)
+        (xy 34.283878 50.575701)
+        (xy 34.29 50.576507)
+        (xy 34.429376 50.558158)
+        (xy 34.559254 50.504361)
+        (xy 34.655876 50.430219)
+        (xy 34.710784 50.410776)
+        (xy 34.766635 50.42732)
+        (xy 34.802095 50.473533)
+        (xy 34.807501 50.504994)
+        (xy 34.807501 50.54482)
+        (xy 34.807903 50.550954)
+        (xy 34.813087 50.590335)
+        (xy 34.817077 50.604026)
+        (xy 34.861291 50.698843)
+        (xy 34.870606 50.712146)
+        (xy 34.943854 50.785394)
+        (xy 34.957157 50.794709)
+        (xy 35.051977 50.838924)
+        (xy 35.065661 50.842913)
+        (xy 35.105049 50.848098)
+        (xy 35.111178 50.8485)
+        (xy 35.625323 50.8485)
+        (xy 35.6374 50.844576)
+        (xy 35.64025 50.840653)
+        (xy 35.64025 50.833572)
+        (xy 35.83075 50.833572)
+        (xy 35.834674 50.845649)
+        (xy 35.838597 50.848499)
+        (xy 36.35982 50.848499)
+        (xy 36.365954 50.848097)
+        (xy 36.405335 50.842913)
+        (xy 36.419026 50.838923)
+        (xy 36.513843 50.794709)
+        (xy 36.527146 50.785394)
+        (xy 36.600394 50.712146)
+        (xy 36.609709 50.698843)
+        (xy 36.653924 50.604023)
+        (xy 36.657913 50.590339)
+        (xy 36.663098 50.550951)
+        (xy 36.6635 50.544822)
+        (xy 36.6635 50.468177)
+        (xy 36.659576 50.4561)
+        (xy 36.655653 50.45325)
+        (xy 35.845677 50.45325)
+        (xy 35.8336 50.457174)
+        (xy 35.83075 50.461097)
+        (xy 35.83075 50.833572)
+        (xy 35.64025 50.833572)
+        (xy 35.64025 50.247823)
+        (xy 35.83075 50.247823)
+        (xy 35.834674 50.2599)
+        (xy 35.838597 50.26275)
+        (xy 36.648572 50.26275)
+        (xy 36.660649 50.258826)
+        (xy 36.663499 50.254903)
+        (xy 36.663499 50.17118)
+        (xy 36.663097 50.165046)
+        (xy 36.657913 50.125665)
+        (xy 36.653923 50.111974)
+        (xy 36.619428 50.038)
+        (xy 37.561493 50.038)
+        (xy 37.579842 50.177376)
+        (xy 37.582206 50.183083)
+        (xy 37.62806 50.293783)
+        (xy 37.633639 50.307253)
+        (xy 37.719218 50.418782)
+        (xy 37.830746 50.504361)
+        (xy 37.960624 50.558158)
+        (xy 38.1 50.576507)
+        (xy 38.239376 50.558158)
+        (xy 38.369254 50.504361)
+        (xy 38.383568 50.493378)
+        (xy 38.475878 50.422545)
+        (xy 38.475879 50.422544)
+        (xy 38.480782 50.418782)
+        (xy 38.481225 50.419359)
+        (xy 38.528719 50.39516)
+        (xy 38.543463 50.394)
+        (xy 38.667742 50.394)
+        (xy 38.723141 50.412)
+        (xy 38.751719 50.445461)
+        (xy 38.800887 50.541959)
+        (xy 38.800889 50.541962)
+        (xy 38.804254 50.548566)
+        (xy 38.897434 50.641746)
+        (xy 38.904038 50.645111)
+        (xy 38.904041 50.645113)
+        (xy 38.99957 50.693787)
+        (xy 39.014847 50.701571)
+        (xy 39.022169 50.702731)
+        (xy 39.02217 50.702731)
+        (xy 39.108605 50.716421)
+        (xy 39.10861 50.716421)
+        (xy 39.112263 50.717)
+        (xy 39.369965 50.717)
+        (xy 39.627736 50.716999)
+        (xy 39.725153 50.701571)
+        (xy 39.737158 50.695454)
+        (xy 39.835959 50.645113)
+        (xy 39.835962 50.645111)
+        (xy 39.842566 50.641746)
+        (xy 39.935746 50.548566)
+        (xy 39.939111 50.541962)
+        (xy 39.939113 50.541959)
+        (xy 39.992204 50.437761)
+        (xy 39.995571 50.431153)
+        (xy 39.996891 50.422819)
+        (xy 40.010421 50.337395)
+        (xy 40.010421 50.33739)
+        (xy 40.011 50.333737)
+        (xy 40.010999 49.818264)
+        (xy 39.995571 49.720847)
+        (xy 39.985259 49.700609)
+        (xy 39.939113 49.610041)
+        (xy 39.939111 49.610038)
+        (xy 39.935746 49.603434)
+        (xy 39.842566 49.510254)
+        (xy 39.835962 49.506889)
+        (xy 39.835959 49.506887)
+        (xy 39.731761 49.453796)
+        (xy 39.725153 49.450429)
+        (xy 39.717831 49.449269)
+        (xy 39.71783 49.449269)
+        (xy 39.631395 49.435579)
+        (xy 39.63139 49.435579)
+        (xy 39.627737 49.435)
+        (xy 39.370035 49.435)
+        (xy 39.112264 49.435001)
+        (xy 39.014847 49.450429)
+        (xy 39.008235 49.453798)
+        (xy 38.904041 49.506887)
+        (xy 38.904038 49.506889)
+        (xy 38.897434 49.510254)
+        (xy 38.804254 49.603434)
+        (xy 38.800889 49.610038)
+        (xy 38.800887 49.610041)
+        (xy 38.751719 49.706539)
+        (xy 38.71053 49.747727)
+        (xy 38.667742 49.758)
+        (xy 38.604593 49.758)
+        (xy 38.549194 49.74)
+        (xy 38.529825 49.721132)
+        (xy 38.480782 49.657218)
+        (xy 38.369254 49.571639)
+        (xy 38.239376 49.517842)
+        (xy 38.1 49.499493)
+        (xy 37.960624 49.517842)
+        (xy 37.954916 49.520206)
+        (xy 37.954917 49.520206)
+        (xy 37.851343 49.563108)
+        (xy 37.830747 49.571639)
+        (xy 37.719218 49.657218)
+        (xy 37.633639 49.768747)
+        (xy 37.631278 49.774448)
+        (xy 37.631277 49.774449)
+        (xy 37.624263 49.791382)
+        (xy 37.579842 49.898624)
+        (xy 37.561493 50.038)
+        (xy 36.619428 50.038)
+        (xy 36.609709 50.017157)
+        (xy 36.600394 50.003854)
+        (xy 36.527146 49.930606)
+        (xy 36.513843 49.921291)
+        (xy 36.419023 49.877076)
+        (xy 36.405339 49.873087)
+        (xy 36.365951 49.867902)
+        (xy 36.359822 49.8675)
+        (xy 35.845677 49.8675)
+        (xy 35.8336 49.871424)
+        (xy 35.83075 49.875347)
+        (xy 35.83075 50.247823)
+        (xy 35.64025 50.247823)
+        (xy 35.64025 49.882428)
+        (xy 35.636326 49.870351)
+        (xy 35.632403 49.867501)
+        (xy 35.11118 49.867501)
+        (xy 35.105046 49.867903)
+        (xy 35.065665 49.873087)
+        (xy 35.051974 49.877077)
+        (xy 34.957157 49.921291)
+        (xy 34.94668 49.928627)
+        (xy 34.890975 49.945657)
+        (xy 34.835899 49.926691)
+        (xy 34.805546 49.887489)
+        (xy 34.758723 49.774449)
+        (xy 34.758722 49.774448)
+        (xy 34.756361 49.768747)
+        (xy 34.670782 49.657218)
+        (xy 34.575122 49.583815)
+        (xy 34.542131 49.535812)
+        (xy 34.53825 49.509044)
+        (xy 34.53825 49.483215)
+        (xy 34.55625 49.427816)
+        (xy 34.602336 49.394334)
+        (xy 34.607153 49.393571)
+        (xy 34.61376 49.390205)
+        (xy 34.613762 49.390204)
+        (xy 34.717959 49.337113)
+        (xy 34.717962 49.337111)
+        (xy 34.724566 49.333746)
+        (xy 34.817746 49.240566)
+        (xy 34.821111 49.233962)
+        (xy 34.821113 49.233959)
+        (xy 34.874204 49.129761)
+        (xy 34.877571 49.123153)
+        (xy 34.878732 49.115825)
+        (xy 34.892421 49.029395)
+        (xy 34.892421 49.02939)
+        (xy 34.893 49.025737)
+        (xy 34.893 49.021994)
+        (xy 35.2115 49.021994)
+        (xy 35.212079 49.029358)
+        (xy 35.22575 49.115675)
+        (xy 35.230277 49.129604)
+        (xy 35.283297 49.233662)
+        (xy 35.291907 49.245512)
+        (xy 35.374488 49.328093)
+        (xy 35.386338 49.336703)
+        (xy 35.490396 49.389723)
+        (xy 35.504325 49.39425)
+        (xy 35.590642 49.407921)
+        (xy 35.598006 49.4085)
+        (xy 35.741823 49.4085)
+        (xy 35.7539 49.404576)
+        (xy 35.75675 49.400653)
+        (xy 35.75675 49.393571)
+        (xy 35.94725 49.393571)
+        (xy 35.951174 49.40565)
+        (xy 35.955097 49.4085)
+        (xy 36.105994 49.4085)
+        (xy 36.113358 49.407921)
+        (xy 36.199675 49.39425)
+        (xy 36.213604 49.389723)
+        (xy 36.317662 49.336703)
+        (xy 36.329512 49.328093)
+        (xy 36.412093 49.245512)
+        (xy 36.420703 49.233662)
+        (xy 36.473723 49.129604)
+        (xy 36.47825 49.115675)
+        (xy 36.491921 49.029358)
+        (xy 36.4925 49.021994)
+        (xy 36.4925 48.878177)
+        (xy 36.488576 48.8661)
+        (xy 36.484653 48.86325)
+        (xy 35.962177 48.86325)
+        (xy 35.9501 48.867174)
+        (xy 35.94725 48.871097)
+        (xy 35.94725 49.393571)
+        (xy 35.75675 49.393571)
+        (xy 35.75675 48.878177)
+        (xy 35.752826 48.8661)
+        (xy 35.748903 48.86325)
+        (xy 35.226427 48.86325)
+        (xy 35.21435 48.867174)
+        (xy 35.2115 48.871097)
+        (xy 35.2115 49.021994)
+        (xy 34.893 49.021994)
+        (xy 34.892999 48.657823)
+        (xy 35.2115 48.657823)
+        (xy 35.215424 48.6699)
+        (xy 35.219347 48.67275)
+        (xy 35.741823 48.67275)
+        (xy 35.7539 48.668826)
+        (xy 35.75675 48.664903)
+        (xy 35.75675 48.657823)
+        (xy 35.94725 48.657823)
+        (xy 35.951174 48.6699)
+        (xy 35.955097 48.67275)
+        (xy 36.477573 48.67275)
+        (xy 36.48965 48.668826)
+        (xy 36.4925 48.664903)
+        (xy 36.4925 48.514)
+        (xy 36.491921 48.506642)
+        (xy 36.483241 48.451839)
+        (xy 37.432143 48.451839)
+        (xy 37.441031 48.495917)
+        (xy 37.459643 48.58822)
+        (xy 37.461057 48.595233)
+        (xy 37.527466 48.725569)
+        (xy 37.571586 48.773549)
+        (xy 37.606872 48.811922)
+        (xy 37.626479 48.833245)
+        (xy 37.63194 48.836631)
+        (xy 37.741484 48.904551)
+        (xy 37.750801 48.910328)
+        (xy 37.756971 48.912121)
+        (xy 37.756972 48.912121)
+        (xy 37.886529 48.949761)
+        (xy 37.886531 48.949761)
+        (xy 37.891273 48.951139)
+        (xy 37.896198 48.951501)
+        (xy 37.8962 48.951501)
+        (xy 37.898106 48.951641)
+        (xy 37.901636 48.9519)
+        (xy 38.006648 48.9519)
+        (xy 38.114926 48.937068)
+        (xy 38.249175 48.878973)
+        (xy 38.254165 48.874932)
+        (xy 38.254167 48.874931)
+        (xy 38.357861 48.790961)
+        (xy 38.357862 48.79096)
+        (xy 38.362856 48.786916)
+        (xy 38.366577 48.78168)
+        (xy 38.366579 48.781678)
+        (xy 38.403309 48.729994)
+        (xy 38.7295 48.729994)
+        (xy 38.730079 48.737358)
+        (xy 38.74375 48.823675)
+        (xy 38.748277 48.837604)
+        (xy 38.801297 48.941662)
+        (xy 38.809907 48.953512)
+        (xy 38.892488 49.036093)
+        (xy 38.904338 49.044703)
+        (xy 39.008396 49.097723)
+        (xy 39.022325 49.10225)
+        (xy 39.108642 49.115921)
+        (xy 39.116006 49.1165)
+        (xy 39.259823 49.1165)
+        (xy 39.2719 49.112576)
+        (xy 39.27475 49.108653)
+        (xy 39.27475 49.101573)
+        (xy 39.46525 49.101573)
+        (xy 39.469174 49.11365)
+        (xy 39.473097 49.1165)
+        (xy 39.623994 49.1165)
+        (xy 39.631358 49.115921)
+        (xy 39.717675 49.10225)
+        (xy 39.731604 49.097723)
+        (xy 39.835662 49.044703)
+        (xy 39.847512 49.036093)
+        (xy 39.930093 48.953512)
+        (xy 39.938703 48.941662)
+        (xy 39.991723 48.837604)
+        (xy 39.99625 48.823675)
+        (xy 40.009921 48.737358)
+        (xy 40.0105 48.729994)
+        (xy 40.0105 48.586177)
+        (xy 40.006576 48.5741)
+        (xy 40.002653 48.57125)
+        (xy 39.480177 48.57125)
+        (xy 39.4681 48.575174)
+        (xy 39.46525 48.579097)
+        (xy 39.46525 49.101573)
+        (xy 39.27475 49.101573)
+        (xy 39.27475 48.586177)
+        (xy 39.270826 48.5741)
+        (xy 39.266903 48.57125)
+        (xy 38.744427 48.57125)
+        (xy 38.73235 48.575174)
+        (xy 38.7295 48.579097)
+        (xy 38.7295 48.729994)
+        (xy 38.403309 48.729994)
+        (xy 38.436492 48.6833)
+        (xy 38.447593 48.667679)
+        (xy 38.497143 48.530048)
+        (xy 38.507857 48.384161)
+        (xy 38.494362 48.317235)
+        (xy 38.480214 48.247068)
+        (xy 38.480213 48.247065)
+        (xy 38.478943 48.240767)
+        (xy 38.412534 48.110431)
+        (xy 38.345931 48.038001)
+        (xy 38.31787 48.007484)
+        (xy 38.317868 48.007482)
+        (xy 38.313521 48.002755)
+        (xy 38.269552 47.975493)
+        (xy 38.194662 47.929059)
+        (xy 38.194661 47.929058)
+        (xy 38.189199 47.925672)
+        (xy 38.183029 47.923879)
+        (xy 38.183028 47.923879)
+        (xy 38.053471 47.886239)
+        (xy 38.053469 47.886239)
+        (xy 38.048727 47.884861)
+        (xy 38.043802 47.884499)
+        (xy 38.0438 47.884499)
+        (xy 38.041894 47.884359)
+        (xy 38.038364 47.8841)
+        (xy 37.933352 47.8841)
+        (xy 37.825074 47.898932)
+        (xy 37.690825 47.957027)
+        (xy 37.685835 47.961068)
+        (xy 37.685833 47.961069)
+        (xy 37.590114 48.038581)
+        (xy 37.577144 48.049084)
+        (xy 37.573423 48.05432)
+        (xy 37.573421 48.054322)
+        (xy 37.533403 48.110634)
+        (xy 37.492407 48.168321)
+        (xy 37.442857 48.305952)
+        (xy 37.432143 48.451839)
+        (xy 36.483241 48.451839)
+        (xy 36.47825 48.420325)
+        (xy 36.473723 48.406396)
+        (xy 36.420703 48.302338)
+        (xy 36.412093 48.290488)
+        (xy 36.329512 48.207907)
+        (xy 36.317662 48.199297)
+        (xy 36.213604 48.146277)
+        (xy 36.199675 48.14175)
+        (xy 36.113358 48.128079)
+        (xy 36.105994 48.1275)
+        (xy 35.962177 48.1275)
+        (xy 35.9501 48.131424)
+        (xy 35.94725 48.135347)
+        (xy 35.94725 48.657823)
+        (xy 35.75675 48.657823)
+        (xy 35.75675 48.142427)
+        (xy 35.752826 48.13035)
+        (xy 35.748903 48.1275)
+        (xy 35.598006 48.1275)
+        (xy 35.590642 48.128079)
+        (xy 35.504325 48.14175)
+        (xy 35.490396 48.146277)
+        (xy 35.386338 48.199297)
+        (xy 35.374488 48.207907)
+        (xy 35.291907 48.290488)
+        (xy 35.283297 48.302338)
+        (xy 35.230277 48.406396)
+        (xy 35.22575 48.420325)
+        (xy 35.212079 48.506642)
+        (xy 35.2115 48.514)
+        (xy 35.2115 48.657823)
+        (xy 34.892999 48.657823)
+        (xy 34.892999 48.510264)
+        (xy 34.877571 48.412847)
+        (xy 34.862539 48.383345)
+        (xy 34.821113 48.302041)
+        (xy 34.821111 48.302038)
+        (xy 34.817746 48.295434)
+        (xy 34.724566 48.202254)
+        (xy 34.717962 48.198889)
+        (xy 34.717959 48.198887)
+        (xy 34.613761 48.145796)
+        (xy 34.607153 48.142429)
+        (xy 34.599831 48.141269)
+        (xy 34.59983 48.141269)
+        (xy 34.513395 48.127579)
+        (xy 34.51339 48.127579)
+        (xy 34.509737 48.127)
+        (xy 34.252035 48.127)
+        (xy 33.994264 48.127001)
+        (xy 33.896847 48.142429)
+        (xy 33.890235 48.145798)
+        (xy 33.786041 48.198887)
+        (xy 33.786038 48.198889)
+        (xy 33.779434 48.202254)
+        (xy 33.686254 48.295434)
+        (xy 33.682889 48.302038)
+        (xy 33.682887 48.302041)
+        (xy 33.641461 48.383345)
+        (xy 33.626429 48.412847)
+        (xy 33.625269 48.420169)
+        (xy 33.625269 48.42017)
+        (xy 33.61158 48.506604)
+        (xy 33.611 48.510263)
+        (xy 33.611001 49.025736)
+        (xy 33.626429 49.123153)
+        (xy 33.629798 49.129765)
+        (xy 33.682887 49.233959)
+        (xy 33.682889 49.233962)
+        (xy 33.686254 49.240566)
+        (xy 33.779434 49.333746)
+        (xy 33.786038 49.337111)
+        (xy 33.786041 49.337113)
+        (xy 33.866342 49.378028)
+        (xy 33.896847 49.393571)
+        (xy 33.901666 49.394334)
+        (xy 33.947752 49.42782)
+        (xy 33.96575 49.483216)
+        (xy 33.96575 49.567361)
+        (xy 33.94775 49.62276)
+        (xy 33.928875 49.642135)
+        (xy 33.91412 49.653456)
+        (xy 33.914118 49.653458)
+        (xy 33.909218 49.657218)
+        (xy 33.823639 49.768747)
+        (xy 33.821278 49.774448)
+        (xy 33.821277 49.774449)
+        (xy 33.814263 49.791382)
+        (xy 33.769842 49.898624)
+        (xy 33.751493 50.038)
+        (xy 33.752299 50.044122)
+        (xy 33.760979 50.110054)
+        (xy 33.750363 50.167328)
+        (xy 33.73418 50.189001)
+        (xy 33.694135 50.229046)
+        (xy 33.691149 50.231624)
+        (xy 33.686875 50.233713)
+        (xy 33.680957 50.240093)
+        (xy 33.654838 50.268249)
+        (xy 33.652385 50.270796)
+        (xy 33.639266 50.283915)
+        (xy 33.636838 50.287454)
+        (xy 33.633566 50.29118)
+        (xy 33.614353 50.311892)
+        (xy 33.611129 50.319973)
+        (xy 33.610287 50.322084)
+        (xy 33.600468 50.340472)
+        (xy 33.594262 50.349519)
+        (xy 33.592254 50.357981)
+        (xy 33.592253 50.357983)
+        (xy 33.588402 50.374211)
+        (xy 33.58424 50.38737)
+        (xy 33.574838 50.410937)
+        (xy 33.57425 50.416934)
+        (xy 33.57425 50.422819)
+        (xy 33.571703 50.44458)
+        (xy 33.56964 50.453274)
+        (xy 33.570813 50.461893)
+        (xy 33.570813 50.461894)
+        (xy 33.573389 50.480821)
+        (xy 33.57425 50.493531)
+        (xy 33.57425 50.72275)
+        (xy 33.55625 50.778149)
+        (xy 33.509125 50.812387)
+        (xy 33.48 50.817)
+        (xy 33.233048 50.817)
+        (xy 33.183381 50.823539)
+        (xy 33.162871 50.833103)
+        (xy 33.081868 50.870874)
+        (xy 33.081866 50.870875)
+        (xy 33.074393 50.87436)
+        (xy 32.98936 50.959393)
+        (xy 32.985875 50.966866)
+        (xy 32.985874 50.966868)
+        (xy 32.973155 50.994145)
+        (xy 32.938539 51.068381)
+        (xy 32.932 51.118048)
+        (xy 32.932 51.497952)
+        (xy 32.449 51.497952)
+        (xy 32.449 47.095925)
+        (xy 33.055756 47.095925)
+        (xy 33.086727 47.224931)
+        (xy 33.090661 47.235508)
+        (xy 33.162101 47.373919)
+        (xy 33.168443 47.383252)
+        (xy 33.270837 47.500629)
+        (xy 33.27922 47.508177)
+        (xy 33.406655 47.59774)
+        (xy 33.416605 47.603075)
+        (xy 33.561723 47.659653)
+        (xy 33.572653 47.66246)
+        (xy 33.691438 47.678098)
+        (xy 33.697567 47.6785)
+        (xy 34.179823 47.6785)
+        (xy 34.1919 47.674576)
+        (xy 34.19475 47.670653)
+        (xy 34.19475 47.663573)
+        (xy 34.38525 47.663573)
+        (xy 34.389174 47.67565)
+        (xy 34.393097 47.6785)
+        (xy 34.879065 47.6785)
+        (xy 34.884728 47.678158)
+        (xy 35.000276 47.664176)
+        (xy 35.01123 47.661485)
+        (xy 35.156946 47.606424)
+        (xy 35.166933 47.601203)
+        (xy 35.295306 47.512974)
+        (xy 35.303769 47.505513)
+        (xy 35.407392 47.38921)
+        (xy 35.413825 47.379954)
+        (xy 35.486713 47.24229)
+        (xy 35.490755 47.23176)
+        (xy 35.524421 47.097729)
+        (xy 35.524298 47.095925)
+        (xy 37.235756 47.095925)
+        (xy 37.266727 47.224931)
+        (xy 37.270661 47.235508)
+        (xy 37.342101 47.373919)
+        (xy 37.348443 47.383252)
+        (xy 37.450837 47.500629)
+        (xy 37.45922 47.508177)
+        (xy 37.586655 47.59774)
+        (xy 37.596605 47.603075)
+        (xy 37.741723 47.659653)
+        (xy 37.752653 47.66246)
+        (xy 37.871438 47.678098)
+        (xy 37.877567 47.6785)
+        (xy 38.359823 47.6785)
+        (xy 38.3719 47.674576)
+        (xy 38.37475 47.670653)
+        (xy 38.37475 47.663573)
+        (xy 38.56525 47.663573)
+        (xy 38.569174 47.67565)
+        (xy 38.573097 47.6785)
+        (xy 38.960798 47.6785)
+        (xy 39.016197 47.6965)
+        (xy 39.050435 47.743625)
+        (xy 39.050435 47.801875)
+        (xy 39.016197 47.849)
+        (xy 39.003587 47.856727)
+        (xy 38.904338 47.907297)
+        (xy 38.892488 47.915907)
+        (xy 38.809907 47.998488)
+        (xy 38.801297 48.010338)
+        (xy 38.748277 48.114396)
+        (xy 38.74375 48.128325)
+        (xy 38.730079 48.214642)
+        (xy 38.7295 48.222006)
+        (xy 38.7295 48.365823)
+        (xy 38.733424 48.3779)
+        (xy 38.737347 48.38075)
+        (xy 39.259823 48.38075)
+        (xy 39.2719 48.376826)
+        (xy 39.27475 48.372903)
+        (xy 39.27475 48.365823)
+        (xy 39.46525 48.365823)
+        (xy 39.469174 48.3779)
+        (xy 39.473097 48.38075)
+        (xy 39.995573 48.38075)
+        (xy 40.00765 48.376826)
+        (xy 40.0105 48.372903)
+        (xy 40.0105 48.222006)
+        (xy 40.009921 48.214642)
+        (xy 39.99625 48.128325)
+        (xy 39.991723 48.114396)
+        (xy 39.938703 48.010338)
+        (xy 39.930093 47.998488)
+        (xy 39.847512 47.915907)
+        (xy 39.835662 47.907297)
+        (xy 39.731604 47.854277)
+        (xy 39.717675 47.84975)
+        (xy 39.631358 47.836079)
+        (xy 39.623994 47.8355)
+        (xy 39.480177 47.8355)
+        (xy 39.4681 47.839424)
+        (xy 39.46525 47.843347)
+        (xy 39.46525 48.365823)
+        (xy 39.27475 48.365823)
+        (xy 39.27475 47.850427)
+        (xy 39.270826 47.83835)
+        (xy 39.266903 47.8355)
+        (xy 39.246779 47.8355)
+        (xy 39.19138 47.8175)
+        (xy 39.157142 47.770375)
+        (xy 39.157142 47.712125)
+        (xy 39.19138 47.665)
+        (xy 39.213464 47.653084)
+        (xy 39.336946 47.606424)
+        (xy 39.346933 47.601203)
+        (xy 39.475306 47.512974)
+        (xy 39.483769 47.505513)
+        (xy 39.587392 47.38921)
+        (xy 39.593825 47.379954)
+        (xy 39.666713 47.24229)
+        (xy 39.670755 47.23176)
+        (xy 39.704421 47.097729)
+        (xy 39.703607 47.085792)
+        (xy 39.69477 47.08325)
+        (xy 38.580177 47.08325)
+        (xy 38.5681 47.087174)
+        (xy 38.56525 47.091097)
+        (xy 38.56525 47.663573)
+        (xy 38.37475 47.663573)
+        (xy 38.37475 47.098177)
+        (xy 38.370826 47.0861)
+        (xy 38.366903 47.08325)
+        (xy 37.24764 47.08325)
+        (xy 37.236107 47.086997)
+        (xy 37.235756 47.095925)
+        (xy 35.524298 47.095925)
+        (xy 35.523607 47.085792)
+        (xy 35.51477 47.08325)
+        (xy 34.400177 47.08325)
+        (xy 34.3881 47.087174)
+        (xy 34.38525 47.091097)
+        (xy 34.38525 47.663573)
+        (xy 34.19475 47.663573)
+        (xy 34.19475 47.098177)
+        (xy 34.190826 47.0861)
+        (xy 34.186903 47.08325)
+        (xy 33.06764 47.08325)
+        (xy 33.056107 47.086997)
+        (xy 33.055756 47.095925)
+        (xy 32.449 47.095925)
+        (xy 32.449 46.878271)
+        (xy 33.055579 46.878271)
+        (xy 33.056393 46.890208)
+        (xy 33.06523 46.89275)
+        (xy 34.179823 46.89275)
+        (xy 34.1919 46.888826)
+        (xy 34.19475 46.884903)
+        (xy 34.19475 46.877823)
+        (xy 34.38525 46.877823)
+        (xy 34.389174 46.8899)
+        (xy 34.393097 46.89275)
+        (xy 35.51236 46.89275)
+        (xy 35.523893 46.889003)
+        (xy 35.524244 46.880075)
+        (xy 35.523811 46.878271)
+        (xy 37.235579 46.878271)
+        (xy 37.236393 46.890208)
+        (xy 37.24523 46.89275)
+        (xy 38.359823 46.89275)
+        (xy 38.3719 46.888826)
+        (xy 38.37475 46.884903)
+        (xy 38.37475 46.877823)
+        (xy 38.56525 46.877823)
+        (xy 38.569174 46.8899)
+        (xy 38.573097 46.89275)
+        (xy 39.69236 46.89275)
+        (xy 39.703893 46.889003)
+        (xy 39.704244 46.880075)
+        (xy 39.673273 46.751069)
+        (xy 39.669339 46.740492)
+        (xy 39.597899 46.602081)
+        (xy 39.591557 46.592748)
+        (xy 39.489163 46.475371)
+        (xy 39.48078 46.467823)
+        (xy 39.353345 46.37826)
+        (xy 39.343395 46.372925)
+        (xy 39.198277 46.316347)
+        (xy 39.187347 46.31354)
+        (xy 39.068562 46.297902)
+        (xy 39.062433 46.2975)
+        (xy 38.580177 46.2975)
+        (xy 38.5681 46.301424)
+        (xy 38.56525 46.305347)
+        (xy 38.56525 46.877823)
+        (xy 38.37475 46.877823)
+        (xy 38.37475 46.312427)
+        (xy 38.370826 46.30035)
+        (xy 38.366903 46.2975)
+        (xy 37.880935 46.2975)
+        (xy 37.875272 46.297842)
+        (xy 37.759724 46.311824)
+        (xy 37.74877 46.314515)
+        (xy 37.603054 46.369576)
+        (xy 37.593067 46.374797)
+        (xy 37.464694 46.463026)
+        (xy 37.456231 46.470487)
+        (xy 37.352608 46.58679)
+        (xy 37.346175 46.596046)
+        (xy 37.273287 46.73371)
+        (xy 37.269245 46.74424)
+        (xy 37.235579 46.878271)
+        (xy 35.523811 46.878271)
+        (xy 35.493273 46.751069)
+        (xy 35.489339 46.740492)
+        (xy 35.417899 46.602081)
+        (xy 35.411557 46.592748)
+        (xy 35.309163 46.475371)
+        (xy 35.30078 46.467823)
+        (xy 35.173345 46.37826)
+        (xy 35.163395 46.372925)
+        (xy 35.018277 46.316347)
+        (xy 35.007347 46.31354)
+        (xy 34.888562 46.297902)
+        (xy 34.882433 46.2975)
+        (xy 34.400177 46.2975)
+        (xy 34.3881 46.301424)
+        (xy 34.38525 46.305347)
+        (xy 34.38525 46.877823)
+        (xy 34.19475 46.877823)
+        (xy 34.19475 46.312427)
+        (xy 34.190826 46.30035)
+        (xy 34.186903 46.2975)
+        (xy 33.700935 46.2975)
+        (xy 33.695272 46.297842)
+        (xy 33.579724 46.311824)
+        (xy 33.56877 46.314515)
+        (xy 33.423054 46.369576)
+        (xy 33.413067 46.374797)
+        (xy 33.284694 46.463026)
+        (xy 33.276231 46.470487)
+        (xy 33.172608 46.58679)
+        (xy 33.166175 46.596046)
+        (xy 33.093287 46.73371)
+        (xy 33.089245 46.74424)
+        (xy 33.055579 46.878271)
+        (xy 32.449 46.878271)
+        (xy 32.449 46.00525)
+        (xy 32.467 45.949851)
+        (xy 32.514125 45.915613)
+        (xy 32.54325 45.911)
+        (xy 56.35675 45.911)
+      )
+    )
+  )
+)

+ 75 - 0
dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_prl

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

+ 433 - 0
dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_pro

@@ -0,0 +1,433 @@
+{
+  "board": {
+    "design_settings": {
+      "defaults": {
+        "board_outline_line_width": 0.09999999999999999,
+        "copper_line_width": 0.19999999999999998,
+        "copper_text_italic": false,
+        "copper_text_size_h": 1.5,
+        "copper_text_size_v": 1.5,
+        "copper_text_thickness": 0.3,
+        "copper_text_upright": false,
+        "courtyard_line_width": 0.049999999999999996,
+        "dimension_precision": 4,
+        "dimension_units": 3,
+        "dimensions": {
+          "arrow_length": 1270000,
+          "extension_offset": 500000,
+          "keep_text_aligned": true,
+          "suppress_zeroes": false,
+          "text_position": 0,
+          "units_format": 1
+        },
+        "fab_line_width": 0.09999999999999999,
+        "fab_text_italic": false,
+        "fab_text_size_h": 1.0,
+        "fab_text_size_v": 1.0,
+        "fab_text_thickness": 0.15,
+        "fab_text_upright": false,
+        "other_line_width": 0.15,
+        "other_text_italic": false,
+        "other_text_size_h": 1.0,
+        "other_text_size_v": 1.0,
+        "other_text_thickness": 0.15,
+        "other_text_upright": false,
+        "pads": {
+          "drill": 0.762,
+          "height": 1.524,
+          "width": 1.524
+        },
+        "silk_line_width": 0.15,
+        "silk_text_italic": false,
+        "silk_text_size_h": 1.0,
+        "silk_text_size_v": 1.0,
+        "silk_text_thickness": 0.15,
+        "silk_text_upright": false,
+        "zones": {
+          "45_degree_only": false,
+          "min_clearance": 0.1905
+        }
+      },
+      "diff_pair_dimensions": [
+        {
+          "gap": 0.0,
+          "via_gap": 0.0,
+          "width": 0.0
+        }
+      ],
+      "drc_exclusions": [],
+      "meta": {
+        "version": 2
+      },
+      "rule_severities": {
+        "annular_width": "error",
+        "clearance": "error",
+        "copper_edge_clearance": "error",
+        "courtyards_overlap": "error",
+        "diff_pair_gap_out_of_range": "error",
+        "diff_pair_uncoupled_length_too_long": "error",
+        "drill_out_of_range": "error",
+        "duplicate_footprints": "warning",
+        "extra_footprint": "warning",
+        "footprint_type_mismatch": "error",
+        "hole_clearance": "error",
+        "hole_near_hole": "error",
+        "invalid_outline": "error",
+        "item_on_disabled_layer": "error",
+        "items_not_allowed": "error",
+        "length_out_of_range": "error",
+        "malformed_courtyard": "error",
+        "microvia_drill_out_of_range": "error",
+        "missing_courtyard": "ignore",
+        "missing_footprint": "warning",
+        "net_conflict": "warning",
+        "npth_inside_courtyard": "ignore",
+        "padstack": "error",
+        "pth_inside_courtyard": "ignore",
+        "shorting_items": "error",
+        "silk_over_copper": "ignore",
+        "silk_overlap": "ignore",
+        "skew_out_of_range": "error",
+        "through_hole_pad_without_hole": "error",
+        "too_many_vias": "error",
+        "track_dangling": "warning",
+        "track_width": "error",
+        "tracks_crossing": "error",
+        "unconnected_items": "error",
+        "unresolved_variable": "error",
+        "via_dangling": "warning",
+        "zone_has_empty_net": "error",
+        "zones_intersect": "error"
+      },
+      "rules": {
+        "allow_blind_buried_vias": false,
+        "allow_microvias": false,
+        "max_error": 0.0050799999999999994,
+        "min_clearance": 0.0,
+        "min_copper_edge_clearance": 0.0,
+        "min_hole_clearance": 0.0,
+        "min_hole_to_hole": 0.254,
+        "min_microvia_diameter": 0.127,
+        "min_microvia_drill": 0.1016,
+        "min_silk_clearance": 0.0,
+        "min_through_hole_diameter": 0.3302,
+        "min_track_width": 0.1905,
+        "min_via_annular_width": 0.17779999999999999,
+        "min_via_diameter": 0.3302,
+        "solder_mask_clearance": 0.0,
+        "solder_mask_min_width": 0.0,
+        "use_height_for_length_calcs": true
+      },
+      "track_widths": [
+        0.0
+      ],
+      "via_dimensions": [
+        {
+          "diameter": 0.0,
+          "drill": 0.0
+        }
+      ],
+      "zones_allow_external_fillets": false,
+      "zones_use_no_outline": true
+    },
+    "layer_presets": []
+  },
+  "boards": [],
+  "cvpcb": {
+    "equivalence_files": []
+  },
+  "erc": {
+    "erc_exclusions": [],
+    "meta": {
+      "version": 0
+    },
+    "pin_map": [
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        2,
+        2,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        1,
+        0,
+        1,
+        2
+      ],
+      [
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        2,
+        1,
+        1,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        1,
+        1,
+        1,
+        1,
+        1,
+        0,
+        1,
+        1,
+        1,
+        1,
+        1,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        1,
+        2,
+        0,
+        0,
+        1,
+        0,
+        2,
+        2,
+        2,
+        2
+      ],
+      [
+        0,
+        2,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        1,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        0,
+        0,
+        2
+      ],
+      [
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2
+      ]
+    ],
+    "rule_severities": {
+      "bus_definition_conflict": "error",
+      "bus_entry_needed": "error",
+      "bus_label_syntax": "error",
+      "bus_to_bus_conflict": "error",
+      "bus_to_net_conflict": "error",
+      "different_unit_footprint": "error",
+      "different_unit_net": "error",
+      "duplicate_reference": "error",
+      "duplicate_sheet_names": "error",
+      "extra_units": "error",
+      "global_label_dangling": "warning",
+      "hier_label_mismatch": "error",
+      "label_dangling": "error",
+      "lib_symbol_issues": "warning",
+      "multiple_net_names": "warning",
+      "net_not_bus_member": "warning",
+      "no_connect_connected": "warning",
+      "no_connect_dangling": "warning",
+      "pin_not_connected": "ignore",
+      "pin_not_driven": "error",
+      "pin_to_pin": "error",
+      "power_pin_not_driven": "error",
+      "similar_labels": "warning",
+      "unannotated": "error",
+      "unit_value_mismatch": "error",
+      "unresolved_variable": "error",
+      "wire_dangling": "error"
+    }
+  },
+  "libraries": {
+    "pinned_footprint_libs": [],
+    "pinned_symbol_libs": []
+  },
+  "meta": {
+    "filename": "m484-dap.kicad_pro",
+    "version": 1
+  },
+  "net_settings": {
+    "classes": [
+      {
+        "bus_width": 12.0,
+        "clearance": 0.1778,
+        "diff_pair_gap": 0.254,
+        "diff_pair_via_gap": 0.25,
+        "diff_pair_width": 0.254,
+        "line_style": 0,
+        "microvia_diameter": 0.254,
+        "microvia_drill": 0.1016,
+        "name": "Default",
+        "pcb_color": "rgba(0, 0, 0, 0.000)",
+        "schematic_color": "rgba(0, 0, 0, 0.000)",
+        "track_width": 0.1905,
+        "via_diameter": 0.6858,
+        "via_drill": 0.3302,
+        "wire_width": 6.0
+      }
+    ],
+    "meta": {
+      "version": 2
+    },
+    "net_colors": null
+  },
+  "pcbnew": {
+    "last_paths": {
+      "gencad": "",
+      "idf": "",
+      "netlist": "",
+      "specctra_dsn": "",
+      "step": "",
+      "vrml": ""
+    },
+    "page_layout_descr_file": "pcb.kicad_wks"
+  },
+  "schematic": {
+    "annotate_start_num": 0,
+    "drawing": {
+      "default_line_thickness": 6.0,
+      "default_text_size": 50.0,
+      "field_names": [],
+      "intersheets_ref_own_page": false,
+      "intersheets_ref_prefix": "",
+      "intersheets_ref_short": false,
+      "intersheets_ref_show": true,
+      "intersheets_ref_suffix": "",
+      "junction_size_choice": 3,
+      "label_size_ratio": 0.375,
+      "pin_symbol_size": 25.0,
+      "text_offset_ratio": 0.15
+    },
+    "legacy_lib_dir": "",
+    "legacy_lib_list": [],
+    "meta": {
+      "version": 1
+    },
+    "net_format_name": "",
+    "ngspice": {
+      "fix_include_paths": true,
+      "fix_passive_vals": false,
+      "meta": {
+        "version": 0
+      },
+      "model_mode": 0,
+      "workbook_filename": ""
+    },
+    "page_layout_descr_file": "sch.kicad_wks",
+    "plot_directory": "output/",
+    "spice_adjust_passive_values": false,
+    "spice_external_command": "spice \"%I\"",
+    "subpart_first_id": 65,
+    "subpart_id_separator": 0
+  },
+  "sheets": [
+    [
+      "9538e4ed-27e6-4c37-b989-9859dc0d49e8",
+      ""
+    ]
+  ],
+  "text_variables": {}
+}

+ 2956 - 0
dap_link/lib/free-dap/hardware/m484-dap/m484-dap.kicad_sch

@@ -0,0 +1,2956 @@
+(kicad_sch (version 20211123) (generator eeschema)
+
+  (uuid 9538e4ed-27e6-4c37-b989-9859dc0d49e8)
+
+  (paper "USLetter")
+
+  (title_block
+    (date "2022-07-20")
+    (rev "1")
+  )
+
+  (lib_symbols
+    (symbol "ataradov_conn:Conn-5x2" (pin_names (offset 0.635)) (in_bom yes) (on_board yes)
+      (property "Reference" "J?" (id 0) (at 0 7.62 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "Conn-5x2" (id 1) (at 0 -7.62 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Footprint" "ataradov_conn:Header-5x2-2.54mm" (id 2) (at 0 -10.16 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 29.21 13.97 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "Conn-5x2_0_1"
+        (rectangle (start -3.81 6.35) (end 3.81 -6.35)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "Conn-5x2_1_1"
+        (pin passive line (at -6.35 5.08 0) (length 2.54)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 -5.08 180) (length 2.54)
+          (name "10" (effects (font (size 1.27 1.27))))
+          (number "10" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 5.08 180) (length 2.54)
+          (name "2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 2.54 0) (length 2.54)
+          (name "3" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 2.54 180) (length 2.54)
+          (name "4" (effects (font (size 1.27 1.27))))
+          (number "4" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 0 0) (length 2.54)
+          (name "5" (effects (font (size 1.27 1.27))))
+          (number "5" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 0 180) (length 2.54)
+          (name "6" (effects (font (size 1.27 1.27))))
+          (number "6" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 -2.54 0) (length 2.54)
+          (name "7" (effects (font (size 1.27 1.27))))
+          (number "7" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 6.35 -2.54 180) (length 2.54)
+          (name "8" (effects (font (size 1.27 1.27))))
+          (number "8" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -6.35 -5.08 0) (length 2.54)
+          (name "9" (effects (font (size 1.27 1.27))))
+          (number "9" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_conn:USB-C" (pin_numbers hide) (in_bom yes) (on_board yes)
+      (property "Reference" "J?" (id 0) (at 0 12.7 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "USB-C" (id 1) (at 0 -15.24 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_conn:USB-C" (id 2) (at 0 -17.78 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 3.81 -5.08 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "USB-C_0_1"
+        (rectangle (start -5.08 11.43) (end 5.08 -13.97)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "USB-C_1_1"
+        (pin bidirectional line (at 7.62 -2.54 180) (length 2.54)
+          (name "CC1" (effects (font (size 1.27 1.27))))
+          (number "CC1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 -5.08 180) (length 2.54)
+          (name "CC2" (effects (font (size 1.27 1.27))))
+          (number "CC2" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 5.08 180) (length 2.54)
+          (name "D+" (effects (font (size 1.27 1.27))))
+          (number "D+1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 2.54 180) (length 2.54)
+          (name "D+" (effects (font (size 1.27 1.27))))
+          (number "D+2" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 10.16 180) (length 2.54)
+          (name "D-" (effects (font (size 1.27 1.27))))
+          (number "D-1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 7.62 180) (length 2.54)
+          (name "D-" (effects (font (size 1.27 1.27))))
+          (number "D-2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -10.16 0) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "GND1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -12.7 0) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "GND2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 2.54 0) (length 2.54)
+          (name "S1" (effects (font (size 1.27 1.27))))
+          (number "S1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 0 0) (length 2.54)
+          (name "S2" (effects (font (size 1.27 1.27))))
+          (number "S2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -2.54 0) (length 2.54)
+          (name "S3" (effects (font (size 1.27 1.27))))
+          (number "S3" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 -5.08 0) (length 2.54)
+          (name "S4" (effects (font (size 1.27 1.27))))
+          (number "S4" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 -10.16 180) (length 2.54)
+          (name "SBU1" (effects (font (size 1.27 1.27))))
+          (number "SBU1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 7.62 -12.7 180) (length 2.54)
+          (name "SBU2" (effects (font (size 1.27 1.27))))
+          (number "SBU2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 10.16 0) (length 2.54)
+          (name "VBUS" (effects (font (size 1.27 1.27))))
+          (number "VBUS1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at -7.62 7.62 0) (length 2.54)
+          (name "VBUS" (effects (font (size 1.27 1.27))))
+          (number "VBUS2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_crystal:DSC61XX-MHz" (in_bom yes) (on_board yes)
+      (property "Reference" "IC?" (id 0) (at 0 3.81 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "DSC61XX-MHz" (id 1) (at 0 -6.35 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_ic:CDFN-4-3.2x2.5mm" (id 2) (at 0 -8.89 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 1.27 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "DSC61XX-MHz_0_1"
+        (rectangle (start -5.08 2.54) (end 5.08 -5.08)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "DSC61XX-MHz_1_1"
+        (pin passive line (at -7.62 -2.54 0) (length 2.54)
+          (name "OE" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 7.62 -2.54 180) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin output line (at 7.62 0 180) (length 2.54)
+          (name "OUT" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at -7.62 0 0) (length 2.54)
+          (name "VCC" (effects (font (size 1.27 1.27))))
+          (number "4" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_led:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "LED?" (id 0) (at 0 2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "LED" (id 1) (at 0 -2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_smd:0603" (id 2) (at 0 -4.2164 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 4.699 -4.191 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "LED_0_1"
+        (polyline
+          (pts
+            (xy 1.27 1.27)
+            (xy 1.27 -1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.1336 1.2192)
+            (xy 2.4892 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.794 1.524)
+            (xy 2.2352 1.1684)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.794 1.524)
+            (xy 2.4384 0.9652)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 3.2004 1.2192)
+            (xy 3.556 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 3.8608 1.524)
+            (xy 3.302 1.1684)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 3.8608 1.524)
+            (xy 3.4544 0.9652)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.27 1.27)
+            (xy -1.27 -1.27)
+            (xy 1.27 0)
+            (xy -1.27 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 1.6256 0.3556)
+            (xy 2.794 1.524)
+            (xy 2.1336 1.2192)
+            (xy 2.794 1.524)
+            (xy 2.4892 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 2.6924 0.3556)
+            (xy 3.8608 1.524)
+            (xy 3.2004 1.2192)
+            (xy 3.8608 1.524)
+            (xy 3.556 0.8636)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "LED_1_1"
+        (pin passive line (at -3.81 0 0) (length 2.54)
+          (name "A" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 3.81 0 180) (length 2.54)
+          (name "K" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_mcu:M48XSIDAE" (in_bom yes) (on_board yes)
+      (property "Reference" "IC?" (id 0) (at 0 44.45 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "M48XSIDAE" (id 1) (at 0 -52.07 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_ic:TQFP-64-0.4mm" (id 2) (at 0 -54.61 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_locked" "" (id 4) (at 0 0 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (symbol "M48XSIDAE_1_0"
+        (pin bidirectional line (at -15.24 -7.62 0) (length 2.54)
+          (name "PB6" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 17.78 0) (length 2.54)
+          (name "PA9" (effects (font (size 1.27 1.27))))
+          (number "10" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 20.32 0) (length 2.54)
+          (name "PA8" (effects (font (size 1.27 1.27))))
+          (number "11" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 -2.54 180) (length 2.54)
+          (name "PF6" (effects (font (size 1.27 1.27))))
+          (number "12" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -35.56 180) (length 2.54)
+          (name "VDD*3" (effects (font (size 1.27 1.27))))
+          (number "13" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 0 180) (length 2.54)
+          (name "PF5/X32_IN" (effects (font (size 1.27 1.27))))
+          (number "14" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 2.54 180) (length 2.54)
+          (name "PF4/X32_OUT" (effects (font (size 1.27 1.27))))
+          (number "15" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 5.08 180) (length 2.54)
+          (name "PF3/XT1_IN" (effects (font (size 1.27 1.27))))
+          (number "16" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 7.62 180) (length 2.54)
+          (name "PF2/XT1_OUT" (effects (font (size 1.27 1.27))))
+          (number "17" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 22.86 180) (length 2.54)
+          (name "PC7" (effects (font (size 1.27 1.27))))
+          (number "18" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 25.4 180) (length 2.54)
+          (name "PC6" (effects (font (size 1.27 1.27))))
+          (number "19" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -5.08 0) (length 2.54)
+          (name "PB5" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 22.86 0) (length 2.54)
+          (name "PA7" (effects (font (size 1.27 1.27))))
+          (number "20" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 25.4 0) (length 2.54)
+          (name "PA6" (effects (font (size 1.27 1.27))))
+          (number "21" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -40.64 180) (length 2.54)
+          (name "VSS*2" (effects (font (size 1.27 1.27))))
+          (number "22" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -35.56 180) (length 2.54) hide
+          (name "VDD" (effects (font (size 1.27 1.27))))
+          (number "23" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 15.24 -45.72 180) (length 2.54)
+          (name "LDO_CAP1" (effects (font (size 1.27 1.27))))
+          (number "24" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 27.94 0) (length 2.54)
+          (name "PA5" (effects (font (size 1.27 1.27))))
+          (number "25" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 30.48 0) (length 2.54)
+          (name "PA4" (effects (font (size 1.27 1.27))))
+          (number "26" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 33.02 0) (length 2.54)
+          (name "PA3" (effects (font (size 1.27 1.27))))
+          (number "27" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 35.56 0) (length 2.54)
+          (name "PA2" (effects (font (size 1.27 1.27))))
+          (number "28" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 38.1 0) (length 2.54)
+          (name "PA1" (effects (font (size 1.27 1.27))))
+          (number "29" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -2.54 0) (length 2.54)
+          (name "PB4" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 40.64 0) (length 2.54)
+          (name "PA0" (effects (font (size 1.27 1.27))))
+          (number "30" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -38.1 180) (length 2.54)
+          (name "VDDIO" (effects (font (size 1.27 1.27))))
+          (number "31" (effects (font (size 1.27 1.27))))
+        )
+        (pin input line (at 15.24 15.24 180) (length 2.54)
+          (name "RESET" (effects (font (size 1.27 1.27))))
+          (number "32" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 12.7 180) (length 2.54)
+          (name "PF0/SWDIO" (effects (font (size 1.27 1.27))))
+          (number "33" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 10.16 180) (length 2.54)
+          (name "PF1/SWCLK" (effects (font (size 1.27 1.27))))
+          (number "34" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 27.94 180) (length 2.54)
+          (name "PC5" (effects (font (size 1.27 1.27))))
+          (number "35" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 30.48 180) (length 2.54)
+          (name "PC4" (effects (font (size 1.27 1.27))))
+          (number "36" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 33.02 180) (length 2.54)
+          (name "PC3" (effects (font (size 1.27 1.27))))
+          (number "37" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 35.56 180) (length 2.54)
+          (name "PC2" (effects (font (size 1.27 1.27))))
+          (number "38" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 38.1 180) (length 2.54)
+          (name "PC1" (effects (font (size 1.27 1.27))))
+          (number "39" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 0 0) (length 2.54)
+          (name "PB3" (effects (font (size 1.27 1.27))))
+          (number "4" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 40.64 180) (length 2.54)
+          (name "PC0" (effects (font (size 1.27 1.27))))
+          (number "40" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 15.24 -27.94 180) (length 2.54)
+          (name "USBHS_VRES" (effects (font (size 1.27 1.27))))
+          (number "41" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -20.32 180) (length 2.54)
+          (name "USBHS_VDD33" (effects (font (size 1.27 1.27))))
+          (number "42" (effects (font (size 1.27 1.27))))
+        )
+        (pin input line (at -15.24 -40.64 0) (length 2.54)
+          (name "USBHS_VBUS" (effects (font (size 1.27 1.27))))
+          (number "43" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -43.18 0) (length 2.54)
+          (name "USBHS_DM" (effects (font (size 1.27 1.27))))
+          (number "44" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -25.4 180) (length 2.54)
+          (name "USBHS_VSS" (effects (font (size 1.27 1.27))))
+          (number "45" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -45.72 0) (length 2.54)
+          (name "USBHS_DP" (effects (font (size 1.27 1.27))))
+          (number "46" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 15.24 -30.48 180) (length 2.54)
+          (name "USBHS_CAP" (effects (font (size 1.27 1.27))))
+          (number "47" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -38.1 0) (length 2.54)
+          (name "USBHS_ID" (effects (font (size 1.27 1.27))))
+          (number "48" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -40.64 180) (length 2.54) hide
+          (name "VSS" (effects (font (size 1.27 1.27))))
+          (number "49" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 2.54 0) (length 2.54)
+          (name "PB2" (effects (font (size 1.27 1.27))))
+          (number "5" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 15.24 -48.26 180) (length 2.54)
+          (name "LDO_CAP2" (effects (font (size 1.27 1.27))))
+          (number "50" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -35.56 180) (length 2.54) hide
+          (name "VDD" (effects (font (size 1.27 1.27))))
+          (number "51" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at 15.24 20.32 180) (length 2.54)
+          (name "PC14" (effects (font (size 1.27 1.27))))
+          (number "52" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -30.48 0) (length 2.54)
+          (name "PB15" (effects (font (size 1.27 1.27))))
+          (number "53" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -27.94 0) (length 2.54)
+          (name "PB14" (effects (font (size 1.27 1.27))))
+          (number "54" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -25.4 0) (length 2.54)
+          (name "PB13" (effects (font (size 1.27 1.27))))
+          (number "55" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -22.86 0) (length 2.54)
+          (name "PB12" (effects (font (size 1.27 1.27))))
+          (number "56" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -10.16 180) (length 2.54)
+          (name "AVDD" (effects (font (size 1.27 1.27))))
+          (number "57" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -7.62 180) (length 2.54)
+          (name "VREF" (effects (font (size 1.27 1.27))))
+          (number "58" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at 15.24 -15.24 180) (length 2.54)
+          (name "AVSS" (effects (font (size 1.27 1.27))))
+          (number "59" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 5.08 0) (length 2.54)
+          (name "PB1" (effects (font (size 1.27 1.27))))
+          (number "6" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -20.32 0) (length 2.54)
+          (name "PB11" (effects (font (size 1.27 1.27))))
+          (number "60" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -17.78 0) (length 2.54)
+          (name "PB10" (effects (font (size 1.27 1.27))))
+          (number "61" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -15.24 0) (length 2.54)
+          (name "PB9" (effects (font (size 1.27 1.27))))
+          (number "62" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -12.7 0) (length 2.54)
+          (name "PB8" (effects (font (size 1.27 1.27))))
+          (number "63" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 -10.16 0) (length 2.54)
+          (name "PB7" (effects (font (size 1.27 1.27))))
+          (number "64" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 7.62 0) (length 2.54)
+          (name "PB0" (effects (font (size 1.27 1.27))))
+          (number "7" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 12.7 0) (length 2.54)
+          (name "PA11" (effects (font (size 1.27 1.27))))
+          (number "8" (effects (font (size 1.27 1.27))))
+        )
+        (pin bidirectional line (at -15.24 15.24 0) (length 2.54)
+          (name "PA10" (effects (font (size 1.27 1.27))))
+          (number "9" (effects (font (size 1.27 1.27))))
+        )
+      )
+      (symbol "M48XSIDAE_1_1"
+        (rectangle (start -12.7 43.18) (end 12.7 -50.8)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+    )
+    (symbol "ataradov_misc:Logo" (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "Logo?" (id 0) (at 0 3.302 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "Logo" (id 1) (at 0 -3.048 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Footprint" "ataradov_misc:Logo" (id 2) (at 0 -5.08 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0.762 0.254 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "Logo_0_1"
+        (rectangle (start -2.286 1.778) (end 2.032 -1.778)
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.778 0)
+            (xy -0.254 0)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.778 0.762)
+            (xy -1.778 -1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.778 0.762)
+            (xy -1.27 1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.27 1.27)
+            (xy -0.762 1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -0.254 0.762)
+            (xy -0.762 1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -0.254 0.762)
+            (xy -0.254 -1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 1.27)
+            (xy 1.524 1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0.762 1.27)
+            (xy 0.762 -1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+    )
+    (symbol "ataradov_misc:TestPoint" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
+      (property "Reference" "TP?" (id 0) (at 2.54 0 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Value" "TestPoint" (id 1) (at 7.62 0 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Footprint" "ataradov_misc:TestPoint-1.27mm" (id 2) (at 0 -2.54 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "TestPoint_0_1"
+        (circle (center 1.778 0) (radius 0.508)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type outline))
+        )
+      )
+      (symbol "TestPoint_1_1"
+        (pin passive line (at 0 0 0) (length 1.78)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_pwr:+3V3" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+      (property "Reference" "#PWR" (id 0) (at 0 4.445 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "+3V3" (id 1) (at 0 2.286 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "+3V3_0_1"
+        (polyline
+          (pts
+            (xy -1.905 1.27)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 1.27)
+            (xy 1.905 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "+3V3_1_1"
+        (pin power_in line (at 0 0 90) (length 0) hide
+          (name "+3V3" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_pwr:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+      (property "Reference" "#PWR" (id 0) (at 0 -4.445 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "GND" (id 1) (at 0 -2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "GND_0_1"
+        (polyline
+          (pts
+            (xy -1.905 -1.27)
+            (xy 1.905 -1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 -1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "GND_1_1"
+        (pin power_in line (at 0 0 270) (length 0) hide
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_pwr:VBUS" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+      (property "Reference" "#PWR" (id 0) (at 0 4.445 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "VBUS" (id 1) (at 0 2.286 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "VBUS_0_1"
+        (polyline
+          (pts
+            (xy -1.905 1.27)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 0 1.27)
+            (xy 1.905 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "VBUS_1_1"
+        (pin power_in line (at 0 0 90) (length 0) hide
+          (name "VBUS" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_rlc:C" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
+      (property "Reference" "C?" (id 0) (at 0.635 1.905 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Value" "C" (id 1) (at 0.635 -2.032 0)
+        (effects (font (size 1.27 1.27)) (justify left))
+      )
+      (property "Footprint" "ataradov_smd:0603" (id 2) (at 3.81 0 90)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "C_0_1"
+        (polyline
+          (pts
+            (xy -1.905 -0.508)
+            (xy 1.905 -0.508)
+          )
+          (stroke (width 0.5) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.905 0.508)
+            (xy 1.905 0.508)
+          )
+          (stroke (width 0.5) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "C_1_1"
+        (pin passive line (at 0 -2.54 90) (length 1.905)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 0 2.54 270) (length 1.905)
+          (name "2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_rlc:L" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
+      (property "Reference" "L?" (id 0) (at 0 2.032 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "L" (id 1) (at 0 -1.27 0)
+        (effects (font (size 1.016 1.016)))
+      )
+      (property "Footprint" "ataradov_smd:0603" (id 2) (at 0 -3.81 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "L_0_1"
+        (arc (start -3.556 0.0114) (mid -2.6731 -0.9431) (end -1.778 0)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (arc (start -1.778 0) (mid -0.883 -0.9344) (end 0 0.0113)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (arc (start 0 0.0114) (mid 0.8829 -0.9478) (end 1.778 0)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (arc (start 1.778 0) (mid 2.6731 -0.9415) (end 3.556 0.0113)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "L_1_1"
+        (pin passive line (at -5.08 0 0) (length 1.52)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 5.08 0 180) (length 1.52)
+          (name "2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_rlc:R" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
+      (property "Reference" "R?" (id 0) (at 0 2.032 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "R" (id 1) (at 0 0 0)
+        (effects (font (size 1.016 1.016)))
+      )
+      (property "Footprint" "ataradov_smd:0603" (id 2) (at -0.508 -2.54 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "R_0_1"
+        (rectangle (start -2.54 1.016) (end 2.54 -1.016)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "R_1_1"
+        (pin passive line (at -3.81 0 0) (length 1.27)
+          (name "1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 3.81 0 180) (length 1.27)
+          (name "2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "ataradov_vreg:SC662K" (in_bom yes) (on_board yes)
+      (property "Reference" "IC?" (id 0) (at 0 6.35 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "SC662K" (id 1) (at 0 -3.81 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "ataradov_ic:SOT-23" (id 2) (at 0 -6.35 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "SC662K_0_1"
+        (rectangle (start -5.08 5.08) (end 5.08 -2.54)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type background))
+        )
+      )
+      (symbol "SC662K_1_1"
+        (pin power_in line (at -7.62 0 0) (length 2.54)
+          (name "GND" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_out line (at 7.62 2.54 180) (length 2.54)
+          (name "OUT" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin power_in line (at -7.62 2.54 0) (length 2.54)
+          (name "IN" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
+    (symbol "power:PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "#FLG" (id 0) (at 0 1.905 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Value" "PWR_FLAG" (id 1) (at 0 3.81 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "~" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_keywords" "power-flag" (id 4) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_description" "Special symbol for telling ERC where power comes from" (id 5) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "PWR_FLAG_0_0"
+        (pin power_out line (at 0 0 90) (length 0)
+          (name "pwr" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+      )
+      (symbol "PWR_FLAG_0_1"
+        (polyline
+          (pts
+            (xy 0 0)
+            (xy 0 1.27)
+            (xy -1.016 1.905)
+            (xy 0 2.54)
+            (xy 1.016 1.905)
+            (xy 0 1.27)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+    )
+  )
+
+  (junction (at 154.94 125.73) (diameter 0) (color 0 0 0 0)
+    (uuid 07528f30-af10-4189-8769-2ff2e788d73a)
+  )
+  (junction (at 57.15 130.81) (diameter 0) (color 0 0 0 0)
+    (uuid 1261a629-282b-4809-9721-4d6615366d1e)
+  )
+  (junction (at 41.91 34.29) (diameter 0) (color 0 0 0 0)
+    (uuid 27445f85-7048-48e4-8832-2d5e60bcb20f)
+  )
+  (junction (at 41.91 46.99) (diameter 0) (color 0 0 0 0)
+    (uuid 351374b1-2574-4846-8059-ce7338e8194a)
+  )
+  (junction (at 218.44 66.04) (diameter 0) (color 0 0 0 0)
+    (uuid 3551af07-6011-4122-9520-63b091fab687)
+  )
+  (junction (at 172.72 110.49) (diameter 0) (color 0 0 0 0)
+    (uuid 3781e7a2-b5a8-488b-a5fe-32eff95d4f30)
+  )
+  (junction (at 220.98 113.03) (diameter 0) (color 0 0 0 0)
+    (uuid 49f1eb1f-ab65-4534-86ed-0e70003035d2)
+  )
+  (junction (at 41.91 54.61) (diameter 0) (color 0 0 0 0)
+    (uuid 4ac26801-a86e-42d3-a397-b96fe238ac50)
+  )
+  (junction (at 172.72 115.57) (diameter 0) (color 0 0 0 0)
+    (uuid 557cf1d3-d573-4e69-9657-db578313d56c)
+  )
+  (junction (at 41.91 57.15) (diameter 0) (color 0 0 0 0)
+    (uuid 5e23c12d-6bb0-4b03-858d-ac5b330b05c2)
+  )
+  (junction (at 166.37 115.57) (diameter 0) (color 0 0 0 0)
+    (uuid 5fd71c91-675a-4a4b-84d3-ef039a853c27)
+  )
+  (junction (at 162.56 115.57) (diameter 0) (color 0 0 0 0)
+    (uuid 719bcba0-678e-4500-a8d2-789780116ab6)
+  )
+  (junction (at 218.44 71.12) (diameter 0) (color 0 0 0 0)
+    (uuid 79838eaa-5d64-4406-bb2e-dcf4696f02f4)
+  )
+  (junction (at 57.15 39.37) (diameter 0) (color 0 0 0 0)
+    (uuid a5653678-725d-4551-ad1e-145edf6fda6f)
+  )
+  (junction (at 66.04 73.66) (diameter 0) (color 0 0 0 0)
+    (uuid a6b0c3e4-0579-450a-9127-c31fb00c6692)
+  )
+  (junction (at 41.91 73.66) (diameter 0) (color 0 0 0 0)
+    (uuid a9696e43-3f81-4aa9-901f-150c6a0da3d7)
+  )
+  (junction (at 41.91 49.53) (diameter 0) (color 0 0 0 0)
+    (uuid b152d5f1-a3f1-4455-a082-29d269d562c3)
+  )
+  (junction (at 154.94 97.79) (diameter 0) (color 0 0 0 0)
+    (uuid b5fe9017-d278-4032-ab23-97c4e8978839)
+  )
+  (junction (at 41.91 44.45) (diameter 0) (color 0 0 0 0)
+    (uuid d23f2718-7b0c-422c-8b10-4aeeca192dfc)
+  )
+  (junction (at 57.15 36.83) (diameter 0) (color 0 0 0 0)
+    (uuid d6b18d30-d5e9-4a1f-af52-e5a616b08474)
+  )
+  (junction (at 52.07 128.27) (diameter 0) (color 0 0 0 0)
+    (uuid f8d2fdc2-5626-4fb9-ad73-5907b436df49)
+  )
+
+  (wire (pts (xy 121.92 87.63) (xy 119.38 87.63))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 003c5201-7604-4a1c-80fa-09c074bcb664)
+  )
+  (wire (pts (xy 162.56 115.57) (xy 166.37 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 003d8975-2940-425a-b558-380069dd5f16)
+  )
+  (wire (pts (xy 41.91 74.93) (xy 41.91 73.66))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 00633d47-9cbf-492d-bed4-85a8385cc5e4)
+  )
+  (wire (pts (xy 121.92 100.33) (xy 119.38 100.33))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 08d8f078-1ff8-4f13-a5a5-142b1bdb2b4f)
+  )
+  (wire (pts (xy 152.4 105.41) (xy 154.94 105.41))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 0bb37e66-268f-46a3-b7a9-acb0abd06c20)
+  )
+  (wire (pts (xy 218.44 66.04) (xy 218.44 63.5))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 10669c58-1676-467f-a8b9-e4f609420323)
+  )
+  (wire (pts (xy 41.91 44.45) (xy 41.91 46.99))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 1109cf51-aa55-4d61-a52b-3c3893692869)
+  )
+  (wire (pts (xy 220.98 111.76) (xy 220.98 113.03))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 111b949a-8a35-4045-b428-724586ae07bb)
+  )
+  (wire (pts (xy 57.15 34.29) (xy 57.15 36.83))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 133313e3-48d2-43a3-a5ec-8a3ccfd8cc36)
+  )
+  (wire (pts (xy 52.07 123.19) (xy 52.07 128.27))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 13c9b097-a760-43d7-8f75-143ac1c454f8)
+  )
+  (wire (pts (xy 41.91 54.61) (xy 41.91 57.15))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 1939fb2a-9930-4539-8e46-ea49b641a14e)
+  )
+  (wire (pts (xy 152.4 85.09) (xy 154.94 85.09))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 19e715ff-c990-4c65-9e1b-15ebdda455f1)
+  )
+  (wire (pts (xy 121.92 77.47) (xy 119.38 77.47))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 1cf2b898-d4c0-4256-b38c-0ef30c842002)
+  )
+  (wire (pts (xy 233.68 63.5) (xy 236.22 63.5))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 1e2abc99-5a44-47bd-b17e-e858675d022f)
+  )
+  (wire (pts (xy 116.84 130.81) (xy 121.92 130.81))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 1e679084-ddfe-41a5-ad5d-8c8955554919)
+  )
+  (wire (pts (xy 52.07 128.27) (xy 59.69 128.27))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 23a4f051-73c3-4f6c-9d97-ae6bfce8474d)
+  )
+  (wire (pts (xy 152.4 135.89) (xy 161.29 135.89))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 2509f5e0-07b3-4730-8c8a-d9eaeab28077)
+  )
+  (wire (pts (xy 57.15 39.37) (xy 59.69 39.37))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 27cb0520-7d2d-45d1-943f-75311e6ac411)
+  )
+  (wire (pts (xy 121.92 95.25) (xy 119.38 95.25))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 28d678a0-9c67-4890-bf20-2a58bbc06db1)
+  )
+  (wire (pts (xy 41.91 73.66) (xy 48.26 73.66))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 2f4d43f0-2c6f-40e4-b01b-d9f5f61213cf)
+  )
+  (wire (pts (xy 153.67 138.43) (xy 153.67 139.7))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 32e5c0b0-40bb-4982-a37a-031cc966e9ef)
+  )
+  (wire (pts (xy 172.72 110.49) (xy 184.15 110.49))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 3e1c1ceb-6348-4708-9b8e-e17053c5d08b)
+  )
+  (wire (pts (xy 60.96 49.53) (xy 60.96 50.8))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 3f556646-d19d-4513-822f-84c122b3a920)
+  )
+  (wire (pts (xy 48.26 76.2) (xy 48.26 80.01))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 405e3491-1bb6-428b-81af-a8e410c94587)
+  )
+  (wire (pts (xy 57.15 123.19) (xy 57.15 130.81))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 417a7dc9-6fa0-4e1d-8566-bf1ee5feb9f4)
+  )
+  (wire (pts (xy 152.4 125.73) (xy 154.94 125.73))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 45cee9c3-a589-49aa-9317-bfd06e244a05)
+  )
+  (wire (pts (xy 152.4 110.49) (xy 172.72 110.49))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 46226e2b-f2ef-482c-b9b3-7831e9d7c1c0)
+  )
+  (wire (pts (xy 152.4 74.93) (xy 154.94 74.93))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 4872411f-1bc0-49a6-81b9-e6af54107c74)
+  )
+  (wire (pts (xy 152.4 120.65) (xy 172.72 120.65))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 49345201-80ac-4a21-a0fe-db12b338f4f1)
+  )
+  (wire (pts (xy 241.3 115.57) (xy 241.3 116.84))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 4ba182cd-af6f-4d2c-a41e-ec05df0c17ff)
+  )
+  (wire (pts (xy 152.4 138.43) (xy 153.67 138.43))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 4e449819-6366-4476-9746-30c235e0a125)
+  )
+  (wire (pts (xy 154.94 97.79) (xy 154.94 100.33))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 55d3a49c-ad08-425b-b22a-d3af9923b50c)
+  )
+  (wire (pts (xy 63.5 73.66) (xy 66.04 73.66))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 57de946c-8327-4e29-98fc-79d1179075c8)
+  )
+  (wire (pts (xy 41.91 130.81) (xy 57.15 130.81))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 58ff4c63-0f36-49b0-ad93-1ec03dafd95e)
+  )
+  (wire (pts (xy 152.4 118.11) (xy 157.48 118.11))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 59508426-088d-47d5-852c-56039d02a7e9)
+  )
+  (wire (pts (xy 57.15 134.62) (xy 57.15 133.35))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 5a10092e-1d56-4b30-9e95-60e769afd01b)
+  )
+  (wire (pts (xy 218.44 71.12) (xy 220.98 71.12))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 5a41b3ef-c4c9-425a-86ac-f9c7f249cdb3)
+  )
+  (wire (pts (xy 57.15 130.81) (xy 59.69 130.81))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 6b026e20-58b6-47e2-a2a0-69ab3ee62c09)
+  )
+  (wire (pts (xy 152.4 80.01) (xy 154.94 80.01))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 6d4d26d2-ffb2-47b9-b92a-9dc79553fba6)
+  )
+  (wire (pts (xy 39.37 154.94) (xy 40.64 154.94))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 716cacd2-b62a-4296-9422-65b195c5029c)
+  )
+  (wire (pts (xy 66.04 74.93) (xy 66.04 73.66))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 731a378f-d234-4844-a1f0-f3e544bd6f27)
+  )
+  (wire (pts (xy 218.44 66.04) (xy 220.98 66.04))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 75b152b8-15f7-4e16-9cde-f9c026690d34)
+  )
+  (wire (pts (xy 194.31 110.49) (xy 196.85 110.49))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 76729178-6591-498d-9686-83f2173ee339)
+  )
+  (wire (pts (xy 194.31 115.57) (xy 196.85 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 78132969-bd13-46b7-86cf-a319b4ad0d36)
+  )
+  (wire (pts (xy 196.85 116.84) (xy 196.85 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 7f86f4ca-905f-4e9d-a2aa-693ff8c1d693)
+  )
+  (wire (pts (xy 57.15 46.99) (xy 66.04 46.99))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 80f5703e-fff9-46c6-b0fe-59c86b4c142f)
+  )
+  (wire (pts (xy 220.98 113.03) (xy 220.98 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 818053ef-3848-40fb-9ddb-706d66db1f7f)
+  )
+  (wire (pts (xy 154.94 105.41) (xy 154.94 106.68))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 822fc3c0-1b39-46e0-9a7d-83d8c6d58b4f)
+  )
+  (wire (pts (xy 66.04 46.99) (xy 66.04 50.8))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 89caf210-a61f-4806-ae99-755a4430e86a)
+  )
+  (wire (pts (xy 152.4 130.81) (xy 154.94 130.81))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 8befecfe-b987-46ae-ae16-b33d7e18399a)
+  )
+  (wire (pts (xy 154.94 130.81) (xy 154.94 132.08))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 8c574964-9ebf-450e-bc9d-bacabcb9005c)
+  )
+  (wire (pts (xy 218.44 72.39) (xy 218.44 71.12))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 8da46dc6-241b-4635-9d3a-542b61e12cdb)
+  )
+  (wire (pts (xy 165.1 118.11) (xy 166.37 118.11))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 8dca719a-2043-44a7-baef-d932530d3f8d)
+  )
+  (wire (pts (xy 237.49 113.03) (xy 241.3 113.03))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 94044758-57cf-44ac-8179-14788ae17578)
+  )
+  (wire (pts (xy 233.68 71.12) (xy 236.22 71.12))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 96452a74-80ea-4dbe-b6ca-2e2f2be32413)
+  )
+  (wire (pts (xy 41.91 125.73) (xy 46.99 125.73))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 9ad23462-b06c-4200-ae4e-08ae3f1998c0)
+  )
+  (wire (pts (xy 172.72 115.57) (xy 184.15 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a0526445-eb52-4767-a188-4ccb1baff4bf)
+  )
+  (wire (pts (xy 218.44 63.5) (xy 220.98 63.5))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a31886a6-dcc1-4277-be76-640a1dddba05)
+  )
+  (wire (pts (xy 152.4 97.79) (xy 154.94 97.79))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a460c3a1-9ea1-4313-8102-df9ff24cd6fe)
+  )
+  (wire (pts (xy 57.15 36.83) (xy 59.69 36.83))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a7dee156-9cb7-4378-88c2-445b299bdb4b)
+  )
+  (wire (pts (xy 39.37 156.21) (xy 39.37 154.94))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a8ecb82a-a930-4b75-a49f-6cfed974c3b2)
+  )
+  (wire (pts (xy 41.91 72.39) (xy 41.91 73.66))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a9cc9122-0c5d-492f-a732-d8fe9ef5c243)
+  )
+  (wire (pts (xy 41.91 57.15) (xy 41.91 58.42))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid a9dd76bd-82de-4afa-ab15-afec88a74019)
+  )
+  (wire (pts (xy 154.94 125.73) (xy 154.94 128.27))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid ab10de93-0939-4d41-8e96-8226072f9411)
+  )
+  (wire (pts (xy 121.92 69.85) (xy 119.38 69.85))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b0826255-36de-44e1-a9da-80e594cbf194)
+  )
+  (wire (pts (xy 119.38 133.35) (xy 121.92 133.35))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b8a5dc52-7eab-44b5-89c7-1bcb7bf04bc5)
+  )
+  (wire (pts (xy 152.4 77.47) (xy 154.94 77.47))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid baf458a6-b38a-4c9b-8a81-bc720f2fd85e)
+  )
+  (wire (pts (xy 41.91 34.29) (xy 41.91 36.83))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid c313eac7-76bc-46a2-bba6-a32859b1e25e)
+  )
+  (wire (pts (xy 55.88 154.94) (xy 58.42 154.94))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid c8154a1c-7996-43f1-a257-08494973a397)
+  )
+  (wire (pts (xy 233.68 66.04) (xy 236.22 66.04))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid c8fc3032-5341-4a26-971f-2134977dc33c)
+  )
+  (wire (pts (xy 57.15 39.37) (xy 57.15 41.91))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid ca1d1ec0-2f2c-4848-a8a6-52936f4b188b)
+  )
+  (wire (pts (xy 166.37 115.57) (xy 166.37 118.11))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid ce515406-1317-467e-9e91-218717c766ee)
+  )
+  (wire (pts (xy 222.25 115.57) (xy 220.98 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid ce519f39-5528-48f9-891b-ffc68cba1c79)
+  )
+  (wire (pts (xy 152.4 115.57) (xy 162.56 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid cf844d42-e29b-4cff-b280-cb6f565d9206)
+  )
+  (wire (pts (xy 46.99 125.73) (xy 46.99 123.19))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d88bac9d-056b-420f-8f22-d6d7d083803e)
+  )
+  (wire (pts (xy 152.4 90.17) (xy 154.94 90.17))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d8d62005-71d3-4af1-a111-c7037790e640)
+  )
+  (wire (pts (xy 222.25 113.03) (xy 220.98 113.03))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid da5b8871-21d3-4982-b5e7-3e7bed9cf7cc)
+  )
+  (wire (pts (xy 41.91 46.99) (xy 41.91 49.53))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid daab1f75-bcdf-45cb-a6b3-d4d34b2fa49a)
+  )
+  (wire (pts (xy 66.04 72.39) (xy 66.04 73.66))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid dee29706-d442-4ee4-95b9-3db6d1df4fb2)
+  )
+  (wire (pts (xy 237.49 115.57) (xy 241.3 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid df836d54-cc88-40ba-a0e1-5f48960195f4)
+  )
+  (wire (pts (xy 233.68 68.58) (xy 236.22 68.58))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e02581ce-0402-44d7-9739-46c333db6c58)
+  )
+  (wire (pts (xy 166.37 115.57) (xy 172.72 115.57))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e0402c66-0beb-4ebe-be5d-76c2148c40be)
+  )
+  (wire (pts (xy 152.4 100.33) (xy 154.94 100.33))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e07eb74a-fc02-4f32-8e12-ef4a2d8bfe8a)
+  )
+  (wire (pts (xy 57.15 49.53) (xy 60.96 49.53))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e08fc0e5-c019-43f9-a2f5-90aaf8c52fb9)
+  )
+  (wire (pts (xy 41.91 49.53) (xy 41.91 54.61))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e1888b68-7d2f-4d39-b8df-749a694b0016)
+  )
+  (wire (pts (xy 161.29 135.89) (xy 161.29 139.7))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e3d7eafd-ec59-499e-bd75-d4bf9b4ff652)
+  )
+  (wire (pts (xy 152.4 128.27) (xy 154.94 128.27))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e3e0815f-22d0-47e8-ae89-a24e622cb474)
+  )
+  (wire (pts (xy 196.85 109.22) (xy 196.85 110.49))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid e48e0073-0099-4ea1-aa3e-d7cc5bb4a598)
+  )
+  (wire (pts (xy 57.15 133.35) (xy 59.69 133.35))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid eda0662a-0561-4f8d-96c3-986eb79e83e3)
+  )
+  (wire (pts (xy 41.91 41.91) (xy 41.91 44.45))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f0686671-43d0-4f00-84a3-895c29ffcc8c)
+  )
+  (wire (pts (xy 233.68 60.96) (xy 236.22 60.96))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f4b9de07-036e-4a27-8885-f41b1b376d11)
+  )
+  (wire (pts (xy 41.91 33.02) (xy 41.91 34.29))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f8de3e0d-0c56-453a-a52f-8239e1cd4e7d)
+  )
+  (wire (pts (xy 41.91 128.27) (xy 52.07 128.27))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f956c95b-3bcc-4eff-9fae-76beed910114)
+  )
+  (wire (pts (xy 218.44 71.12) (xy 218.44 66.04))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f9e52681-685e-4d73-8c62-7d59a5f8a2dc)
+  )
+  (wire (pts (xy 119.38 135.89) (xy 121.92 135.89))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid fdb404c9-5607-4f4e-961f-aaa1814b16ca)
+  )
+
+  (text "Copyright (c) 2022, Alex Taradov <alex@taradov.com>\nFirmware source code is available at https://github.com/ataradov/free-dap"
+    (at 13.97 201.93 0)
+    (effects (font (size 2 2)) (justify left bottom))
+    (uuid 50d092a1-cb48-4b36-9419-53ddb3f8fa14)
+  )
+
+  (label "12MHz" (at 154.94 85.09 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 02314ac3-1560-413b-88a4-6f9f986348e8)
+  )
+  (label "SWCLK" (at 154.94 80.01 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 2f7bda9f-351f-4e48-818e-c6b2d431c0f0)
+  )
+  (label "T_SWCLK_TCK" (at 236.22 63.5 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 33c6b2c3-1517-422e-85ee-b8426af14ec5)
+  )
+  (label "USB_DP" (at 59.69 39.37 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 406284fa-6bb4-4270-a795-ab760f09e09f)
+  )
+  (label "USB_DP" (at 119.38 135.89 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 5759d820-3866-4228-8b37-97f569241e89)
+  )
+  (label "T_RESET" (at 236.22 71.12 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 583128b7-12ce-41fd-b58e-6af71bfd11b7)
+  )
+  (label "T_SWDIO_TMS" (at 236.22 60.96 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 5ba83a28-cdec-40b3-9d5d-44066b78c994)
+  )
+  (label "USB_DM" (at 59.69 36.83 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 6928b21e-2cf1-44b8-b5c8-be68c3e55645)
+  )
+  (label "RESET" (at 41.91 125.73 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 697d909a-e6fc-428c-aba5-823fe93fa5a6)
+  )
+  (label "SWCLK" (at 41.91 128.27 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 6e1db7e3-4b71-4806-8c9e-112e2d4ec47d)
+  )
+  (label "SWDIO" (at 41.91 130.81 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 7374600e-6b12-40c9-bddb-81c2c0dd958f)
+  )
+  (label "12MHz" (at 241.3 113.03 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 81d13674-61c4-4746-9ee4-52d7f4ecd2ad)
+  )
+  (label "T_RESET" (at 154.94 90.17 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid 90a5bdca-2159-4f0c-b3ce-c526b7067a97)
+  )
+  (label "T_SWCLK_TCK" (at 119.38 87.63 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid 9fadad77-54c6-450f-abef-6215dccb7294)
+  )
+  (label "T_TDO" (at 119.38 77.47 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid a1cbf793-673b-470e-a401-a32a64f15a44)
+  )
+  (label "T_TDI" (at 236.22 68.58 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid a33d97d9-3652-472c-bfb5-04fff3738520)
+  )
+  (label "T_TDO" (at 236.22 66.04 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid b67a2513-b1ed-41c3-9fed-086263bf5630)
+  )
+  (label "STATUS_LED" (at 58.42 154.94 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid ba11aa9a-a1f3-4643-b3e5-7577ef48c84b)
+  )
+  (label "STATUS_LED" (at 119.38 100.33 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid c3d06b76-9b71-4e20-9779-b0b0bbccef58)
+  )
+  (label "T_TDI" (at 119.38 69.85 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid ddc3fbfa-db46-4f5b-9d63-8f1b6a83c6c3)
+  )
+  (label "SWDIO" (at 154.94 77.47 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid e6acac67-81b8-45ec-966e-bf6f1e760163)
+  )
+  (label "USB_DM" (at 119.38 133.35 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid e83de5ae-0187-4a90-9f8d-b8a5bfc8d184)
+  )
+  (label "RESET" (at 154.94 74.93 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid f5390854-d2c3-4985-a71a-614ab1d5a923)
+  )
+  (label "T_SWDIO_TMS" (at 119.38 95.25 180)
+    (effects (font (size 1.27 1.27)) (justify right bottom))
+    (uuid fe241b9c-48ab-4811-9b5b-f8e08c3f7f9e)
+  )
+
+  (symbol (lib_id "ataradov_conn:Conn-5x2") (at 227.33 66.04 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 0220b3c5-3933-430c-9a95-3250361c369c)
+    (property "Reference" "J2" (id 0) (at 227.33 58.42 0))
+    (property "Value" "Conn-5x2" (id 1) (at 227.33 73.66 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Footprint" "ataradov_conn:Header-5x2-1.27mm" (id 2) (at 227.33 76.2 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 256.54 52.07 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 0b6eca1e-b288-469a-ad86-38892fe9916e))
+    (pin "10" (uuid 4775177d-1204-41e2-896c-a12fff14a029))
+    (pin "2" (uuid 2ec6bd69-6eba-47d8-a695-b3c5ab2852f8))
+    (pin "3" (uuid a740521f-dbe3-4b35-a573-4c03c01cb055))
+    (pin "4" (uuid f0ac0585-2d1f-4c7c-92ed-6d3de3b272c4))
+    (pin "5" (uuid 0cb77a85-9272-4185-9ca2-5379bc1edaf7))
+    (pin "6" (uuid 0c4a3823-bebc-42a7-a4cb-7df796b20ba3))
+    (pin "7" (uuid 67d4f641-1522-4777-a709-2a6960353604))
+    (pin "8" (uuid 70aab53a-3ee3-4f47-95ab-f37c7d7e51ba))
+    (pin "9" (uuid f816b538-3d75-4a04-86c8-cb0f5b094d79))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 66.04 77.47 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 03c058db-b9f4-404f-9c24-1f1dab858e28)
+    (property "Reference" "C2" (id 0) (at 66.675 75.565 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 66.675 79.502 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 69.85 77.47 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 66.04 77.47 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 0a7d999d-c76d-4114-8820-795cba286d73))
+    (pin "2" (uuid c3d6d463-954a-4c29-9ddb-4bb57be684cb))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 39.37 156.21 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 0757abbd-54c6-4c08-a50f-6bd1d1a846df)
+    (property "Reference" "#PWR034" (id 0) (at 39.37 160.655 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 39.37 158.75 0))
+    (property "Footprint" "" (id 2) (at 39.37 156.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 39.37 156.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 372dddc1-cb4f-4294-9fc4-ca7f615d3d36))
+  )
+
+  (symbol (lib_id "ataradov_rlc:L") (at 189.23 115.57 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 0d146115-1987-4bfd-811f-0074c06844b0)
+    (property "Reference" "L2" (id 0) (at 189.23 113.538 0))
+    (property "Value" "BLM15BD471SN1D" (id 1) (at 189.23 116.84 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0402" (id 2) (at 189.23 119.38 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 189.23 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 171dbc2c-7361-4a89-8166-b1fdf4ce23f3))
+    (pin "2" (uuid 03afd0ff-3a47-447a-bd1e-da6601cca7e2))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 172.72 118.11 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 0ef1f3c3-e4c4-4a73-8baa-87a2ea66a74e)
+    (property "Reference" "C4" (id 0) (at 167.64 118.11 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 175.26 118.11 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0402" (id 2) (at 176.53 118.11 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 172.72 118.11 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid f6bcdb31-336b-4a76-98d3-d852e07d14c7))
+    (pin "2" (uuid b7ca3721-ab5d-4fb5-a05b-31bc46dd26b9))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 161.29 142.24 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 121fd247-0434-41bb-8963-4a9904c0ef39)
+    (property "Reference" "C6" (id 0) (at 161.925 140.335 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 161.925 144.272 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0402" (id 2) (at 165.1 142.24 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 161.29 142.24 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 491943ae-34ec-461b-9196-39ad4d425feb))
+    (pin "2" (uuid 3b64cf6f-3ad7-4d48-a65f-b37ef124f541))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 189.23 144.78 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 1576e260-625c-4388-af78-0d2fe29ab3a5)
+    (property "Reference" "#PWR032" (id 0) (at 189.23 149.225 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 189.23 147.32 0))
+    (property "Footprint" "" (id 2) (at 189.23 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 189.23 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 33aa8fc5-4249-4010-83cf-81353e16aadb))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 154.94 97.79 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 1e4ffb0e-227b-45d7-985e-6b5835d975a5)
+    (property "Reference" "#PWR013" (id 0) (at 154.94 93.345 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 154.94 95.504 0))
+    (property "Footprint" "" (id 2) (at 154.94 97.79 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 154.94 97.79 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 69da5e0e-bd33-45b7-9dad-f9d19b96d7dc))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 153.67 142.24 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 1e695ccd-bd10-4d06-aff8-bf772897e5c6)
+    (property "Reference" "C5" (id 0) (at 154.305 140.335 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 154.305 144.272 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0402" (id 2) (at 157.48 142.24 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 153.67 142.24 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 350dcf67-31b6-4d40-90a9-b809e5d41f70))
+    (pin "2" (uuid 9d96b0ab-2f4b-4629-b8a7-b66e37e26d6f))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 66.04 80.01 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 26820f5c-8822-4371-879b-2c5fdeb709c6)
+    (property "Reference" "#PWR010" (id 0) (at 66.04 84.455 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 66.04 82.55 0))
+    (property "Footprint" "" (id 2) (at 66.04 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 66.04 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 3bef0362-242d-46c4-b651-9d41a3c29516))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 66.04 58.42 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 276fea4f-11ba-4a19-af7c-773f88f4eeae)
+    (property "Reference" "#PWR04" (id 0) (at 66.04 62.865 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 66.04 60.96 0))
+    (property "Footprint" "" (id 2) (at 66.04 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 66.04 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid b8ab3674-95dd-4025-ae08-58b508e836b0))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 161.29 144.78 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 2fb5125d-6871-4606-b743-0846e42520ad)
+    (property "Reference" "#PWR030" (id 0) (at 161.29 149.225 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 161.29 147.32 0))
+    (property "Footprint" "" (id 2) (at 161.29 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 161.29 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid ad1f265d-5e9a-4b9e-b33f-3513855fd4e4))
+  )
+
+  (symbol (lib_id "ataradov_misc:TestPoint") (at 59.69 133.35 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 2fdf4489-bc00-4109-aa4e-8518129c5f65)
+    (property "Reference" "TP3" (id 0) (at 62.23 133.35 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "GND" (id 1) (at 67.31 133.35 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_misc:TestPoint-1.27mm-Small" (id 2) (at 59.69 135.89 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 59.69 133.35 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 7d0c2d45-39b3-4f4e-94aa-0143d09179db))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 196.85 139.7 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 3115be40-426b-4fd1-8cf0-53782df089c6)
+    (property "Reference" "#PWR028" (id 0) (at 196.85 135.255 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 196.85 137.414 0))
+    (property "Footprint" "" (id 2) (at 196.85 139.7 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 196.85 139.7 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 9c0ca9f1-cb14-49db-8272-3ef9eb3c7635))
+  )
+
+  (symbol (lib_id "power:PWR_FLAG") (at 172.72 110.49 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 326deb88-38c2-4ea5-818e-efa336368ed1)
+    (property "Reference" "#FLG0101" (id 0) (at 172.72 108.585 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "PWR_FLAG" (id 1) (at 172.72 106.68 0))
+    (property "Footprint" "" (id 2) (at 172.72 110.49 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 172.72 110.49 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 93a8f2b1-e6a2-47fd-b7e5-1c6acbcbf6e4))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 196.85 109.22 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 342408af-53bd-4622-b5ed-82b6d8793625)
+    (property "Reference" "#PWR015" (id 0) (at 196.85 104.775 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 196.85 106.934 0))
+    (property "Footprint" "" (id 2) (at 196.85 109.22 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 196.85 109.22 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 281600bf-3843-4b09-99e4-e23f7743601e))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 46.99 115.57 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 491f0972-8951-424e-ad68-0f92625adae1)
+    (property "Reference" "#PWR017" (id 0) (at 46.99 111.125 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 46.99 113.284 0))
+    (property "Footprint" "" (id 2) (at 46.99 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 46.99 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid beb15dd5-d6f8-453b-a793-35bd8087337e))
+  )
+
+  (symbol (lib_id "ataradov_pwr:VBUS") (at 116.84 130.81 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 502efac5-4bc7-4ad9-b62f-47c2f692dc6b)
+    (property "Reference" "#PWR023" (id 0) (at 116.84 126.365 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "VBUS" (id 1) (at 116.84 128.524 0))
+    (property "Footprint" "" (id 2) (at 116.84 130.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 116.84 130.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid a9b40e85-3161-4978-bfeb-0752a6787dac))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 181.61 142.24 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 511f975b-3d64-468c-9ff8-aebf3379c789)
+    (property "Reference" "C7" (id 0) (at 182.245 140.335 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 182.245 144.272 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 185.42 142.24 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 181.61 142.24 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 7005d3bf-3eff-46ed-a46e-be124319fd87))
+    (pin "2" (uuid 5fc50c09-3de8-43b5-beae-fd949d8f2ca4))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 52.07 119.38 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 539cec94-91a0-4ec0-99cc-490e4a898fee)
+    (property "Reference" "R5" (id 0) (at 50.038 119.38 0))
+    (property "Value" "10K" (id 1) (at 52.07 119.38 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 54.61 119.888 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 52.07 119.38 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 96dfc730-8673-4621-8e2d-5198161a469a))
+    (pin "2" (uuid ef7f2f42-3937-4d86-a91c-a57c3cac88dd))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 196.85 142.24 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 5615d963-6d0e-4a01-9461-61da17436dab)
+    (property "Reference" "C9" (id 0) (at 197.485 140.335 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 197.485 144.272 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 200.66 142.24 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 196.85 142.24 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 46d7badb-e756-4351-82b0-d80142a688d1))
+    (pin "2" (uuid 46f199f3-19ed-462f-9ff3-594357ff7681))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 57.15 119.38 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 5b90fd4b-899a-4541-8472-8fc45aa265a6)
+    (property "Reference" "R6" (id 0) (at 55.118 119.38 0))
+    (property "Value" "10K" (id 1) (at 57.15 119.38 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 59.69 119.888 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 57.15 119.38 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 8e3f3a96-f040-456f-b25f-6f1b48b4080f))
+    (pin "2" (uuid f73af704-a65b-4959-848a-bce76979e03e))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 154.94 125.73 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 5c6e8d89-d9ce-43bd-be81-3487fb581efe)
+    (property "Reference" "#PWR022" (id 0) (at 154.94 121.285 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 154.94 123.444 0))
+    (property "Footprint" "" (id 2) (at 154.94 125.73 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 154.94 125.73 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 85d473b7-1bbf-4877-b7c8-856a472f5ac3))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 60.96 58.42 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6063a967-bbbf-4670-9006-13e499888fcb)
+    (property "Reference" "#PWR03" (id 0) (at 60.96 62.865 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 60.96 60.96 0))
+    (property "Footprint" "" (id 2) (at 60.96 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 60.96 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid a14d5d3e-5f08-4b64-a908-2ded4bc895d8))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 218.44 72.39 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 60da2da1-44c1-4a8b-bb54-aa7ac36d2bec)
+    (property "Reference" "#PWR07" (id 0) (at 218.44 76.835 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 218.44 74.93 0))
+    (property "Footprint" "" (id 2) (at 218.44 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 218.44 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid be2f5bfe-9b21-4509-ae82-8813acaff26a))
+  )
+
+  (symbol (lib_id "ataradov_misc:TestPoint") (at 59.69 130.81 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6235414f-a7d9-4f2a-85bb-4ac75e44c66e)
+    (property "Reference" "TP2" (id 0) (at 62.23 130.81 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "SWDIO" (id 1) (at 67.31 130.81 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_misc:TestPoint-1.27mm-Small" (id 2) (at 59.69 133.35 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 59.69 130.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 837355e0-0c4f-4089-9bd1-0191dbfe4b8c))
+  )
+
+  (symbol (lib_id "power:PWR_FLAG") (at 45.72 95.25 180) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 65803744-5fc3-48eb-aeb5-74da1b7d8a05)
+    (property "Reference" "#FLG01" (id 0) (at 45.72 97.155 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "PWR_FLAG" (id 1) (at 45.72 99.06 0))
+    (property "Footprint" "" (id 2) (at 45.72 95.25 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 45.72 95.25 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid a25e7a0e-3568-41c7-8781-638712835b6d))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 66.04 72.39 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6b77c6b8-330f-44c5-82f1-264745164425)
+    (property "Reference" "#PWR06" (id 0) (at 66.04 67.945 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 66.04 70.104 0))
+    (property "Footprint" "" (id 2) (at 66.04 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 66.04 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 544f0905-f177-4c0c-b536-d1ae7c0db5ae))
+  )
+
+  (symbol (lib_id "ataradov_led:LED") (at 52.07 154.94 0) (mirror y) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 6bc6f722-72ae-42d6-be95-2b8bf65cd61e)
+    (property "Reference" "LED1" (id 0) (at 52.07 152.4 0))
+    (property "Value" "Orange" (id 1) (at 52.07 157.48 0))
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 52.07 159.1564 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 47.371 159.131 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 1caee53e-2f65-44a1-b0a6-628f6771d0f3))
+    (pin "2" (uuid d54c882f-01a3-47ff-b805-a1cce42998db))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 57.15 134.62 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 7374bcb7-15af-4d0f-999a-8281ae765e32)
+    (property "Reference" "#PWR025" (id 0) (at 57.15 139.065 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 57.15 137.16 0))
+    (property "Footprint" "" (id 2) (at 57.15 134.62 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 57.15 134.62 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid bb245c7e-ec50-452a-a17f-bf93af815a5a))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 41.91 80.01 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 739b591f-ee89-4e4b-a089-6321966edc77)
+    (property "Reference" "#PWR08" (id 0) (at 41.91 84.455 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 41.91 82.55 0))
+    (property "Footprint" "" (id 2) (at 41.91 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 41.91 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 0ddd913a-01fd-481e-b154-5f1b5423e9cd))
+  )
+
+  (symbol (lib_id "ataradov_pwr:VBUS") (at 45.72 95.25 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 795c085a-5839-4b20-9612-e1f68b728c60)
+    (property "Reference" "#PWR011" (id 0) (at 45.72 90.805 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "VBUS" (id 1) (at 45.72 92.964 0))
+    (property "Footprint" "" (id 2) (at 45.72 95.25 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 45.72 95.25 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 951cf345-da87-4fdd-b04a-95e684d5e266))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 153.67 144.78 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 86c6537a-0bd3-4086-b031-eab36facf79a)
+    (property "Reference" "#PWR029" (id 0) (at 153.67 149.225 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 153.67 147.32 0))
+    (property "Footprint" "" (id 2) (at 153.67 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 153.67 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 6dbf6a20-88cf-4453-ad3e-d66f6d93c03f))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 220.98 111.76 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 91bc197d-6d83-4568-9730-b5525a4d178e)
+    (property "Reference" "#PWR016" (id 0) (at 220.98 107.315 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 220.98 109.474 0))
+    (property "Footprint" "" (id 2) (at 220.98 111.76 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 220.98 111.76 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid deeb8f69-3d5e-4bf3-9a96-53268a53a38f))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 154.94 132.08 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 9737a685-8ffd-40e2-8586-2dabc47c8d1e)
+    (property "Reference" "#PWR024" (id 0) (at 154.94 136.525 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 154.94 134.62 0))
+    (property "Footprint" "" (id 2) (at 154.94 132.08 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 154.94 132.08 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 29468356-d2ae-45aa-9181-4562c24159c4))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 181.61 139.7 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 9a8cbc20-5075-4675-a175-91ef5a29d96a)
+    (property "Reference" "#PWR026" (id 0) (at 181.61 135.255 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 181.61 137.414 0))
+    (property "Footprint" "" (id 2) (at 181.61 139.7 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 181.61 139.7 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 3bf09426-9c85-4f9a-8783-ea0cc4a81325))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 60.96 54.61 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 9ccf3359-ba11-46a6-9a0c-9b63f86fe90d)
+    (property "Reference" "R1" (id 0) (at 58.928 54.61 0))
+    (property "Value" "5.1K" (id 1) (at 60.96 54.61 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 63.5 55.118 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 60.96 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid bf955f89-8b29-43eb-b6ed-2b4898fe76f9))
+    (pin "2" (uuid 7e7cfa4d-3d35-4aef-b114-d921246723be))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 154.94 106.68 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 9cfe5136-76bd-44a6-bc76-39aae12e41da)
+    (property "Reference" "#PWR014" (id 0) (at 154.94 111.125 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 154.94 109.22 0))
+    (property "Footprint" "" (id 2) (at 154.94 106.68 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 154.94 106.68 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid da93e003-e69c-406e-80d3-7fc240bdd60c))
+  )
+
+  (symbol (lib_id "ataradov_conn:USB-C") (at 49.53 44.45 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid a29f1a62-28d6-483c-8bf1-73979d7bd982)
+    (property "Reference" "J1" (id 0) (at 49.53 31.75 0))
+    (property "Value" "USB-C" (id 1) (at 49.53 59.69 0))
+    (property "Footprint" "ataradov_conn:USB-C" (id 2) (at 49.53 62.23 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 53.34 49.53 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "CC1" (uuid e0c79ddd-790d-4967-b962-1ba9b3cae255))
+    (pin "CC2" (uuid c07b83ad-a4ec-4c05-8a8c-033c88bcc0af))
+    (pin "D+1" (uuid 72242424-a9d9-4f75-bf3f-58a345fb3cfd))
+    (pin "D+2" (uuid 185d837a-b34d-4af3-83aa-712a2809ddec))
+    (pin "D-1" (uuid 4f6eda4a-928d-4649-a07d-f30eb5ce6f31))
+    (pin "D-2" (uuid ce9c5502-cf04-42ee-9b90-768f1cd959ed))
+    (pin "GND1" (uuid 7974ecd1-9f71-4da2-a91f-ff87e5f72ea2))
+    (pin "GND2" (uuid 2bbf343b-87c5-44f0-b5d6-2bdcfe1c7692))
+    (pin "S1" (uuid 4a0313a5-9b89-47f6-9ef6-e2a54aa797dc))
+    (pin "S2" (uuid 49dead33-5e00-48da-94ce-8ca13cf8abd8))
+    (pin "S3" (uuid ce3ee8d4-533e-42e8-af1e-d7818469fa07))
+    (pin "S4" (uuid fa4ae438-f9a9-4287-9e80-385c6b8ff9c0))
+    (pin "SBU1" (uuid 29f34068-40c8-442d-b633-2a43f6057347))
+    (pin "SBU2" (uuid 19f8f161-3150-4665-bc26-70f708bc117f))
+    (pin "VBUS1" (uuid abbe5d49-6668-4714-886b-dea79ce5e0d7))
+    (pin "VBUS2" (uuid cbc4c0c0-063d-4f3d-bfe8-6aa350b2f70f))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 54.61 96.52 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid a4dc6caf-b167-4179-b6fc-f87da0aed1f2)
+    (property "Reference" "#PWR012" (id 0) (at 54.61 100.965 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 54.61 99.06 0))
+    (property "Footprint" "" (id 2) (at 54.61 96.52 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 54.61 96.52 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 9fef8c21-7687-44b2-9ae5-c73b7fddcb3d))
+  )
+
+  (symbol (lib_id "ataradov_mcu:M48XSIDAE") (at 137.16 90.17 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid b4eec5a6-4c00-4bb4-8bd1-32e5eedceb3a)
+    (property "Reference" "IC2" (id 0) (at 137.16 45.72 0))
+    (property "Value" "M48XSIDAE" (id 1) (at 137.16 142.24 0))
+    (property "Footprint" "ataradov_ic:TQFP-64-0.4mm" (id 2) (at 137.16 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 137.16 90.17 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 4bde257d-6eba-4929-b8dd-b4f120181224))
+    (pin "10" (uuid 939d2c3b-c69e-4836-84e4-64c05d2318d8))
+    (pin "11" (uuid 3f7f64b5-588f-4e81-a47d-c6c5e5b246ed))
+    (pin "12" (uuid 509ef043-0948-4a4b-a773-27212def1cdb))
+    (pin "13" (uuid 02013f3c-f3f5-47ac-a8d2-335425e0539a))
+    (pin "14" (uuid 8fca9f59-a3f0-411c-b6f6-1d7c98e7a97a))
+    (pin "15" (uuid 23e48f7b-107f-451f-9fa4-c6357da9297f))
+    (pin "16" (uuid b29bd030-6465-489c-b8b6-56e1ff7a66b8))
+    (pin "17" (uuid 50f30b2e-60f8-4175-9d0d-75c8ee51426e))
+    (pin "18" (uuid f0a8a0e8-36d3-48f2-b630-6dbc0ba6d70c))
+    (pin "19" (uuid daebef6f-c8d1-47e8-aee9-3552c4307816))
+    (pin "2" (uuid 8ac2fd8c-9b28-4ca5-b8fe-aede6ac595c5))
+    (pin "20" (uuid 2c9df526-bb94-4ae7-9343-ec72764c92bc))
+    (pin "21" (uuid b821106d-cff2-43c3-b3bb-3d8df34d2f2a))
+    (pin "22" (uuid f0210693-965e-45e8-b302-964b45b38b5c))
+    (pin "23" (uuid a907021f-c280-49a4-9731-04b8a499e4b3))
+    (pin "24" (uuid 035a1962-9ed2-43fe-97ab-aa9c64663917))
+    (pin "25" (uuid 1359d3e8-3a0c-4d0d-876b-f4c5e0569031))
+    (pin "26" (uuid c8211114-427e-4576-9311-7e389d829867))
+    (pin "27" (uuid ace7efb1-98da-4f40-8ac9-b0ef0fe77a7c))
+    (pin "28" (uuid c9dbf633-2983-43f3-8ae2-86e770e85c27))
+    (pin "29" (uuid c0e614f6-fdae-4d62-84dc-2863c8526591))
+    (pin "3" (uuid b13f0c19-67fd-41a4-9cde-342a4e6d8df4))
+    (pin "30" (uuid fedffe37-334b-4ed8-b2e0-dc86b6c9da20))
+    (pin "31" (uuid 377f49ef-be25-49ec-ac2f-03d64504a6b9))
+    (pin "32" (uuid 6b4da088-417d-46cd-afae-7d518e234215))
+    (pin "33" (uuid 1eba6fe8-9961-4530-b756-7580fd10d4b5))
+    (pin "34" (uuid e288907b-73d2-4870-b668-1e1faae5310b))
+    (pin "35" (uuid c42d959f-8175-4eea-9a36-ae88d6fd1e78))
+    (pin "36" (uuid d719666a-e499-468a-b0b5-922a4e5eedb4))
+    (pin "37" (uuid 558b5d31-920c-4b4e-93d9-c090861feb74))
+    (pin "38" (uuid 7650eb10-ca1b-43de-bc33-80853b565545))
+    (pin "39" (uuid 3d98df91-19c1-4efd-b03b-a091fbd4480b))
+    (pin "4" (uuid 3787a2c2-1ae7-444a-842d-5ec959382983))
+    (pin "40" (uuid ad11e0d0-3125-4cd0-a0a4-e768f50fd08f))
+    (pin "41" (uuid 4b7ee7c0-fad7-4135-b391-aba33452cca9))
+    (pin "42" (uuid 3c2d1e4a-4693-4993-bc17-4e5724771074))
+    (pin "43" (uuid 0d0ef002-0dc4-4934-8059-09bf5df1bf87))
+    (pin "44" (uuid c6be0374-bf27-42e1-baf4-abfff14c3aac))
+    (pin "45" (uuid f7fefe5a-3ed6-44ef-bfbf-160849dd9e9d))
+    (pin "46" (uuid 1b0b593c-4f77-42b2-96e7-cb0a511094bf))
+    (pin "47" (uuid 385ad7fe-2ea0-45f7-8347-07a9be53db11))
+    (pin "48" (uuid 5237aa4c-7308-403b-8b61-40d070422493))
+    (pin "49" (uuid 6bdd46d0-95c6-4071-b071-fd3e58ea8186))
+    (pin "5" (uuid f5120eca-f4f5-4181-9769-7ad1db70d7af))
+    (pin "50" (uuid 50c5e8a0-e3c7-43b0-aa62-c3c30c48a2bd))
+    (pin "51" (uuid a317344a-b920-4da0-b514-1d22a17cf5cc))
+    (pin "52" (uuid b21ff611-dbba-453d-9433-5fd51761a3af))
+    (pin "53" (uuid 9a1cc56b-4e1d-4989-9ec2-d7769ebca109))
+    (pin "54" (uuid 1745f25d-a83e-40a3-9b37-47313ada1aaa))
+    (pin "55" (uuid f09024a7-d3b9-4964-aa70-ade4e0ccb552))
+    (pin "56" (uuid 73060269-e6d2-4546-9135-e329d37f127f))
+    (pin "57" (uuid 732bb40a-7dee-4489-90c1-f16f94c8ece2))
+    (pin "58" (uuid 2391c42a-98a1-4cc0-85f9-073f00c4eb0d))
+    (pin "59" (uuid a07286e7-4507-428f-aeef-fde02e0b3f60))
+    (pin "6" (uuid ffec4c67-757c-4a16-bb96-e2294f25748c))
+    (pin "60" (uuid c59a28b5-030d-46cd-ab5c-25c60d407111))
+    (pin "61" (uuid 0c6f9dd0-8227-4532-ac92-663eb9223695))
+    (pin "62" (uuid 3112568b-6aaa-4df8-9311-fcc95424630b))
+    (pin "63" (uuid eca83691-ebf7-4d04-b527-39948469c50b))
+    (pin "64" (uuid 4e99bb67-ea71-4670-9fd5-216d0c920336))
+    (pin "7" (uuid 2405e7dc-4c96-42ce-95aa-badc6accec16))
+    (pin "8" (uuid 78d5270d-6591-472b-83a4-3833fb68d2bf))
+    (pin "9" (uuid 1daf3e1c-7771-4479-92f5-02f4146ba794))
+  )
+
+  (symbol (lib_id "ataradov_rlc:L") (at 189.23 110.49 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid b54e9c10-cec2-4fb7-b5fa-76e3fa2cbebb)
+    (property "Reference" "L1" (id 0) (at 189.23 108.458 0))
+    (property "Value" "BLM15BD471SN1D" (id 1) (at 189.23 111.76 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0402" (id 2) (at 189.23 114.3 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 189.23 110.49 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 587a06ed-9ddd-4c59-807c-100fa9e88fcc))
+    (pin "2" (uuid e3ff54c4-260c-468b-ac74-01ae17030ee6))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 196.85 144.78 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid b72f0634-5f04-4561-a490-d1a9b86ddb33)
+    (property "Reference" "#PWR033" (id 0) (at 196.85 149.225 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 196.85 147.32 0))
+    (property "Footprint" "" (id 2) (at 196.85 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 196.85 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 97afef9b-2f1f-419b-ae9c-a2579ce741a3))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 66.04 54.61 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid c2ea3529-b16a-465b-b793-cd4bcdfbeef6)
+    (property "Reference" "R2" (id 0) (at 64.008 54.61 0))
+    (property "Value" "5.1K" (id 1) (at 66.04 54.61 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 68.58 55.118 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 66.04 54.61 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid a19cd98c-dbb3-4945-817c-9a59fed0a077))
+    (pin "2" (uuid dd7f0d45-3367-4de0-ae2e-4a2f87e05d7d))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 44.45 154.94 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid c594dcf2-f562-4ebf-9380-711463f31929)
+    (property "Reference" "R7" (id 0) (at 44.45 152.908 0))
+    (property "Value" "10K" (id 1) (at 44.45 154.94 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 43.942 157.48 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 44.45 154.94 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 23443ffc-e38c-4bb1-83e7-faaa59cc3785))
+    (pin "2" (uuid e75e898f-9689-4e61-8182-ec9e9a207da3))
+  )
+
+  (symbol (lib_id "ataradov_misc:Logo") (at 261.62 194.31 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid c5ac15a6-7a3d-42a9-adb0-f88cb8f1134d)
+    (property "Reference" "Logo1" (id 0) (at 261.62 191.008 0))
+    (property "Value" "Logo" (id 1) (at 261.62 197.358 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Footprint" "ataradov_misc:Logo-Small" (id 2) (at 261.62 199.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 262.382 194.056 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 48.26 80.01 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid c860c4e9-3ddd-4065-857c-b9aedc01e6ad)
+    (property "Reference" "#PWR09" (id 0) (at 48.26 84.455 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 48.26 82.55 0))
+    (property "Footprint" "" (id 2) (at 48.26 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 48.26 80.01 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid ed1f5df2-cfb6-4083-a9e5-5d196546ef9b))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 46.99 119.38 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid cba72152-8d99-4bd5-8244-e2df9f952f40)
+    (property "Reference" "R4" (id 0) (at 44.958 119.38 0))
+    (property "Value" "10K" (id 1) (at 46.99 119.38 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 49.53 119.888 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 46.99 119.38 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 9a557d1f-0d29-4982-a9c8-5a44655a643e))
+    (pin "2" (uuid 6cc79ae9-1c3c-4f19-9e8d-ce4a86c1f8df))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 181.61 144.78 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid cca836a6-af04-436a-a06e-45467e1be927)
+    (property "Reference" "#PWR031" (id 0) (at 181.61 149.225 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 181.61 147.32 0))
+    (property "Footprint" "" (id 2) (at 181.61 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 181.61 144.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 380b7a0a-3de1-460c-9b09-dcf9bcf5a6af))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 196.85 116.84 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid cdbc2c66-46a1-4cec-ba72-fa45ed9ddfed)
+    (property "Reference" "#PWR020" (id 0) (at 196.85 121.285 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 196.85 119.38 0))
+    (property "Footprint" "" (id 2) (at 196.85 116.84 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 196.85 116.84 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid b373759a-6ac5-4380-abfe-f942358d46ec))
+  )
+
+  (symbol (lib_id "ataradov_misc:TestPoint") (at 59.69 128.27 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid cfdc7c2b-eeb6-41c8-a335-12ee514fb84a)
+    (property "Reference" "TP1" (id 0) (at 62.23 128.27 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "SWCLK" (id 1) (at 67.31 128.27 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_misc:TestPoint-1.27mm-Small" (id 2) (at 59.69 130.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 59.69 128.27 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 98e870c1-7bf4-4aaf-b838-1372ddc0083e))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 41.91 58.42 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid d2299eed-477d-40aa-a7fd-92b8ce1c4acf)
+    (property "Reference" "#PWR02" (id 0) (at 41.91 62.865 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 41.91 60.96 0))
+    (property "Footprint" "" (id 2) (at 41.91 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 41.91 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 201d29c8-a0c2-462d-859b-6663f4546f75))
+  )
+
+  (symbol (lib_id "power:PWR_FLAG") (at 162.56 115.57 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid d59cc095-09ba-459b-9f41-5c87d9427b53)
+    (property "Reference" "#FLG0102" (id 0) (at 162.56 113.665 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "PWR_FLAG" (id 1) (at 162.56 111.76 0))
+    (property "Footprint" "" (id 2) (at 162.56 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 162.56 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 4ab68639-5cdb-499b-8985-54bc5778dbce))
+  )
+
+  (symbol (lib_id "ataradov_rlc:R") (at 161.29 118.11 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid d7ddab23-d82d-4b1f-bb60-867ca3aacbad)
+    (property "Reference" "R3" (id 0) (at 156.21 116.84 0))
+    (property "Value" "200" (id 1) (at 161.29 118.11 0)
+      (effects (font (size 1.016 1.016)))
+    )
+    (property "Footprint" "ataradov_smd:0402" (id 2) (at 160.782 120.65 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 161.29 118.11 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 43d67256-af73-4c14-aa0f-37609cbc98e6))
+    (pin "2" (uuid 991c251f-9910-4a97-9a0d-352b84bd4ad2))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 41.91 77.47 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e06501c8-2845-4054-9787-05ce88080176)
+    (property "Reference" "C1" (id 0) (at 42.545 75.565 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 42.545 79.502 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 45.72 77.47 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 41.91 77.47 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid b1505178-62d2-4d69-88ca-4f0742d8c5a2))
+    (pin "2" (uuid 61f79dbe-baa7-4106-9905-30750859d682))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 57.15 115.57 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e121ed0d-c840-4df4-8239-aa435235acff)
+    (property "Reference" "#PWR019" (id 0) (at 57.15 111.125 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 57.15 113.284 0))
+    (property "Footprint" "" (id 2) (at 57.15 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 57.15 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 710cadaa-91df-4f68-9722-e9f1a369c80e))
+  )
+
+  (symbol (lib_id "ataradov_vreg:SC662K") (at 55.88 76.2 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e254f06c-00a2-4056-b804-b955996fa3d5)
+    (property "Reference" "IC1" (id 0) (at 55.88 69.85 0))
+    (property "Value" "SC662K-3.3" (id 1) (at 55.88 80.01 0))
+    (property "Footprint" "ataradov_ic:SOT-23" (id 2) (at 55.88 82.55 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 55.88 76.2 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 907de315-5217-430d-b87e-7673d46e929e))
+    (pin "2" (uuid fa214dfc-a5ff-4252-a326-6f007fc38fde))
+    (pin "3" (uuid 44e9d130-6d17-4ee2-b86d-7a2ffde0c0ff))
+  )
+
+  (symbol (lib_id "ataradov_pwr:VBUS") (at 41.91 33.02 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e92fc636-6f09-4bcf-996b-40649153e556)
+    (property "Reference" "#PWR01" (id 0) (at 41.91 28.575 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "VBUS" (id 1) (at 41.91 30.734 0))
+    (property "Footprint" "" (id 2) (at 41.91 33.02 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 41.91 33.02 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid fd6083ca-e8b1-4b71-9edd-8b06964fad29))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 189.23 139.7 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid e943b169-9e8a-4877-8ada-8c54963352d8)
+    (property "Reference" "#PWR027" (id 0) (at 189.23 135.255 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 189.23 137.414 0))
+    (property "Footprint" "" (id 2) (at 189.23 139.7 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 189.23 139.7 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 3c912bf0-d0ae-4fbc-b5fc-25da97406645))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 172.72 113.03 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid f01f1d34-3e52-4097-ac49-2a355c0d6f75)
+    (property "Reference" "C3" (id 0) (at 167.64 113.03 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "100nF" (id 1) (at 175.26 113.03 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0402" (id 2) (at 176.53 113.03 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 172.72 113.03 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 6ddc6dd7-aead-4f7b-a3f0-4fc8d2de0722))
+    (pin "2" (uuid a6e55809-56bf-42cc-b8fe-913aeab687a9))
+  )
+
+  (symbol (lib_id "ataradov_pwr:GND") (at 241.3 116.84 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid f2b1db70-dd44-4c9f-b142-2f597b9e406d)
+    (property "Reference" "#PWR021" (id 0) (at 241.3 121.285 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 241.3 119.38 0))
+    (property "Footprint" "" (id 2) (at 241.3 116.84 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 241.3 116.84 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid ec2fc29d-192a-46af-91ec-b5ab5b0d62ca))
+  )
+
+  (symbol (lib_id "ataradov_pwr:+3V3") (at 52.07 115.57 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid f3dccac1-634b-4793-a3ed-48e123b19079)
+    (property "Reference" "#PWR018" (id 0) (at 52.07 111.125 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+3V3" (id 1) (at 52.07 113.284 0))
+    (property "Footprint" "" (id 2) (at 52.07 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 52.07 115.57 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid bd6b468a-a11a-4f37-b954-d181d18e5df4))
+  )
+
+  (symbol (lib_id "power:PWR_FLAG") (at 54.61 96.52 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid f43c2fc6-cae3-4670-bdc3-d8ccd28d5859)
+    (property "Reference" "#FLG02" (id 0) (at 54.61 94.615 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "PWR_FLAG" (id 1) (at 54.61 92.71 0))
+    (property "Footprint" "" (id 2) (at 54.61 96.52 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 54.61 96.52 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 09274162-ac4a-4d4a-a141-bf8c133f61f6))
+  )
+
+  (symbol (lib_id "ataradov_crystal:DSC61XX-MHz") (at 229.87 113.03 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid f5a9e84f-71bc-44ae-ba9c-629ab6cfcde2)
+    (property "Reference" "IC3" (id 0) (at 229.87 109.22 0))
+    (property "Value" "OT201612MJBA4SL" (id 1) (at 229.87 119.38 0))
+    (property "Footprint" "ataradov_ic:SMD2016-4P" (id 2) (at 229.87 121.92 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 229.87 111.76 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 6bb494c7-71d9-4770-ad83-591618c9fdc3))
+    (pin "2" (uuid 5e697f2f-208c-4956-b304-9ff1b9a033e9))
+    (pin "3" (uuid 4545104a-db25-49a9-b41b-be28c0df678d))
+    (pin "4" (uuid a5a34e15-39b6-42ee-bfdc-58d62ef26dd7))
+  )
+
+  (symbol (lib_id "ataradov_rlc:C") (at 189.23 142.24 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid fb908ea7-04ac-4a04-9d86-6027ef044718)
+    (property "Reference" "C8" (id 0) (at 189.865 140.335 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "1uF" (id 1) (at 189.865 144.272 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "ataradov_smd:0603" (id 2) (at 193.04 142.24 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 189.23 142.24 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid bfc270b7-e01a-43c2-b15e-c991f6c0946a))
+    (pin "2" (uuid 382ff422-a306-4493-a2df-7576abf06076))
+  )
+
+  (symbol (lib_id "ataradov_pwr:VBUS") (at 41.91 72.39 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid fdfdc927-8119-42ff-858e-0c98d51b2e84)
+    (property "Reference" "#PWR05" (id 0) (at 41.91 67.945 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "VBUS" (id 1) (at 41.91 70.104 0))
+    (property "Footprint" "" (id 2) (at 41.91 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 41.91 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid d245a507-8a19-481d-a05d-417eb2477646))
+  )
+
+  (sheet_instances
+    (path "/" (page "1"))
+  )
+
+  (symbol_instances
+    (path "/65803744-5fc3-48eb-aeb5-74da1b7d8a05"
+      (reference "#FLG01") (unit 1) (value "PWR_FLAG") (footprint "")
+    )
+    (path "/f43c2fc6-cae3-4670-bdc3-d8ccd28d5859"
+      (reference "#FLG02") (unit 1) (value "PWR_FLAG") (footprint "")
+    )
+    (path "/326deb88-38c2-4ea5-818e-efa336368ed1"
+      (reference "#FLG0101") (unit 1) (value "PWR_FLAG") (footprint "")
+    )
+    (path "/d59cc095-09ba-459b-9f41-5c87d9427b53"
+      (reference "#FLG0102") (unit 1) (value "PWR_FLAG") (footprint "")
+    )
+    (path "/e92fc636-6f09-4bcf-996b-40649153e556"
+      (reference "#PWR01") (unit 1) (value "VBUS") (footprint "")
+    )
+    (path "/d2299eed-477d-40aa-a7fd-92b8ce1c4acf"
+      (reference "#PWR02") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/6063a967-bbbf-4670-9006-13e499888fcb"
+      (reference "#PWR03") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/276fea4f-11ba-4a19-af7c-773f88f4eeae"
+      (reference "#PWR04") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/fdfdc927-8119-42ff-858e-0c98d51b2e84"
+      (reference "#PWR05") (unit 1) (value "VBUS") (footprint "")
+    )
+    (path "/6b77c6b8-330f-44c5-82f1-264745164425"
+      (reference "#PWR06") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/60da2da1-44c1-4a8b-bb54-aa7ac36d2bec"
+      (reference "#PWR07") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/739b591f-ee89-4e4b-a089-6321966edc77"
+      (reference "#PWR08") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/c860c4e9-3ddd-4065-857c-b9aedc01e6ad"
+      (reference "#PWR09") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/26820f5c-8822-4371-879b-2c5fdeb709c6"
+      (reference "#PWR010") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/795c085a-5839-4b20-9612-e1f68b728c60"
+      (reference "#PWR011") (unit 1) (value "VBUS") (footprint "")
+    )
+    (path "/a4dc6caf-b167-4179-b6fc-f87da0aed1f2"
+      (reference "#PWR012") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/1e4ffb0e-227b-45d7-985e-6b5835d975a5"
+      (reference "#PWR013") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/9cfe5136-76bd-44a6-bc76-39aae12e41da"
+      (reference "#PWR014") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/342408af-53bd-4622-b5ed-82b6d8793625"
+      (reference "#PWR015") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/91bc197d-6d83-4568-9730-b5525a4d178e"
+      (reference "#PWR016") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/491f0972-8951-424e-ad68-0f92625adae1"
+      (reference "#PWR017") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/f3dccac1-634b-4793-a3ed-48e123b19079"
+      (reference "#PWR018") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/e121ed0d-c840-4df4-8239-aa435235acff"
+      (reference "#PWR019") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/cdbc2c66-46a1-4cec-ba72-fa45ed9ddfed"
+      (reference "#PWR020") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/f2b1db70-dd44-4c9f-b142-2f597b9e406d"
+      (reference "#PWR021") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/5c6e8d89-d9ce-43bd-be81-3487fb581efe"
+      (reference "#PWR022") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/502efac5-4bc7-4ad9-b62f-47c2f692dc6b"
+      (reference "#PWR023") (unit 1) (value "VBUS") (footprint "")
+    )
+    (path "/9737a685-8ffd-40e2-8586-2dabc47c8d1e"
+      (reference "#PWR024") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/7374bcb7-15af-4d0f-999a-8281ae765e32"
+      (reference "#PWR025") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/9a8cbc20-5075-4675-a175-91ef5a29d96a"
+      (reference "#PWR026") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/e943b169-9e8a-4877-8ada-8c54963352d8"
+      (reference "#PWR027") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/3115be40-426b-4fd1-8cf0-53782df089c6"
+      (reference "#PWR028") (unit 1) (value "+3V3") (footprint "")
+    )
+    (path "/86c6537a-0bd3-4086-b031-eab36facf79a"
+      (reference "#PWR029") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/2fb5125d-6871-4606-b743-0846e42520ad"
+      (reference "#PWR030") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/cca836a6-af04-436a-a06e-45467e1be927"
+      (reference "#PWR031") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/1576e260-625c-4388-af78-0d2fe29ab3a5"
+      (reference "#PWR032") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/b72f0634-5f04-4561-a490-d1a9b86ddb33"
+      (reference "#PWR033") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/0757abbd-54c6-4c08-a50f-6bd1d1a846df"
+      (reference "#PWR034") (unit 1) (value "GND") (footprint "")
+    )
+    (path "/e06501c8-2845-4054-9787-05ce88080176"
+      (reference "C1") (unit 1) (value "1uF") (footprint "ataradov_smd:0603")
+    )
+    (path "/03c058db-b9f4-404f-9c24-1f1dab858e28"
+      (reference "C2") (unit 1) (value "1uF") (footprint "ataradov_smd:0603")
+    )
+    (path "/f01f1d34-3e52-4097-ac49-2a355c0d6f75"
+      (reference "C3") (unit 1) (value "100nF") (footprint "ataradov_smd:0402")
+    )
+    (path "/0ef1f3c3-e4c4-4a73-8baa-87a2ea66a74e"
+      (reference "C4") (unit 1) (value "1uF") (footprint "ataradov_smd:0402")
+    )
+    (path "/1e695ccd-bd10-4d06-aff8-bf772897e5c6"
+      (reference "C5") (unit 1) (value "1uF") (footprint "ataradov_smd:0402")
+    )
+    (path "/121fd247-0434-41bb-8963-4a9904c0ef39"
+      (reference "C6") (unit 1) (value "1uF") (footprint "ataradov_smd:0402")
+    )
+    (path "/511f975b-3d64-468c-9ff8-aebf3379c789"
+      (reference "C7") (unit 1) (value "1uF") (footprint "ataradov_smd:0603")
+    )
+    (path "/fb908ea7-04ac-4a04-9d86-6027ef044718"
+      (reference "C8") (unit 1) (value "1uF") (footprint "ataradov_smd:0603")
+    )
+    (path "/5615d963-6d0e-4a01-9461-61da17436dab"
+      (reference "C9") (unit 1) (value "1uF") (footprint "ataradov_smd:0603")
+    )
+    (path "/e254f06c-00a2-4056-b804-b955996fa3d5"
+      (reference "IC1") (unit 1) (value "SC662K-3.3") (footprint "ataradov_ic:SOT-23")
+    )
+    (path "/b4eec5a6-4c00-4bb4-8bd1-32e5eedceb3a"
+      (reference "IC2") (unit 1) (value "M48XSIDAE") (footprint "ataradov_ic:TQFP-64-0.4mm")
+    )
+    (path "/f5a9e84f-71bc-44ae-ba9c-629ab6cfcde2"
+      (reference "IC3") (unit 1) (value "OT201612MJBA4SL") (footprint "ataradov_ic:SMD2016-4P")
+    )
+    (path "/a29f1a62-28d6-483c-8bf1-73979d7bd982"
+      (reference "J1") (unit 1) (value "USB-C") (footprint "ataradov_conn:USB-C")
+    )
+    (path "/0220b3c5-3933-430c-9a95-3250361c369c"
+      (reference "J2") (unit 1) (value "Conn-5x2") (footprint "ataradov_conn:Header-5x2-1.27mm")
+    )
+    (path "/b54e9c10-cec2-4fb7-b5fa-76e3fa2cbebb"
+      (reference "L1") (unit 1) (value "BLM15BD471SN1D") (footprint "ataradov_smd:0402")
+    )
+    (path "/0d146115-1987-4bfd-811f-0074c06844b0"
+      (reference "L2") (unit 1) (value "BLM15BD471SN1D") (footprint "ataradov_smd:0402")
+    )
+    (path "/6bc6f722-72ae-42d6-be95-2b8bf65cd61e"
+      (reference "LED1") (unit 1) (value "Orange") (footprint "ataradov_smd:0603")
+    )
+    (path "/c5ac15a6-7a3d-42a9-adb0-f88cb8f1134d"
+      (reference "Logo1") (unit 1) (value "Logo") (footprint "ataradov_misc:Logo-Small")
+    )
+    (path "/9ccf3359-ba11-46a6-9a0c-9b63f86fe90d"
+      (reference "R1") (unit 1) (value "5.1K") (footprint "ataradov_smd:0603")
+    )
+    (path "/c2ea3529-b16a-465b-b793-cd4bcdfbeef6"
+      (reference "R2") (unit 1) (value "5.1K") (footprint "ataradov_smd:0603")
+    )
+    (path "/d7ddab23-d82d-4b1f-bb60-867ca3aacbad"
+      (reference "R3") (unit 1) (value "200") (footprint "ataradov_smd:0402")
+    )
+    (path "/cba72152-8d99-4bd5-8244-e2df9f952f40"
+      (reference "R4") (unit 1) (value "10K") (footprint "ataradov_smd:0603")
+    )
+    (path "/539cec94-91a0-4ec0-99cc-490e4a898fee"
+      (reference "R5") (unit 1) (value "10K") (footprint "ataradov_smd:0603")
+    )
+    (path "/5b90fd4b-899a-4541-8472-8fc45aa265a6"
+      (reference "R6") (unit 1) (value "10K") (footprint "ataradov_smd:0603")
+    )
+    (path "/c594dcf2-f562-4ebf-9380-711463f31929"
+      (reference "R7") (unit 1) (value "10K") (footprint "ataradov_smd:0603")
+    )
+    (path "/cfdc7c2b-eeb6-41c8-a335-12ee514fb84a"
+      (reference "TP1") (unit 1) (value "SWCLK") (footprint "ataradov_misc:TestPoint-1.27mm-Small")
+    )
+    (path "/6235414f-a7d9-4f2a-85bb-4ac75e44c66e"
+      (reference "TP2") (unit 1) (value "SWDIO") (footprint "ataradov_misc:TestPoint-1.27mm-Small")
+    )
+    (path "/2fdf4489-bc00-4109-aa4e-8518129c5f65"
+      (reference "TP3") (unit 1) (value "GND") (footprint "ataradov_misc:TestPoint-1.27mm-Small")
+    )
+  )
+)

binární
dap_link/lib/free-dap/hardware/m484-dap/output/m484-dap-Assembly.pdf


binární
dap_link/lib/free-dap/hardware/m484-dap/output/m484-dap-gerbers.zip


binární
dap_link/lib/free-dap/hardware/m484-dap/output/m484-dap.pdf


+ 5 - 0
dap_link/lib/free-dap/hardware/m484-dap/pcb.kicad_wks

@@ -0,0 +1,5 @@
+(kicad_wks (version 20210606) (generator pl_editor)
+  (setup (textsize 1.5 1.5)(linewidth 0.15)(textlinewidth 0.15)
+  (left_margin 10)(right_margin 10)(top_margin 10)(bottom_margin 10))
+  (line (name "segm1:Line") (start 0 0) (end 0 0))
+)

+ 15 - 0
dap_link/lib/free-dap/hardware/m484-dap/sch.kicad_wks

@@ -0,0 +1,15 @@
+(kicad_wks (version 20210606) (generator pl_editor)
+  (setup (textsize 1.5 1.5)(linewidth 0.15)(textlinewidth 0.15)
+  (left_margin 10)(right_margin 10)(top_margin 10)(bottom_margin 10))
+  (rect (name "") (start 0 0 ltcorner) (end 0 0) (repeat 2) (incrx 2) (incry 2))
+  (line (name "") (start 50 2 ltcorner) (end 50 0 ltcorner) (repeat 30) (incrx 50))
+  (tbtext "1" (name "") (pos 25 1 ltcorner) (font (size 1.3 1.3)) (repeat 100) (incrx 50))
+  (line (name "") (start 50 2 lbcorner) (end 50 0 lbcorner) (repeat 30) (incrx 50))
+  (tbtext "1" (name "") (pos 25 1 lbcorner) (font (size 1.3 1.3)) (repeat 100) (incrx 50))
+  (line (name "") (start 0 50 ltcorner) (end 2 50 ltcorner) (repeat 30) (incry 50))
+  (tbtext "A" (name "") (pos 1 25 ltcorner) (font (size 1.3 1.3)) (justify center) (repeat 100) (incry 50))
+  (line (name "") (start 0 50 rtcorner) (end 2 50 rtcorner) (repeat 30) (incry 50))
+  (tbtext "A" (name "") (pos 1 25 rtcorner) (font (size 1.3 1.3)) (justify center) (repeat 100) (incry 50))
+  (tbtext "${TITLE}${SHEETNAME} ${FILENAME}, rev ${REVISION} (${ISSUE_DATE}), page ${#} of ${##}" (name "") (pos 3 4) (justify right) (comment "Sheet id")
+)
+)

+ 239 - 0
dap_link/lib/free-dap/platform/m484/dap_config.h

@@ -0,0 +1,239 @@
+// SPDX-License-Identifier: BSD-3-Clause
+// Copyright (c) 2022, Alex Taradov <alex@taradov.com>. All rights reserved.
+
+#ifndef _DAP_CONFIG_H_
+#define _DAP_CONFIG_H_
+
+/*- Includes ----------------------------------------------------------------*/
+#include "M480.h"
+#include "hal_config.h"
+
+/*- Definitions -------------------------------------------------------------*/
+#define DAP_CONFIG_ENABLE_JTAG
+
+#define DAP_CONFIG_DEFAULT_PORT        DAP_PORT_SWD
+#define DAP_CONFIG_DEFAULT_CLOCK       1000000 // Hz
+
+#define DAP_CONFIG_PACKET_SIZE         512
+#define DAP_CONFIG_PACKET_COUNT        1
+
+#define DAP_CONFIG_JTAG_DEV_COUNT      8
+
+// DAP_CONFIG_PRODUCT_STR must contain "CMSIS-DAP" to be compatible with the standard
+#define DAP_CONFIG_VENDOR_STR          "Alex Taradov"
+#define DAP_CONFIG_PRODUCT_STR         "Generic CMSIS-DAP Adapter"
+#define DAP_CONFIG_SER_NUM_STR         usb_serial_number
+#define DAP_CONFIG_CMSIS_DAP_VER_STR   "2.0.0"
+
+//#define DAP_CONFIG_RESET_TARGET_FN     target_specific_reset_function
+//#define DAP_CONFIG_VENDOR_FN           vendor_command_handler_function
+
+// Attribute to use for performance-critical functions
+#define DAP_CONFIG_PERFORMANCE_ATTR
+
+// A value at which dap_clock_test() produces 1 kHz output on the SWCLK pin
+#define DAP_CONFIG_DELAY_CONSTANT      19000
+
+// A threshold for switching to fast clock (no added delays)
+// This is the frequency produced by dap_clock_test(1) on the SWCLK pin
+#define DAP_CONFIG_FAST_CLOCK          8550000
+
+/*- Prototypes --------------------------------------------------------------*/
+extern char usb_serial_number[16];
+
+/*- Implementations ---------------------------------------------------------*/
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWCLK_TCK_write(int value)
+{
+  HAL_GPIO_SWCLK_TCK_write(value);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWDIO_TMS_write(int value)
+{
+  HAL_GPIO_SWDIO_TMS_write(value);
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_TDI_write(int value)
+{
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  HAL_GPIO_TDI_write(value);
+#else
+  (void)value;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_TDO_write(int value)
+{
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  HAL_GPIO_TDO_write(value);
+#else
+  (void)value;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_nTRST_write(int value)
+{
+  (void)value;
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_nRESET_write(int value)
+{
+  HAL_GPIO_nRESET_write(value);
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_SWCLK_TCK_read(void)
+{
+  return HAL_GPIO_SWCLK_TCK_read();
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_SWDIO_TMS_read(void)
+{
+  return HAL_GPIO_SWDIO_TMS_read();
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_TDO_read(void)
+{
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  return HAL_GPIO_TDO_read();
+#else
+  return 0;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_TDI_read(void)
+{
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  return HAL_GPIO_TDI_read();
+#else
+  return 0;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_nTRST_read(void)
+{
+  return 0;
+}
+
+//-----------------------------------------------------------------------------
+static inline int DAP_CONFIG_nRESET_read(void)
+{
+  return HAL_GPIO_nRESET_read();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWCLK_TCK_set(void)
+{
+  HAL_GPIO_SWCLK_TCK_set();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWCLK_TCK_clr(void)
+{
+  HAL_GPIO_SWCLK_TCK_clr();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWDIO_TMS_in(void)
+{
+  HAL_GPIO_SWDIO_TMS_in();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SWDIO_TMS_out(void)
+{
+  HAL_GPIO_SWDIO_TMS_out();
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_SETUP(void)
+{
+  HAL_GPIO_SWCLK_TCK_in();
+  HAL_GPIO_SWDIO_TMS_in();
+  HAL_GPIO_nRESET_in();
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  HAL_GPIO_TDO_in();
+  HAL_GPIO_TDI_in();
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_DISCONNECT(void)
+{
+  HAL_GPIO_SWCLK_TCK_in();
+  HAL_GPIO_SWDIO_TMS_in();
+  HAL_GPIO_nRESET_in();
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  HAL_GPIO_TDO_in();
+  HAL_GPIO_TDI_in();
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_CONNECT_SWD(void)
+{
+  HAL_GPIO_SWDIO_TMS_out();
+  HAL_GPIO_SWDIO_TMS_set();
+
+  HAL_GPIO_SWCLK_TCK_out();
+  HAL_GPIO_SWCLK_TCK_set();
+
+  HAL_GPIO_nRESET_out();
+  HAL_GPIO_nRESET_set();
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  HAL_GPIO_TDO_in();
+  HAL_GPIO_TDI_in();
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_CONNECT_JTAG(void)
+{
+  HAL_GPIO_SWDIO_TMS_out();
+  HAL_GPIO_SWDIO_TMS_set();
+
+  HAL_GPIO_SWCLK_TCK_out();
+  HAL_GPIO_SWCLK_TCK_set();
+
+  HAL_GPIO_nRESET_out();
+  HAL_GPIO_nRESET_set();
+
+#ifdef DAP_CONFIG_ENABLE_JTAG
+  HAL_GPIO_TDO_in();
+
+  HAL_GPIO_TDI_out();
+  HAL_GPIO_TDI_set();
+#endif
+}
+
+//-----------------------------------------------------------------------------
+static inline void DAP_CONFIG_LED(int index, int state)
+{
+  (void)index;
+  (void)state;
+}
+
+//-----------------------------------------------------------------------------
+__attribute__((always_inline))
+static inline void DAP_CONFIG_DELAY(uint32_t cycles)
+{
+  asm volatile (
+    "1: subs %[cycles], %[cycles], #1 \n"
+    "   bne 1b \n"
+    : [cycles] "+l"(cycles)
+  );
+}
+
+#endif // _DAP_CONFIG_H_
+

+ 59 - 0
dap_link/lib/free-dap/platform/m484/hal_config.h

@@ -0,0 +1,59 @@
+// SPDX-License-Identifier: BSD-3-Clause
+// Copyright (c) 2022, Alex Taradov <alex@taradov.com>. All rights reserved.
+
+#ifndef _HAL_CONFIG_H_
+#define _HAL_CONFIG_H_
+
+/*- Includes ----------------------------------------------------------------*/
+#include "M480.h"
+#include "hal_gpio.h"
+
+/*- Definitions -------------------------------------------------------------*/
+//#define HAL_BOARD_GENERIC
+#define HAL_BOARD_M484_DAP
+
+#if defined(HAL_BOARD_GENERIC)
+  #define HAL_CONFIG_ENABLE_VCP
+
+  HAL_GPIO_PIN(SWCLK_TCK,      B, 0)
+  HAL_GPIO_PIN(SWDIO_TMS,      B, 1)
+  HAL_GPIO_PIN(TDI,            B, 2)
+  HAL_GPIO_PIN(TDO,            B, 3)
+  HAL_GPIO_PIN(nRESET,         B, 4)
+
+  HAL_GPIO_PIN(VCP_STATUS,     A, 5);
+  HAL_GPIO_PIN(DAP_STATUS,     C, 14);
+
+  HAL_GPIO_PIN(BOOT_ENTER,     A, 7);
+
+  HAL_GPIO_PIN(UART_RX,        A, 0)
+  HAL_GPIO_PIN(UART_TX,        A, 1)
+
+  #define UART_PER             UART0
+  #define UART_RX_MPF          7
+  #define UART_TX_MPF          7
+  #define UART_APBCLK_EN       CLK_APBCLK0_UART0CKEN_Msk
+  #define UART_CLKSEL_REG      CLKSEL1
+  #define UART_CLKSEL_POS      CLK_CLKSEL1_UART0SEL_Pos
+  #define UART_CLKSEL_MSK      CLK_CLKSEL1_UART0SEL_Msk
+  #define UART_IRQ_INDEX       UART0_IRQn
+  #define UART_IRQ_HANDLER     irq_handler_uart0
+  #define UART_CLOCK           192000000
+
+#elif defined(HAL_BOARD_M484_DAP)
+  HAL_GPIO_PIN(SWCLK_TCK,      B, 2)
+  HAL_GPIO_PIN(SWDIO_TMS,      B, 5)
+  HAL_GPIO_PIN(TDI,            A, 8)
+  HAL_GPIO_PIN(TDO,            A, 11)
+  HAL_GPIO_PIN(nRESET,         F, 5)
+
+  HAL_GPIO_PIN(DAP_STATUS,     B, 7);
+
+  HAL_GPIO_PIN(BOOT_ENTER,     A, 6);
+
+#else
+  #error No board defined
+#endif
+
+#endif // _HAL_CONFIG_H_
+

+ 161 - 0
dap_link/lib/free-dap/platform/m484/hal_gpio.h

@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2021, Alex Taradov <alex@taradov.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _HAL_GPIO_H_
+#define _HAL_GPIO_H_
+
+/*- Definitions -------------------------------------------------------------*/
+#define HAL_GPIO_PIN(name, port, pin)						\
+  static inline void HAL_GPIO_##name##_set(void)				\
+  {										\
+    P##port->PDIO[pin] = 1;							\
+    (void)HAL_GPIO_##name##_set;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_clr(void)				\
+  {										\
+    P##port->PDIO[pin] = 0;							\
+    (void)HAL_GPIO_##name##_clr;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_toggle(void)				\
+  {										\
+    P##port->DOUT ^= GPIO_DOUT_DOUT##pin##_Msk;					\
+    (void)HAL_GPIO_##name##_toggle;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_write(int value)				\
+  {										\
+    P##port->PDIO[pin] = (value > 0);						\
+    (void)HAL_GPIO_##name##_write;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_in(void)					\
+  {										\
+    P##port->MODE = (P##port->MODE & ~GPIO_MODE_MODE##pin##_Msk);		\
+    (void)HAL_GPIO_##name##_in;							\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_out(void)				\
+  {										\
+    P##port->MODE = (P##port->MODE & ~GPIO_MODE_MODE##pin##_Msk) | 		\
+        (1 << GPIO_MODE_MODE##pin##_Pos);					\
+    (void)HAL_GPIO_##name##_out;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_odrain(void)				\
+  {										\
+    P##port->MODE = (P##port->MODE & ~GPIO_MODE_MODE##pin##_Msk) | 		\
+        (2 << GPIO_MODE_MODE##pin##_Pos);					\
+    (void)HAL_GPIO_##name##_odrain;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_pullup(void)				\
+  {										\
+    P##port->PUSEL = (P##port->PUSEL & ~GPIO_PUSEL_PUSEL##pin##_Msk) | 		\
+        (1 << GPIO_PUSEL_PUSEL##pin##_Pos);					\
+    (void)HAL_GPIO_##name##_pullup;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_pulldown(void)				\
+  {										\
+    P##port->PUSEL = (P##port->PUSEL & ~GPIO_PUSEL_PUSEL##pin##_Msk) | 		\
+        (2 << GPIO_PUSEL_PUSEL##pin##_Pos);					\
+    (void)HAL_GPIO_##name##_pulldown;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_pulldis(void)				\
+  {										\
+    P##port->PUSEL = (P##port->PUSEL & ~GPIO_PUSEL_PUSEL##pin##_Msk); 		\
+    (void)HAL_GPIO_##name##_pulldis;						\
+  }										\
+										\
+  static inline int HAL_GPIO_##name##_read(void)				\
+  {										\
+    return P##port->PDIO[pin];							\
+    (void)HAL_GPIO_##name##_read;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_mfp(int value)				\
+  {										\
+    uint32_t mfp = (pin < 8) ? SYS->GP##port##_MFPL : SYS->GP##port##_MFPH;	\
+    uint32_t offs = ((pin < 8) ? pin : (pin-8)) * 4;				\
+    mfp = (mfp & ~(0xf << offs)) | (value << offs);				\
+    if (pin < 8)								\
+      SYS->GP##port##_MFPL = mfp;						\
+    else									\
+      SYS->GP##port##_MFPH = mfp;						\
+    (void)HAL_GPIO_##name##_mfp;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_mfos(int value)				\
+  {										\
+    if (value)									\
+      SYS->GP##port##_MFOS |= SYS_GPA_MFOS_MFOS##pin##_Msk;			\
+    else									\
+      SYS->GP##port##_MFOS &= ~SYS_GPA_MFOS_MFOS##pin##_Msk;			\
+    (void)HAL_GPIO_##name##_mfos;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_smten(int value)				\
+  {										\
+    if (value)									\
+      P##port->SMTEN |= GPIO_SMTEN_SMTEN##pin##_Msk;				\
+    else									\
+      P##port->SMTEN &= ~GPIO_SMTEN_SMTEN##pin##_Msk;				\
+    (void)HAL_GPIO_##name##_smten;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_dinoff(int value)			\
+  {										\
+    if (value)									\
+      P##port->DINOFF |= GPIO_DINOFF_DINOFF##pin##_Msk;				\
+    else									\
+      P##port->DINOFF &= ~GPIO_DINOFF_DINOFF##pin##_Msk;			\
+    (void)HAL_GPIO_##name##_dinoff;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_dben(int value)				\
+  {										\
+    if (value)									\
+      P##port->DBEN |= GPIO_DBEN_DBEN##pin##_Msk;				\
+    else									\
+      P##port->DBEN &= ~GPIO_DBEN_DBEN##pin##_Msk;				\
+    (void)HAL_GPIO_##name##_dben;						\
+  }										\
+										\
+  static inline void HAL_GPIO_##name##_slew(int value)				\
+  {										\
+    P##port->SLEWCTL = (P##port->SLEWCTL & ~GPIO_SLEWCTL_HSREN##pin##_Msk) |	\
+        (value << GPIO_SLEWCTL_HSREN##pin##_Pos);				\
+    (void)HAL_GPIO_##name##_slew;						\
+  }										\
+
+#endif // _HAL_GPIO_H_
+
+

+ 716 - 0
dap_link/lib/free-dap/platform/m484/include/M480.h

@@ -0,0 +1,716 @@
+/**************************************************************************//**
+ * @file     M480.h
+ * @version  V1.00
+ * @brief    M480 peripheral access layer header file.
+ *           This file contains all the peripheral register's definitions,
+ *           bits definitions and memory mapping for NuMicro M480 MCU.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+/**
+  \mainpage NuMicro M480 Driver Reference Guide
+  *
+  * <b>Introduction</b>
+  *
+  * This user manual describes the usage of M480 Series MCU device driver
+  *
+  * <b>Disclaimer</b>
+  *
+  * The Software is furnished "AS IS", without warranty as to performance or results, and
+  * the entire risk as to performance or results is assumed by YOU. Nuvoton disclaims all
+  * warranties, express, implied or otherwise, with regard to the Software, its use, or
+  * operation, including without limitation any and all warranties of merchantability, fitness
+  * for a particular purpose, and non-infringement of intellectual property rights.
+  *
+  * <b>Important Notice</b>
+  *
+  * Nuvoton Products are neither intended nor warranted for usage in systems or equipment,
+  * any malfunction or failure of which may cause loss of human life, bodily injury or severe
+  * property damage. Such applications are deemed, "Insecure Usage".
+  *
+  * Insecure usage includes, but is not limited to: equipment for surgical implementation,
+  * atomic energy control instruments, airplane or spaceship instruments, the control or
+  * operation of dynamic, brake or safety systems designed for vehicular use, traffic signal
+  * instruments, all types of safety devices, and other applications intended to support or
+  * sustain life.
+  *
+  * All Insecure Usage shall be made at customer's risk, and in the event that third parties
+  * lay claims to Nuvoton as a result of customer's Insecure Usage, customer shall indemnify
+  * the damages and liabilities thus incurred by Nuvoton.
+  *
+  * Please note that all data and specifications are subject to change without notice. All the
+  * trademarks of products and companies mentioned in this datasheet belong to their respective
+  * owners.
+  *
+  * <b>Copyright Notice</b>
+  *
+  * Copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+  */
+#ifndef __M480_H__
+#define __M480_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SET_FIELD(p, r, f, v) p->r = (p->r & ~p##_##r##_##f##_Msk) | ((v) << p##_##r##_##f##_Pos)
+
+/******************************************************************************/
+/*                Processor and Core Peripherals                              */
+/******************************************************************************/
+/** @addtogroup CMSIS_Device Device CMSIS Definitions
+  Configuration of the Cortex-M4 Processor and Core Peripherals
+  @{
+*/
+
+/**
+ * @details  Interrupt Number Definition.
+ */
+typedef enum IRQn
+{
+    /******  Cortex-M4 Processor Exceptions Numbers ***************************************************/
+    NonMaskableInt_IRQn           = -14,      /*!<  2 Non Maskable Interrupt                        */
+    MemoryManagement_IRQn         = -12,      /*!<  4 Memory Management Interrupt                   */
+    BusFault_IRQn                 = -11,      /*!<  5 Bus Fault Interrupt                           */
+    UsageFault_IRQn               = -10,      /*!<  6 Usage Fault Interrupt                         */
+    SVCall_IRQn                   = -5,       /*!< 11 SV Call Interrupt                             */
+    DebugMonitor_IRQn             = -4,       /*!< 12 Debug Monitor Interrupt                       */
+    PendSV_IRQn                   = -2,       /*!< 14 Pend SV Interrupt                             */
+    SysTick_IRQn                  = -1,       /*!< 15 System Tick Interrupt                         */
+
+    /******  M480 Specific Interrupt Numbers ********************************************************/
+
+    BOD_IRQn                      = 0,        /*!< Brown Out detection Interrupt                    */
+    IRC_IRQn                      = 1,        /*!< Internal RC Interrupt                            */
+    PWRWU_IRQn                    = 2,        /*!< Power Down Wake Up Interrupt                     */
+    RAMPE_IRQn                    = 3,        /*!< SRAM parity check failed Interrupt               */
+    CKFAIL_IRQn                   = 4,        /*!< Clock failed Interrupt                           */
+    RTC_IRQn                      = 6,        /*!< Real Time Clock Interrupt                        */
+    TAMPER_IRQn                   = 7,        /*!< Tamper detection Interrupt                       */
+    WDT_IRQn                      = 8,        /*!< Watchdog timer Interrupt                         */
+    WWDT_IRQn                     = 9,        /*!< Window Watchdog timer Interrupt                  */
+    EINT0_IRQn                    = 10,       /*!< External Input 0 Interrupt                       */
+    EINT1_IRQn                    = 11,       /*!< External Input 1 Interrupt                       */
+    EINT2_IRQn                    = 12,       /*!< External Input 2 Interrupt                       */
+    EINT3_IRQn                    = 13,       /*!< External Input 3 Interrupt                       */
+    EINT4_IRQn                    = 14,       /*!< External Input 4 Interrupt                       */
+    EINT5_IRQn                    = 15,       /*!< External Input 5 Interrupt                       */
+    GPA_IRQn                      = 16,       /*!< GPIO Port A Interrupt                            */
+    GPB_IRQn                      = 17,       /*!< GPIO Port B Interrupt                            */
+    GPC_IRQn                      = 18,       /*!< GPIO Port C Interrupt                            */
+    GPD_IRQn                      = 19,       /*!< GPIO Port D Interrupt                            */
+    GPE_IRQn                      = 20,       /*!< GPIO Port E Interrupt                            */
+    GPF_IRQn                      = 21,       /*!< GPIO Port F Interrupt                            */
+    QSPI0_IRQn                    = 22,       /*!< QSPI0 Interrupt                                   */
+    SPI0_IRQn                     = 23,       /*!< SPI0 Interrupt                                   */
+    BRAKE0_IRQn                   = 24,       /*!< BRAKE0 Interrupt                                 */
+    EPWM0P0_IRQn                  = 25,       /*!< EPWM0P0 Interrupt                                */
+    EPWM0P1_IRQn                  = 26,       /*!< EPWM0P1 Interrupt                                */
+    EPWM0P2_IRQn                  = 27,       /*!< EPWM0P2 Interrupt                                */
+    BRAKE1_IRQn                   = 28,       /*!< BRAKE1 Interrupt                                 */
+    EPWM1P0_IRQn                  = 29,       /*!< EPWM1P0 Interrupt                                */
+    EPWM1P1_IRQn                  = 30,       /*!< EPWM1P1 Interrupt                                */
+    EPWM1P2_IRQn                  = 31,       /*!< EPWM1P2 Interrupt                                */
+    TMR0_IRQn                     = 32,       /*!< Timer 0 Interrupt                                */
+    TMR1_IRQn                     = 33,       /*!< Timer 1 Interrupt                                */
+    TMR2_IRQn                     = 34,       /*!< Timer 2 Interrupt                                */
+    TMR3_IRQn                     = 35,       /*!< Timer 3 Interrupt                                */
+    UART0_IRQn                    = 36,       /*!< UART 0 Interrupt                                 */
+    UART1_IRQn                    = 37,       /*!< UART 1 Interrupt                                 */
+    I2C0_IRQn                     = 38,       /*!< I2C 0 Interrupt                                  */
+    I2C1_IRQn                     = 39,       /*!< I2C 1 Interrupt                                  */
+    PDMA_IRQn                     = 40,       /*!< Peripheral DMA Interrupt                         */
+    DAC_IRQn                      = 41,       /*!< DAC Interrupt                                    */
+    EADC00_IRQn                   = 42,       /*!< EADC00 Interrupt                                 */
+    EADC01_IRQn                   = 43,       /*!< EADC01 Interrupt                                 */
+    ACMP01_IRQn                   = 44,       /*!< Analog Comparator 0 and 1 Interrupt              */
+    EADC02_IRQn                   = 46,       /*!< EADC02 Interrupt                                 */
+    EADC03_IRQn                   = 47,       /*!< EADC03 Interrupt                                 */
+    UART2_IRQn                    = 48,       /*!< UART2 Interrupt                                  */
+    UART3_IRQn                    = 49,       /*!< UART3 Interrupt                                  */
+    QSPI1_IRQn                    = 50,       /*!< QSPI1 Interrupt                                   */
+    SPI1_IRQn                     = 51,       /*!< SPI1 Interrupt                                   */
+    SPI2_IRQn                     = 52,       /*!< SPI2 Interrupt                                   */
+    USBD_IRQn                     = 53,       /*!< USB device Interrupt                             */
+    USBH_IRQn                     = 54,       /*!< USB host Interrupt                               */
+    USBOTG_IRQn                   = 55,       /*!< USB OTG Interrupt                                */
+    CAN0_IRQn                     = 56,       /*!< CAN0 Interrupt                                   */
+    CAN1_IRQn                     = 57,       /*!< CAN1 Interrupt                                   */
+    SC0_IRQn                      = 58,       /*!< Smart Card 0 Interrupt                           */
+    SC1_IRQn                      = 59,       /*!< Smart Card 1 Interrupt                           */
+    SC2_IRQn                      = 60,       /*!< Smart Card 2 Interrupt                           */
+    SPI3_IRQn                     = 62,       /*!< SPI3 Interrupt                                   */
+    EMAC_TX_IRQn                  = 66,       /*!< Ethernet MAC TX Interrupt                        */
+    EMAC_RX_IRQn                  = 67,       /*!< Ethernet MAC RX Interrupt                        */
+    SDH0_IRQn                     = 64,       /*!< Secure Digital Host Controller 0 Interrupt       */
+    USBD20_IRQn                   = 65,       /*!< High Speed USB device Interrupt                  */
+    I2S0_IRQn                     = 68,       /*!< I2S0 Interrupt                                   */
+    OPA_IRQn                      = 70,       /*!< OPA Interrupt                                    */
+    CRPT_IRQn                     = 71,       /*!< CRPT Interrupt                                   */
+    GPG_IRQn                      = 72,       /*!< GPIO Port G Interrupt                            */
+    EINT6_IRQn                    = 73,       /*!< External Input 6 Interrupt                       */
+    UART4_IRQn                    = 74,       /*!< UART4 Interrupt                                  */
+    UART5_IRQn                    = 75,       /*!< UART5 Interrupt                                  */
+    USCI0_IRQn                    = 76,       /*!< USCI0 Interrupt                                  */
+    USCI1_IRQn                    = 77,       /*!< USCI1 Interrupt                                  */
+    BPWM0_IRQn                    = 78,       /*!< BPWM0 Interrupt                                  */
+    BPWM1_IRQn                    = 79,       /*!< BPWM1 Interrupt                                  */
+    SPIM_IRQn                     = 80,       /*!< SPIM Interrupt                                   */
+    CCAP_IRQn                     = 81,       /*!< CCAP Interrupt                                   */
+    I2C2_IRQn                     = 82,       /*!< I2C2 Interrupt                                   */
+    QEI0_IRQn                     = 84,       /*!< QEI0 Interrupt                                   */
+    QEI1_IRQn                     = 85,       /*!< QEI1 Interrupt                                   */
+    ECAP0_IRQn                    = 86,       /*!< ECAP0 Interrupt                                  */
+    ECAP1_IRQn                    = 87,       /*!< ECAP1 Interrupt                                  */
+    GPH_IRQn                      = 88,       /*!< GPIO Port H Interrupt                            */
+    EINT7_IRQn                    = 89,       /*!< External Input 7 Interrupt                       */
+    SDH1_IRQn                     = 90,       /*!< Secure Digital Host Controller 1 Interrupt       */
+    HSUSBH_IRQn                   = 92,       /*!< High speed USB host Interrupt                    */
+    USBOTG20_IRQn                 = 93,       /*!< High speed USB OTG Interrupt                     */
+    TRNG_IRQn                     = 101,      /*!< TRNG Interrupt                                   */
+    UART6_IRQn                    = 102,      /*!< UART6 Interrupt                                  */
+    UART7_IRQn                    = 103,      /*!< UART7 Interrupt                                  */
+    EADC10_IRQn                   = 104,      /*!< EADC10 Interrupt                                 */
+    EADC11_IRQn                   = 105,      /*!< EADC11 Interrupt                                 */
+    EADC12_IRQn                   = 106,      /*!< EADC12 Interrupt                                 */
+    EADC13_IRQn                   = 107,      /*!< EADC13 Interrupt                                 */
+    CAN2_IRQn                     = 108,      /*!< CAN2 Interrupt                                   */
+}
+IRQn_Type;
+
+
+/*
+ * ==========================================================================
+ * ----------- Processor and Core Peripheral Section ------------------------
+ * ==========================================================================
+ */
+
+/* Configuration of the Cortex-M4 Processor and Core Peripherals */
+#define __CM4_REV                 0x0201UL    /*!< Core Revision r2p1                               */
+#define __NVIC_PRIO_BITS          4UL         /*!< Number of Bits used for Priority Levels          */
+#define __Vendor_SysTickConfig    0UL         /*!< Set to 1 if different SysTick Config is used     */
+#define __MPU_PRESENT             1UL         /*!< MPU present or not                               */
+#ifdef __FPU_PRESENT
+#undef __FPU_PRESENT
+#define __FPU_PRESENT             1UL         /*!< FPU present or not                               */
+#else
+#define __FPU_PRESENT             1UL         /*!< FPU present or not                               */
+#endif
+
+/*@}*/ /* end of group CMSIS_Device */
+
+
+#include "core_cm4.h"               /* Cortex-M4 processor and core peripherals           */
+#include "system_M480.h"            /* System include file                         */
+#include <stdint.h>
+
+
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/******************************************************************************/
+/*                            Register definitions                            */
+/******************************************************************************/
+
+#include "sys_reg.h"
+#include "clk_reg.h"
+#include "fmc_reg.h"
+#include "gpio_reg.h"
+#include "pdma_reg.h"
+#include "timer_reg.h"
+#include "wdt_reg.h"
+#include "wwdt_reg.h"
+#include "rtc_reg.h"
+#include "epwm_reg.h"
+#include "bpwm_reg.h"
+#include "qei_reg.h"
+#include "ecap_reg.h"
+#include "uart_reg.h"
+#include "emac_reg.h"
+#include "sc_reg.h"
+#include "i2s_reg.h"
+#include "spi_reg.h"
+#include "qspi_reg.h"
+#include "spim_reg.h"
+#include "i2c_reg.h"
+#include "uuart_reg.h"
+#include "uspi_reg.h"
+#include "ui2c_reg.h"
+#include "can_reg.h"
+#include "sdh_reg.h"
+#include "ebi_reg.h"
+#include "usbd_reg.h"
+#include "hsusbd_reg.h"
+#include "usbh_reg.h"
+#include "hsusbh_reg.h"
+#include "otg_reg.h"
+#include "hsotg_reg.h"
+#include "crc_reg.h"
+#include "crypto_reg.h"
+#include "trng_reg.h"
+#include "eadc_reg.h"
+#include "dac_reg.h"
+#include "acmp_reg.h"
+#include "opa_reg.h"
+#include "ccap_reg.h"
+
+
+/** @addtogroup PERIPHERAL_MEM_MAP Peripheral Memory Base
+  Memory Mapped Structure for Peripherals
+  @{
+ */
+/* Peripheral and SRAM base address */
+#define FLASH_BASE           ((uint32_t)0x00000000)      /*!< Flash base address      */
+#define SRAM_BASE            ((uint32_t)0x20000000)      /*!< SRAM Base Address       */
+#define PERIPH_BASE          ((uint32_t)0x40000000)      /*!< Peripheral Base Address */
+#define AHBPERIPH_BASE       PERIPH_BASE                 /*!< AHB Base Address */
+#define APBPERIPH_BASE       (PERIPH_BASE + (uint32_t)0x00040000)  /*!< APB Base Address */
+
+/*!< AHB peripherals */
+#define SYS_BASE               (AHBPERIPH_BASE + 0x00000UL)
+#define CLK_BASE               (AHBPERIPH_BASE + 0x00200UL)
+#define NMI_BASE               (AHBPERIPH_BASE + 0x00300UL)
+#define GPIOA_BASE             (AHBPERIPH_BASE + 0x04000UL)
+#define GPIOB_BASE             (AHBPERIPH_BASE + 0x04040UL)
+#define GPIOC_BASE             (AHBPERIPH_BASE + 0x04080UL)
+#define GPIOD_BASE             (AHBPERIPH_BASE + 0x040C0UL)
+#define GPIOE_BASE             (AHBPERIPH_BASE + 0x04100UL)
+#define GPIOF_BASE             (AHBPERIPH_BASE + 0x04140UL)
+#define GPIOG_BASE             (AHBPERIPH_BASE + 0x04180UL)
+#define GPIOH_BASE             (AHBPERIPH_BASE + 0x041C0UL)
+#define GPIOI_BASE             (AHBPERIPH_BASE + 0x04200UL)
+#define GPIO_DBCTL_BASE        (AHBPERIPH_BASE + 0x04440UL)
+#define GPIO_PIN_DATA_BASE     (AHBPERIPH_BASE + 0x04800UL)
+#define PDMA_BASE              (AHBPERIPH_BASE + 0x08000UL)
+#define USBH_BASE              (AHBPERIPH_BASE + 0x09000UL)
+#define HSUSBH_BASE            (AHBPERIPH_BASE + 0x1A000UL)
+#define EMAC_BASE              (AHBPERIPH_BASE + 0x0B000UL)
+#define FMC_BASE               (AHBPERIPH_BASE + 0x0C000UL)
+#define SDH0_BASE              (AHBPERIPH_BASE + 0x0D000UL)
+#define SDH1_BASE              (AHBPERIPH_BASE + 0x0E000UL)
+#define EBI_BASE               (AHBPERIPH_BASE + 0x10000UL)
+#define HSUSBD_BASE            (AHBPERIPH_BASE + 0x19000UL)
+#define CCAP_BASE              (AHBPERIPH_BASE + 0x30000UL)
+#define CRC_BASE               (AHBPERIPH_BASE + 0x31000UL)
+#define TAMPER_BASE            (AHBPERIPH_BASE + 0xE1000UL)
+
+/*!< APB2 peripherals */
+#define WDT_BASE              (APBPERIPH_BASE + 0x00000UL)
+#define WWDT_BASE             (APBPERIPH_BASE + 0x00100UL)
+#define OPA_BASE              (APBPERIPH_BASE + 0x06000UL)
+#define I2S_BASE              (APBPERIPH_BASE + 0x08000UL)
+#define EADC1_BASE            (APBPERIPH_BASE + 0x0B000UL)
+#define TIMER0_BASE           (APBPERIPH_BASE + 0x10000UL)
+#define TIMER1_BASE           (APBPERIPH_BASE + 0x10100UL)
+#define EPWM0_BASE            (APBPERIPH_BASE + 0x18000UL)
+#define BPWM0_BASE            (APBPERIPH_BASE + 0x1A000UL)
+#define QSPI0_BASE            (APBPERIPH_BASE + 0x20000UL)
+#define SPI1_BASE             (APBPERIPH_BASE + 0x22000UL)
+#define SPI3_BASE             (APBPERIPH_BASE + 0x24000UL)
+#define UART0_BASE            (APBPERIPH_BASE + 0x30000UL)
+#define UART2_BASE            (APBPERIPH_BASE + 0x32000UL)
+#define UART4_BASE            (APBPERIPH_BASE + 0x34000UL)
+#define UART6_BASE            (APBPERIPH_BASE + 0x36000UL)
+#define I2C0_BASE             (APBPERIPH_BASE + 0x40000UL)
+#define I2C2_BASE             (APBPERIPH_BASE + 0x42000UL)
+#define CAN0_BASE             (APBPERIPH_BASE + 0x60000UL)
+#define CAN2_BASE             (APBPERIPH_BASE + 0x62000UL)
+#define QEI0_BASE             (APBPERIPH_BASE + 0x70000UL)
+#define ECAP0_BASE            (APBPERIPH_BASE + 0x74000UL)
+#define USCI0_BASE            (APBPERIPH_BASE + 0x90000UL)
+
+
+/*!< APB1 peripherals */
+#define RTC_BASE              (APBPERIPH_BASE + 0x01000UL)
+#define EADC_BASE             (APBPERIPH_BASE + 0x03000UL)
+#define ACMP01_BASE           (APBPERIPH_BASE + 0x05000UL)
+#define USBD_BASE             (APBPERIPH_BASE + 0x80000UL)
+#define OTG_BASE              (APBPERIPH_BASE + 0x0D000UL)
+#define HSOTG_BASE            (APBPERIPH_BASE + 0x0F000UL)
+#define TIMER2_BASE           (APBPERIPH_BASE + 0x11000UL)
+#define TIMER3_BASE           (APBPERIPH_BASE + 0x11100UL)
+#define EPWM1_BASE            (APBPERIPH_BASE + 0x19000UL)
+#define BPWM1_BASE            (APBPERIPH_BASE + 0x1B000UL)
+#define SPI0_BASE             (APBPERIPH_BASE + 0x21000UL)
+#define SPI2_BASE             (APBPERIPH_BASE + 0x23000UL)
+#define QSPI1_BASE            (APBPERIPH_BASE + 0x29000UL)
+#define UART1_BASE            (APBPERIPH_BASE + 0x31000UL)
+#define UART3_BASE            (APBPERIPH_BASE + 0x33000UL)
+#define UART5_BASE            (APBPERIPH_BASE + 0x35000UL)
+#define UART7_BASE            (APBPERIPH_BASE + 0x37000UL)
+#define I2C1_BASE             (APBPERIPH_BASE + 0x41000UL)
+#define CAN1_BASE             (APBPERIPH_BASE + 0x61000UL)
+#define QEI1_BASE             (APBPERIPH_BASE + 0x71000UL)
+#define ECAP1_BASE            (APBPERIPH_BASE + 0x75000UL)
+#define TRNG_BASE             (APBPERIPH_BASE + 0x79000UL)
+#define USCI1_BASE            (APBPERIPH_BASE + 0x91000UL)
+#define CRPT_BASE             (0x50080000UL)
+#define SPIM_BASE             (0x40007000UL)
+
+#define SC0_BASE             (APBPERIPH_BASE + 0x50000UL)
+#define SC1_BASE             (APBPERIPH_BASE + 0x51000UL)
+#define SC2_BASE             (APBPERIPH_BASE + 0x52000UL)
+#define DAC0_BASE            (APBPERIPH_BASE + 0x07000UL)
+#define DAC1_BASE            (APBPERIPH_BASE + 0x07040UL)
+#define DACDBG_BASE          (APBPERIPH_BASE + 0x07FECUL)
+#define OPA0_BASE            (APBPERIPH_BASE + 0x06000UL)
+
+/*@}*/ /* end of group PERIPHERAL_MEM_MAP */
+
+
+/** @addtogroup PERIPHERAL_DECLARATION Peripheral Pointer
+  The Declaration of Peripherals
+  @{
+ */
+
+#define SYS                  ((SYS_T *)   SYS_BASE)
+#define CLK                  ((CLK_T *)   CLK_BASE)
+#define NMI                  ((NMI_T *)   NMI_BASE)
+#define PA                   ((GPIO_T *)  GPIOA_BASE)
+#define PB                   ((GPIO_T *)  GPIOB_BASE)
+#define PC                   ((GPIO_T *)  GPIOC_BASE)
+#define PD                   ((GPIO_T *)  GPIOD_BASE)
+#define PE                   ((GPIO_T *)  GPIOE_BASE)
+#define PF                   ((GPIO_T *)  GPIOF_BASE)
+#define PG                   ((GPIO_T *)  GPIOG_BASE)
+#define PH                   ((GPIO_T *)  GPIOH_BASE)
+#define GPA                  ((GPIO_T *)  GPIOA_BASE)
+#define GPB                  ((GPIO_T *)  GPIOB_BASE)
+#define GPC                  ((GPIO_T *)  GPIOC_BASE)
+#define GPD                  ((GPIO_T *)  GPIOD_BASE)
+#define GPE                  ((GPIO_T *)  GPIOE_BASE)
+#define GPF                  ((GPIO_T *)  GPIOF_BASE)
+#define GPG                  ((GPIO_T *)  GPIOG_BASE)
+#define GPH                  ((GPIO_T *)  GPIOH_BASE)
+#define GPIO                 ((GPIO_DBCTL_T *) GPIO_DBCTL_BASE)
+#define PDMA                 ((PDMA_T *)  PDMA_BASE)
+#define USBH                 ((USBH_T *)  USBH_BASE)
+#define HSUSBH               ((HSUSBH_T *)  HSUSBH_BASE)
+#define EMAC                 ((EMAC_T *)  EMAC_BASE)
+#define FMC                  ((FMC_T *)   FMC_BASE)
+#define SDH0                 ((SDH_T *)   SDH0_BASE)
+#define SDH1                 ((SDH_T *)   SDH1_BASE)
+#define EBI                  ((EBI_T *)   EBI_BASE)
+#define CRC                  ((CRC_T *)   CRC_BASE)
+#define TAMPER               ((TAMPER_T *) TAMPER_BASE)
+
+#define WDT                  ((WDT_T *)   WDT_BASE)
+#define WWDT                 ((WWDT_T *)  WWDT_BASE)
+#define RTC                  ((RTC_T *)   RTC_BASE)
+#define EADC                 ((EADC_T *)  EADC_BASE)
+#define EADC0                ((EADC_T *)  EADC_BASE)
+#define EADC1                ((EADC_T *)  EADC1_BASE)
+#define ACMP01               ((ACMP_T *)  ACMP01_BASE)
+
+#define I2S0                 ((I2S_T *)   I2S_BASE)
+#define USBD                 ((USBD_T *)  USBD_BASE)
+#define OTG                  ((OTG_T *)   OTG_BASE)
+#define HSUSBD               ((HSUSBD_T *)HSUSBD_BASE)
+#define HSOTG                ((HSOTG_T *) HSOTG_BASE)
+#define TIMER0               ((TIMER_T *) TIMER0_BASE)
+#define TIMER1               ((TIMER_T *) TIMER1_BASE)
+#define TIMER2               ((TIMER_T *) TIMER2_BASE)
+#define TIMER3               ((TIMER_T *) TIMER3_BASE)
+#define EPWM0                ((EPWM_T *)  EPWM0_BASE)
+#define EPWM1                ((EPWM_T *)  EPWM1_BASE)
+#define BPWM0                ((BPWM_T *)  BPWM0_BASE)
+#define BPWM1                ((BPWM_T *)  BPWM1_BASE)
+#define ECAP0                ((ECAP_T *)  ECAP0_BASE)
+#define ECAP1                ((ECAP_T *)  ECAP1_BASE)
+#define QEI0                 ((QEI_T *)   QEI0_BASE)
+#define QEI1                 ((QEI_T *)   QEI1_BASE)
+#define QSPI0                ((QSPI_T *)  QSPI0_BASE)
+#define QSPI1                ((QSPI_T *)  QSPI1_BASE)
+#define SPI0                 ((SPI_T *)   SPI0_BASE)
+#define SPI1                 ((SPI_T *)   SPI1_BASE)
+#define SPI2                 ((SPI_T *)   SPI2_BASE)
+#define SPI3                 ((SPI_T *)   SPI3_BASE)
+#define UART0                ((UART_T *)  UART0_BASE)
+#define UART1                ((UART_T *)  UART1_BASE)
+#define UART2                ((UART_T *)  UART2_BASE)
+#define UART3                ((UART_T *)  UART3_BASE)
+#define UART4                ((UART_T *)  UART4_BASE)
+#define UART5                ((UART_T *)  UART5_BASE)
+#define UART6                ((UART_T *)  UART6_BASE)
+#define UART7                ((UART_T *)  UART7_BASE)
+#define I2C0                 ((I2C_T *)   I2C0_BASE)
+#define I2C1                 ((I2C_T *)   I2C1_BASE)
+#define I2C2                 ((I2C_T *)   I2C2_BASE)
+#define SC0                  ((SC_T *)    SC0_BASE)
+#define SC1                  ((SC_T *)    SC1_BASE)
+#define SC2                  ((SC_T *)    SC2_BASE)
+#define CAN0                 ((CAN_T *)   CAN0_BASE)
+#define CAN1                 ((CAN_T *)   CAN1_BASE)
+#define CAN2                 ((CAN_T *)   CAN2_BASE)
+#define CRPT                 ((CRPT_T *)  CRPT_BASE)
+#define TRNG                 ((TRNG_T *)  TRNG_BASE)
+#define SPIM                 ((volatile SPIM_T *)  SPIM_BASE)
+#define DAC0                 ((DAC_T *)   DAC0_BASE)
+#define DAC1                 ((DAC_T *)   DAC1_BASE)
+#define USPI0                ((USPI_T *) USCI0_BASE)                     /*!< USPI0 Configuration Struct                       */
+#define USPI1                ((USPI_T *) USCI1_BASE)                     /*!< USPI1 Configuration Struct                       */
+#define OPA                  ((OPA_T *) OPA_BASE)
+#define UI2C0                ((UI2C_T *) USCI0_BASE)                     /*!< UI2C0 Configuration Struct                       */
+#define UI2C1                ((UI2C_T *) USCI1_BASE)                     /*!< UI2C1 Configuration Struct                       */
+#define UUART0               ((UUART_T *) USCI0_BASE)                    /*!< UUART0 Configuration Struct                      */
+#define UUART1               ((UUART_T *) USCI1_BASE)                    /*!< UUART1 Configuration Struct                      */
+#define CCAP                 ((CCAP_T *)  CCAP_BASE)
+
+/*@}*/ /* end of group ERIPHERAL_DECLARATION */
+
+/** @addtogroup IO_ROUTINE I/O Routines
+  The Declaration of I/O Routines
+  @{
+ */
+
+typedef volatile unsigned char  vu8;        ///< Define 8-bit unsigned volatile data type
+typedef volatile unsigned short vu16;       ///< Define 16-bit unsigned volatile data type
+typedef volatile unsigned long  vu32;       ///< Define 32-bit unsigned volatile data type
+
+/**
+  * @brief Get a 8-bit unsigned value from specified address
+  * @param[in] addr Address to get 8-bit data from
+  * @return  8-bit unsigned value stored in specified address
+  */
+#define M8(addr)  (*((vu8  *) (addr)))
+
+/**
+  * @brief Get a 16-bit unsigned value from specified address
+  * @param[in] addr Address to get 16-bit data from
+  * @return  16-bit unsigned value stored in specified address
+  * @note The input address must be 16-bit aligned
+  */
+#define M16(addr) (*((vu16 *) (addr)))
+
+/**
+  * @brief Get a 32-bit unsigned value from specified address
+  * @param[in] addr Address to get 32-bit data from
+  * @return  32-bit unsigned value stored in specified address
+  * @note The input address must be 32-bit aligned
+  */
+#define M32(addr) (*((vu32 *) (addr)))
+
+/**
+  * @brief Set a 32-bit unsigned value to specified I/O port
+  * @param[in] port Port address to set 32-bit data
+  * @param[in] value Value to write to I/O port
+  * @return  None
+  * @note The output port must be 32-bit aligned
+  */
+#define outpw(port,value)     *((volatile unsigned int *)(port)) = (value)
+
+/**
+  * @brief Get a 32-bit unsigned value from specified I/O port
+  * @param[in] port Port address to get 32-bit data from
+  * @return  32-bit unsigned value stored in specified I/O port
+  * @note The input port must be 32-bit aligned
+  */
+#define inpw(port)            (*((volatile unsigned int *)(port)))
+
+/**
+  * @brief Set a 16-bit unsigned value to specified I/O port
+  * @param[in] port Port address to set 16-bit data
+  * @param[in] value Value to write to I/O port
+  * @return  None
+  * @note The output port must be 16-bit aligned
+  */
+#define outps(port,value)     *((volatile unsigned short *)(port)) = (value)
+
+/**
+  * @brief Get a 16-bit unsigned value from specified I/O port
+  * @param[in] port Port address to get 16-bit data from
+  * @return  16-bit unsigned value stored in specified I/O port
+  * @note The input port must be 16-bit aligned
+  */
+#define inps(port)            (*((volatile unsigned short *)(port)))
+
+/**
+  * @brief Set a 8-bit unsigned value to specified I/O port
+  * @param[in] port Port address to set 8-bit data
+  * @param[in] value Value to write to I/O port
+  * @return  None
+  */
+#define outpb(port,value)     *((volatile unsigned char *)(port)) = (value)
+
+/**
+  * @brief Get a 8-bit unsigned value from specified I/O port
+  * @param[in] port Port address to get 8-bit data from
+  * @return  8-bit unsigned value stored in specified I/O port
+  */
+#define inpb(port)            (*((volatile unsigned char *)(port)))
+
+/**
+  * @brief Set a 32-bit unsigned value to specified I/O port
+  * @param[in] port Port address to set 32-bit data
+  * @param[in] value Value to write to I/O port
+  * @return  None
+  * @note The output port must be 32-bit aligned
+  */
+#define outp32(port,value)    *((volatile unsigned int *)(port)) = (value)
+
+/**
+  * @brief Get a 32-bit unsigned value from specified I/O port
+  * @param[in] port Port address to get 32-bit data from
+  * @return  32-bit unsigned value stored in specified I/O port
+  * @note The input port must be 32-bit aligned
+  */
+#define inp32(port)           (*((volatile unsigned int *)(port)))
+
+/**
+  * @brief Set a 16-bit unsigned value to specified I/O port
+  * @param[in] port Port address to set 16-bit data
+  * @param[in] value Value to write to I/O port
+  * @return  None
+  * @note The output port must be 16-bit aligned
+  */
+#define outp16(port,value)    *((volatile unsigned short *)(port)) = (value)
+
+/**
+  * @brief Get a 16-bit unsigned value from specified I/O port
+  * @param[in] port Port address to get 16-bit data from
+  * @return  16-bit unsigned value stored in specified I/O port
+  * @note The input port must be 16-bit aligned
+  */
+#define inp16(port)           (*((volatile unsigned short *)(port)))
+
+/**
+  * @brief Set a 8-bit unsigned value to specified I/O port
+  * @param[in] port Port address to set 8-bit data
+  * @param[in] value Value to write to I/O port
+  * @return  None
+  */
+#define outp8(port,value)     *((volatile unsigned char *)(port)) = (value)
+
+/**
+  * @brief Get a 8-bit unsigned value from specified I/O port
+  * @param[in] port Port address to get 8-bit data from
+  * @return  8-bit unsigned value stored in specified I/O port
+  */
+#define inp8(port)            (*((volatile unsigned char *)(port)))
+
+
+/*@}*/ /* end of group IO_ROUTINE */
+
+/******************************************************************************/
+/*                Legacy Constants                                            */
+/******************************************************************************/
+/** @addtogroup Legacy_Constants Legacy Constants
+  Legacy Constants
+  @{
+*/
+
+#ifndef NULL
+#define NULL           (0)      ///< NULL pointer
+#endif
+
+#define TRUE           (1UL)      ///< Boolean true, define to use in API parameters or return value
+#define FALSE          (0UL)      ///< Boolean false, define to use in API parameters or return value
+
+#define ENABLE         (1UL)      ///< Enable, define to use in API parameters
+#define DISABLE        (0UL)      ///< Disable, define to use in API parameters
+
+/* Define one bit mask */
+#define BIT0     (0x00000001UL)       ///< Bit 0 mask of an 32 bit integer
+#define BIT1     (0x00000002UL)       ///< Bit 1 mask of an 32 bit integer
+#define BIT2     (0x00000004UL)       ///< Bit 2 mask of an 32 bit integer
+#define BIT3     (0x00000008UL)       ///< Bit 3 mask of an 32 bit integer
+#define BIT4     (0x00000010UL)       ///< Bit 4 mask of an 32 bit integer
+#define BIT5     (0x00000020UL)       ///< Bit 5 mask of an 32 bit integer
+#define BIT6     (0x00000040UL)       ///< Bit 6 mask of an 32 bit integer
+#define BIT7     (0x00000080UL)       ///< Bit 7 mask of an 32 bit integer
+#define BIT8     (0x00000100UL)       ///< Bit 8 mask of an 32 bit integer
+#define BIT9     (0x00000200UL)       ///< Bit 9 mask of an 32 bit integer
+#define BIT10    (0x00000400UL)       ///< Bit 10 mask of an 32 bit integer
+#define BIT11    (0x00000800UL)       ///< Bit 11 mask of an 32 bit integer
+#define BIT12    (0x00001000UL)       ///< Bit 12 mask of an 32 bit integer
+#define BIT13    (0x00002000UL)       ///< Bit 13 mask of an 32 bit integer
+#define BIT14    (0x00004000UL)       ///< Bit 14 mask of an 32 bit integer
+#define BIT15    (0x00008000UL)       ///< Bit 15 mask of an 32 bit integer
+#define BIT16    (0x00010000UL)       ///< Bit 16 mask of an 32 bit integer
+#define BIT17    (0x00020000UL)       ///< Bit 17 mask of an 32 bit integer
+#define BIT18    (0x00040000UL)       ///< Bit 18 mask of an 32 bit integer
+#define BIT19    (0x00080000UL)       ///< Bit 19 mask of an 32 bit integer
+#define BIT20    (0x00100000UL)       ///< Bit 20 mask of an 32 bit integer
+#define BIT21    (0x00200000UL)       ///< Bit 21 mask of an 32 bit integer
+#define BIT22    (0x00400000UL)       ///< Bit 22 mask of an 32 bit integer
+#define BIT23    (0x00800000UL)       ///< Bit 23 mask of an 32 bit integer
+#define BIT24    (0x01000000UL)       ///< Bit 24 mask of an 32 bit integer
+#define BIT25    (0x02000000UL)       ///< Bit 25 mask of an 32 bit integer
+#define BIT26    (0x04000000UL)       ///< Bit 26 mask of an 32 bit integer
+#define BIT27    (0x08000000UL)       ///< Bit 27 mask of an 32 bit integer
+#define BIT28    (0x10000000UL)       ///< Bit 28 mask of an 32 bit integer
+#define BIT29    (0x20000000UL)       ///< Bit 29 mask of an 32 bit integer
+#define BIT30    (0x40000000UL)       ///< Bit 30 mask of an 32 bit integer
+#define BIT31    (0x80000000UL)       ///< Bit 31 mask of an 32 bit integer
+
+/* Byte Mask Definitions */
+#define BYTE0_Msk              (0x000000FFUL)         ///< Mask to get bit0~bit7 from a 32 bit integer
+#define BYTE1_Msk              (0x0000FF00UL)         ///< Mask to get bit8~bit15 from a 32 bit integer
+#define BYTE2_Msk              (0x00FF0000UL)         ///< Mask to get bit16~bit23 from a 32 bit integer
+#define BYTE3_Msk              (0xFF000000UL)         ///< Mask to get bit24~bit31 from a 32 bit integer
+
+#define GET_BYTE0(u32Param)    (((u32Param) & BYTE0_Msk)      )  /*!< Extract Byte 0 (Bit  0~ 7) from parameter u32Param */
+#define GET_BYTE1(u32Param)    (((u32Param) & BYTE1_Msk) >>  8)  /*!< Extract Byte 1 (Bit  8~15) from parameter u32Param */
+#define GET_BYTE2(u32Param)    (((u32Param) & BYTE2_Msk) >> 16)  /*!< Extract Byte 2 (Bit 16~23) from parameter u32Param */
+#define GET_BYTE3(u32Param)    (((u32Param) & BYTE3_Msk) >> 24)  /*!< Extract Byte 3 (Bit 24~31) from parameter u32Param */
+
+/*@}*/ /* end of group Legacy_Constants */
+
+
+/******************************************************************************/
+/*                         Peripheral header files                            */
+/******************************************************************************/
+/*
+#include "sys.h"
+#include "clk.h"
+
+#include "acmp.h"
+#include "dac.h"
+#include "emac.h"
+#include "uart.h"
+#include "usci_spi.h"
+#include "gpio.h"
+#include "ccap.h"
+#include "ecap.h"
+#include "qei.h"
+#include "timer.h"
+#include "timer_pwm.h"
+#include "pdma.h"
+#include "crypto.h"
+#include "trng.h"
+#include "fmc.h"
+#include "spim.h"
+#include "i2c.h"
+#include "i2s.h"
+#include "epwm.h"
+#include "eadc.h"
+#include "bpwm.h"
+#include "wdt.h"
+#include "wwdt.h"
+#include "opa.h"
+#include "crc.h"
+#include "ebi.h"
+#include "usci_i2c.h"
+#include "scuart.h"
+#include "sc.h"
+#include "spi.h"
+#include "qspi.h"
+#include "can.h"
+#include "rtc.h"
+#include "usci_uart.h"
+#include "sdh.h"
+#include "usbd.h"
+#include "hsusbd.h"
+#include "otg.h"
+#include "hsotg.h"
+*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* __M480_H__ */
+

+ 16 - 0
dap_link/lib/free-dap/platform/m484/include/NuMicro.h

@@ -0,0 +1,16 @@
+/**************************************************************************//**
+ * @file     NuMicro.h
+ * @version  V1.00
+ * @brief    NuMicro peripheral access layer header file.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __NUMICRO_H__
+#define __NUMICRO_H__
+
+#include "M480.h"
+
+#endif  /* __NUMICRO_H__ */
+
+

+ 240 - 0
dap_link/lib/free-dap/platform/m484/include/acmp_reg.h

@@ -0,0 +1,240 @@
+/**************************************************************************//**
+ * @file     acmp_reg.h
+ * @version  V1.00
+ * @brief    ACMP register definition header file
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __ACMP_REG_H__
+#define __ACMP_REG_H__
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/**
+   @addtogroup REGISTER Control Register
+   @{
+*/
+
+/**
+    @addtogroup ACMP Analog Comparator Controller(ACMP)
+    Memory Mapped Structure for ACMP Controller
+@{ */
+
+typedef struct
+{
+
+
+    /**
+     * @var ACMP_T::CTL
+     * Offset: 0x00~0x04  Analog Comparator 0/1 Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |ACMPEN    |Comparator Enable Bit
+     * |        |          |0 = Comparator x Disabled.
+     * |        |          |1 = Comparator x Enabled.
+     * |[1]     |ACMPIE    |Comparator Interrupt Enable Bit
+     * |        |          |0 = Comparator x interrupt Disabled.
+     * |        |          |1 = Comparator x interrupt Enabled
+     * |        |          |If WKEN (ACMP_CTL0[16]) is set to 1, the wake-up interrupt function will be enabled as well.
+     * |[3]     |ACMPOINV  |Comparator Output Inverse
+     * |        |          |0 = Comparator x output inverse Disabled.
+     * |        |          |1 = Comparator x output inverse Enabled.
+     * |[5:4]   |NEGSEL    |Comparator Negative Input Selection
+     * |        |          |00 = ACMPx_N pin.
+     * |        |          |01 = Internal comparator reference voltage (CRV).
+     * |        |          |10 = Band-gap voltage.
+     * |        |          |11 = DAC output.
+     * |[7:6]   |POSSEL    |Comparator Positive Input Selection
+     * |        |          |00 = Input from ACMPx_P0.
+     * |        |          |01 = Input from ACMPx_P1.
+     * |        |          |10 = Input from ACMPx_P2.
+     * |        |          |11 = Input from ACMPx_P3.
+     * |[9:8]   |INTPOL    |Interrupt Condition Polarity Selection
+     * |        |          |ACMPIFx will be set to 1 when comparator output edge condition is detected.
+     * |        |          |00 = Rising edge or falling edge.
+     * |        |          |01 = Rising edge.
+     * |        |          |10 = Falling edge.
+     * |        |          |11 = Reserved.
+     * |[12]    |OUTSEL    |Comparator Output Select
+     * |        |          |0 = Comparator x output to ACMPx_O pin is unfiltered comparator output.
+     * |        |          |1 = Comparator x output to ACMPx_O pin is from filter output.
+     * |[15:13] |FILTSEL   |Comparator Output Filter Count Selection
+     * |        |          |000 = Filter function is Disabled.
+     * |        |          |001 = ACMPx output is sampled 1 consecutive PCLK.
+     * |        |          |010 = ACMPx output is sampled 2 consecutive PCLKs.
+     * |        |          |011 = ACMPx output is sampled 4 consecutive PCLKs.
+     * |        |          |100 = ACMPx output is sampled 8 consecutive PCLKs.
+     * |        |          |101 = ACMPx output is sampled 16 consecutive PCLKs.
+     * |        |          |110 = ACMPx output is sampled 32 consecutive PCLKs.
+     * |        |          |111 = ACMPx output is sampled 64 consecutive PCLKs.
+     * |[16]    |WKEN      |Power-down Wake-up Enable Bit
+     * |        |          |0 = Wake-up function Disabled.
+     * |        |          |1 = Wake-up function Enabled.
+     * |[17]    |WLATEN    |Window Latch Mode Enable Bit
+     * |        |          |0 = Window Latch Mode Disabled.
+     * |        |          |1 = Window Latch Mode Enabled.
+     * |[18]    |WCMPSEL   |Window Compare Mode Selection
+     * |        |          |0 = Window Compare Mode Disabled.
+     * |        |          |1 = Window Compare Mode is Selected.
+     * |[25:24] |HYSSEL    |Hysteresis Mode Selection
+     * |        |          |00 = Hysteresis is 0mV.
+     * |        |          |01 = Hysteresis is 10mV.
+     * |        |          |10 = Hysteresis is 20mV.
+     * |        |          |11 = Hysteresis is 30mV.
+     * |[29:28] |MODESEL   |Propagation Delay Mode Selection
+     * |        |          |00 = Max propagation delay is 4.5uS, operation current is 1.2uA.
+     * |        |          |01 = Max propagation delay is 2uS, operation current is 3uA.
+     * |        |          |10 = Max propagation delay is 600nS, operation current is 10uA.
+     * |        |          |11 = Max propagation delay is 200nS, operation current is 75uA.
+     * @var ACMP_T::STATUS
+     * Offset: 0x08  Analog Comparator Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |ACMPIF0   |Comparator 0 Interrupt Flag
+     * |        |          |This bit is set by hardware when the edge condition defined by INTPOL (ACMP_CTL0[9:8])
+     * |        |          |is detected on comparator 0 output.
+     * |        |          |This will generate an interrupt if ACMPIE (ACMP_CTL0[1]) is set to 1.
+     * |        |          |Note: Write 1 to clear this bit to 0.
+     * |[1]     |ACMPIF1   |Comparator 1 Interrupt Flag
+     * |        |          |This bit is set by hardware when the edge condition defined by INTPOL (ACMP_CTL1[9:8])
+     * |        |          |is detected on comparator 1 output.
+     * |        |          |This will cause an interrupt if ACMPIE (ACMP_CTL1[1]) is set to 1.
+     * |        |          |Note: Write 1 to clear this bit to 0.
+     * |[4]     |ACMPO0    |Comparator 0 Output
+     * |        |          |Synchronized to the PCLK to allow reading by software
+     * |        |          |Cleared when the comparator 0 is disabled, i.e.
+     * |        |          |ACMPEN (ACMP_CTL0[0]) is cleared to 0.
+     * |[5]     |ACMPO1    |Comparator 1 Output
+     * |        |          |Synchronized to the PCLK to allow reading by software.
+     * |        |          |Cleared when the comparator 1 is disabled, i.e.
+     * |        |          |ACMPEN (ACMP_CTL1[0]) is cleared to 0.
+     * |[8]     |WKIF0     |Comparator 0 Power-down Wake-up Interrupt Flag
+     * |        |          |This bit will be set to 1 when ACMP0 wake-up interrupt event occurs.
+     * |        |          |0 = No power-down wake-up occurred.
+     * |        |          |1 = Power-down wake-up occurred.
+     * |        |          |Note: Write 1 to clear this bit to 0.
+     * |[9]     |WKIF1     |Comparator 1 Power-down Wake-up Interrupt Flag
+     * |        |          |This bit will be set to 1 when ACMP1 wake-up interrupt event occurs.
+     * |        |          |0 = No power-down wake-up occurred.
+     * |        |          |1 = Power-down wake-up occurred.
+     * |        |          |Note: Write 1 to clear this bit to 0.
+     * |[12]    |ACMPS0    |Comparator 0 Status
+     * |        |          |Synchronized to the PCLK to allow reading by software
+     * |        |          |Cleared when the comparator 0 is disabled, i.e.
+     * |        |          |ACMPEN (ACMP_CTL0[0]) is cleared to 0.
+     * |[13]    |ACMPS1    |Comparator 1 Status
+     * |        |          |Synchronized to the PCLK to allow reading by software
+     * |        |          |Cleared when the comparator 1 is disabled, i.e.
+     * |        |          |ACMPEN (ACMP_CTL1[0]) is cleared to 0.
+     * |[16]    |ACMPWO    |Comparator Window Output
+     * |        |          |This bit shows the output status of window compare mode
+     * |        |          |0 = The positive input voltage is outside the window.
+     * |        |          |1 = The positive input voltage is in the window.
+     * @var ACMP_T::VREF
+     * Offset: 0x0C  Analog Comparator Reference Voltage Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |CRVCTL    |Comparator Reference Voltage Setting
+     * |        |          |CRV = CRV source voltage * (1/6+CRVCTL/24).
+     * |[6]     |CRVSSEL   |CRV Source Voltage Selection
+     * |        |          |0 = VDDA is selected as CRV source voltage.
+     * |        |          |1 = The reference voltage defined by SYS_VREFCTL register is selected as CRV source voltage.
+     */
+    __IO uint32_t CTL[2];                /*!< [0x0000~0x0004] Analog Comparator 0/1 Control Register                    */
+    __IO uint32_t STATUS;                /*!< [0x0008] Analog Comparator Status Register                                */
+    __IO uint32_t VREF;                  /*!< [0x000c] Analog Comparator Reference Voltage Control Register             */
+
+} ACMP_T;
+
+/**
+    @addtogroup ACMP_CONST ACMP Bit Field Definition
+    Constant Definitions for ACMP Controller
+@{ */
+
+#define ACMP_CTL_ACMPEN_Pos              (0)                                               /*!< ACMP_T::CTL: ACMPEN Position           */
+#define ACMP_CTL_ACMPEN_Msk              (0x1ul << ACMP_CTL_ACMPEN_Pos)                    /*!< ACMP_T::CTL: ACMPEN Mask               */
+
+#define ACMP_CTL_ACMPIE_Pos              (1)                                               /*!< ACMP_T::CTL: ACMPIE Position           */
+#define ACMP_CTL_ACMPIE_Msk              (0x1ul << ACMP_CTL_ACMPIE_Pos)                    /*!< ACMP_T::CTL: ACMPIE Mask               */
+
+#define ACMP_CTL_ACMPOINV_Pos            (3)                                               /*!< ACMP_T::CTL: ACMPOINV Position         */
+#define ACMP_CTL_ACMPOINV_Msk            (0x1ul << ACMP_CTL_ACMPOINV_Pos)                  /*!< ACMP_T::CTL: ACMPOINV Mask             */
+
+#define ACMP_CTL_NEGSEL_Pos              (4)                                               /*!< ACMP_T::CTL: NEGSEL Position           */
+#define ACMP_CTL_NEGSEL_Msk              (0x3ul << ACMP_CTL_NEGSEL_Pos)                    /*!< ACMP_T::CTL: NEGSEL Mask               */
+
+#define ACMP_CTL_POSSEL_Pos              (6)                                               /*!< ACMP_T::CTL: POSSEL Position           */
+#define ACMP_CTL_POSSEL_Msk              (0x3ul << ACMP_CTL_POSSEL_Pos)                    /*!< ACMP_T::CTL: POSSEL Mask               */
+
+#define ACMP_CTL_INTPOL_Pos              (8)                                               /*!< ACMP_T::CTL: INTPOL Position           */
+#define ACMP_CTL_INTPOL_Msk              (0x3ul << ACMP_CTL_INTPOL_Pos)                    /*!< ACMP_T::CTL: INTPOL Mask               */
+
+#define ACMP_CTL_OUTSEL_Pos              (12)                                              /*!< ACMP_T::CTL: OUTSEL Position           */
+#define ACMP_CTL_OUTSEL_Msk              (0x1ul << ACMP_CTL_OUTSEL_Pos)                    /*!< ACMP_T::CTL: OUTSEL Mask               */
+
+#define ACMP_CTL_FILTSEL_Pos             (13)                                              /*!< ACMP_T::CTL: FILTSEL Position          */
+#define ACMP_CTL_FILTSEL_Msk             (0x7ul << ACMP_CTL_FILTSEL_Pos)                   /*!< ACMP_T::CTL: FILTSEL Mask              */
+
+#define ACMP_CTL_WKEN_Pos                (16)                                              /*!< ACMP_T::CTL: WKEN Position             */
+#define ACMP_CTL_WKEN_Msk                (0x1ul << ACMP_CTL_WKEN_Pos)                      /*!< ACMP_T::CTL: WKEN Mask                 */
+
+#define ACMP_CTL_WLATEN_Pos              (17)                                              /*!< ACMP_T::CTL: WLATEN Position           */
+#define ACMP_CTL_WLATEN_Msk              (0x1ul << ACMP_CTL_WLATEN_Pos)                    /*!< ACMP_T::CTL: WLATEN Mask               */
+
+#define ACMP_CTL_WCMPSEL_Pos             (18)                                              /*!< ACMP_T::CTL: WCMPSEL Position          */
+#define ACMP_CTL_WCMPSEL_Msk             (0x1ul << ACMP_CTL_WCMPSEL_Pos)                   /*!< ACMP_T::CTL: WCMPSEL Mask              */
+
+#define ACMP_CTL_HYSSEL_Pos              (24)                                              /*!< ACMP_T::CTL: HYSSEL Position           */
+#define ACMP_CTL_HYSSEL_Msk              (0x3ul << ACMP_CTL_HYSSEL_Pos)                    /*!< ACMP_T::CTL: HYSSEL Mask               */
+
+#define ACMP_CTL_MODESEL_Pos             (28)                                              /*!< ACMP_T::CTL: MODESEL Position          */
+#define ACMP_CTL_MODESEL_Msk             (0x3ul << ACMP_CTL_MODESEL_Pos)                   /*!< ACMP_T::CTL: MODESEL Mask              */
+
+#define ACMP_STATUS_ACMPIF0_Pos          (0)                                               /*!< ACMP_T::STATUS: ACMPIF0 Position       */
+#define ACMP_STATUS_ACMPIF0_Msk          (0x1ul << ACMP_STATUS_ACMPIF0_Pos)                /*!< ACMP_T::STATUS: ACMPIF0 Mask           */
+
+#define ACMP_STATUS_ACMPIF1_Pos          (1)                                               /*!< ACMP_T::STATUS: ACMPIF1 Position       */
+#define ACMP_STATUS_ACMPIF1_Msk          (0x1ul << ACMP_STATUS_ACMPIF1_Pos)                /*!< ACMP_T::STATUS: ACMPIF1 Mask           */
+
+#define ACMP_STATUS_ACMPO0_Pos           (4)                                               /*!< ACMP_T::STATUS: ACMPO0 Position        */
+#define ACMP_STATUS_ACMPO0_Msk           (0x1ul << ACMP_STATUS_ACMPO0_Pos)                 /*!< ACMP_T::STATUS: ACMPO0 Mask            */
+
+#define ACMP_STATUS_ACMPO1_Pos           (5)                                               /*!< ACMP_T::STATUS: ACMPO1 Position        */
+#define ACMP_STATUS_ACMPO1_Msk           (0x1ul << ACMP_STATUS_ACMPO1_Pos)                 /*!< ACMP_T::STATUS: ACMPO1 Mask            */
+
+#define ACMP_STATUS_WKIF0_Pos            (8)                                               /*!< ACMP_T::STATUS: WKIF0 Position         */
+#define ACMP_STATUS_WKIF0_Msk            (0x1ul << ACMP_STATUS_WKIF0_Pos)                  /*!< ACMP_T::STATUS: WKIF0 Mask             */
+
+#define ACMP_STATUS_WKIF1_Pos            (9)                                               /*!< ACMP_T::STATUS: WKIF1 Position         */
+#define ACMP_STATUS_WKIF1_Msk            (0x1ul << ACMP_STATUS_WKIF1_Pos)                  /*!< ACMP_T::STATUS: WKIF1 Mask             */
+
+#define ACMP_STATUS_ACMPS0_Pos           (12)                                              /*!< ACMP_T::STATUS: ACMPS0 Position        */
+#define ACMP_STATUS_ACMPS0_Msk           (0x1ul << ACMP_STATUS_ACMPS0_Pos)                 /*!< ACMP_T::STATUS: ACMPS0 Mask            */
+
+#define ACMP_STATUS_ACMPS1_Pos           (13)                                              /*!< ACMP_T::STATUS: ACMPS1 Position        */
+#define ACMP_STATUS_ACMPS1_Msk           (0x1ul << ACMP_STATUS_ACMPS1_Pos)                 /*!< ACMP_T::STATUS: ACMPS1 Mask            */
+
+#define ACMP_STATUS_ACMPWO_Pos           (16)                                              /*!< ACMP_T::STATUS: ACMPWO Position        */
+#define ACMP_STATUS_ACMPWO_Msk           (0x1ul << ACMP_STATUS_ACMPWO_Pos)                 /*!< ACMP_T::STATUS: ACMPWO Mask            */
+
+#define ACMP_VREF_CRVCTL_Pos             (0)                                               /*!< ACMP_T::VREF: CRVCTL Position          */
+#define ACMP_VREF_CRVCTL_Msk             (0xful << ACMP_VREF_CRVCTL_Pos)                   /*!< ACMP_T::VREF: CRVCTL Mask              */
+
+#define ACMP_VREF_CRVSSEL_Pos            (6)                                               /*!< ACMP_T::VREF: CRVSSEL Position         */
+#define ACMP_VREF_CRVSSEL_Msk            (0x1ul << ACMP_VREF_CRVSSEL_Pos)                  /*!< ACMP_T::VREF: CRVSSEL Mask             */
+
+/**@}*/ /* ACMP_CONST */
+/**@}*/ /* end of ACMP register group */
+/**@}*/ /* end of REGISTER group */
+
+#if defined ( __CC_ARM   )
+#pragma no_anon_unions
+#endif
+
+#endif /* __ACMP_REG_H__ */

+ 1835 - 0
dap_link/lib/free-dap/platform/m484/include/bpwm_reg.h

@@ -0,0 +1,1835 @@
+/**************************************************************************//**
+ * @file     bpwm_reg.h
+ * @version  V1.00
+ * @brief    BPWM register definition header file
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __BPWM_REG_H__
+#define __BPWM_REG_H__
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/**
+   @addtogroup REGISTER Control Register
+   @{
+*/
+
+/**
+    @addtogroup BPWM Basic Pulse Width Modulation Controller(BPWM)
+    Memory Mapped Structure for BPWM Controller
+@{ */
+
+typedef struct
+{
+    /**
+     * @var BCAPDAT_T::RCAPDAT
+     * Offset: 0x20C  BPWM Rising Capture Data Register 0~5
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |RCAPDAT   |BPWM Rising Capture Data (Read Only)
+     * |        |          |When rising capture condition happened, the BPWM counter value will be saved in this register.
+     * @var BCAPDAT_T::FCAPDAT
+     * Offset: 0x210  BPWM Falling Capture Data Register 0~5
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |FCAPDAT   |BPWM Falling Capture Data (Read Only)
+     * |        |          |When falling capture condition happened, the BPWM counter value will be saved in this register.
+     */
+    __IO uint32_t RCAPDAT; /*!< [0x20C/0x214/0x21C/0x224/0x22C/0x234] BPWM Rising Capture Data Register 0~5 */
+    __IO uint32_t FCAPDAT; /*!< [0x210/0x218/0x220/0x228/0x230/0x238] BPWM Falling Capture Data Register 0~5 */
+} BCAPDAT_T;
+
+typedef struct
+{
+
+
+    /**
+     * @var BPWM_T::CTL0
+     * Offset: 0x00  BPWM Control Register 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CTRLD0    |Center Re-load
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |In up-down counter type, PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the center point of a period
+     * |[1]     |CTRLD1    |Center Re-load
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |In up-down counter type, PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the center point of a period
+     * |[2]     |CTRLD2    |Center Re-load
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |In up-down counter type, PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the center point of a period
+     * |[3]     |CTRLD3    |Center Re-load
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |In up-down counter type, PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the center point of a period
+     * |[4]     |CTRLD4    |Center Re-load
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |In up-down counter type, PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the center point of a period
+     * |[5]     |CTRLD5    |Center Re-load
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |In up-down counter type, PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the center point of a period
+     * |[16]    |IMMLDEN0  |Immediately Load Enable Bit(S)
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the end point or center point of each period by setting CTRLD bit.
+     * |        |          |1 = PERIOD/CMPDAT will load to PBUF and CMPBUF immediately when software update PERIOD/CMPDAT.
+     * |        |          |Note: If IMMLDENn is Enabled, WINLDENn and CTRLDn will be invalid.
+     * |[17]    |IMMLDEN1  |Immediately Load Enable Bit(S)
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the end point or center point of each period by setting CTRLD bit.
+     * |        |          |1 = PERIOD/CMPDAT will load to PBUF and CMPBUF immediately when software update PERIOD/CMPDAT.
+     * |        |          |Note: If IMMLDENn is Enabled, WINLDENn and CTRLDn will be invalid.
+     * |[18]    |IMMLDEN2  |Immediately Load Enable Bit(S)
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the end point or center point of each period by setting CTRLD bit.
+     * |        |          |1 = PERIOD/CMPDAT will load to PBUF and CMPBUF immediately when software update PERIOD/CMPDAT.
+     * |        |          |Note: If IMMLDENn is Enabled, WINLDENn and CTRLDn will be invalid.
+     * |[19]    |IMMLDEN3  |Immediately Load Enable Bit(S)
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the end point or center point of each period by setting CTRLD bit.
+     * |        |          |1 = PERIOD/CMPDAT will load to PBUF and CMPBUF immediately when software update PERIOD/CMPDAT.
+     * |        |          |Note: If IMMLDENn is Enabled, WINLDENn and CTRLDn will be invalid.
+     * |[20]    |IMMLDEN4  |Immediately Load Enable Bit(S)
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the end point or center point of each period by setting CTRLD bit.
+     * |        |          |1 = PERIOD/CMPDAT will load to PBUF and CMPBUF immediately when software update PERIOD/CMPDAT.
+     * |        |          |Note: If IMMLDENn is Enabled, WINLDENn and CTRLDn will be invalid.
+     * |[21]    |IMMLDEN5  |Immediately Load Enable Bit(S)
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = PERIOD will load to PBUF at the end point of each period
+     * |        |          |CMPDAT will load to CMPBUF at the end point or center point of each period by setting CTRLD bit.
+     * |        |          |1 = PERIOD/CMPDAT will load to PBUF and CMPBUF immediately when software update PERIOD/CMPDAT.
+     * |        |          |Note: If IMMLDENn is Enabled, WINLDENn and CTRLDn will be invalid.
+     * |[30]    |DBGHALT   |ICE Debug Mode Counter Halt (Write Protect)
+     * |        |          |If counter halt is enabled, BPWM all counters will keep current value until exit ICE debug mode.
+     * |        |          |0 = ICE debug mode counter halt Disabled.
+     * |        |          |1 = ICE debug mode counter halt Enabled.
+     * |        |          |Note: This register is write protected. Refer toSYS_REGLCTL register.
+     * |[31]    |DBGTRIOFF |ICE Debug Mode Acknowledge Disable (Write Protect)
+     * |        |          |0 = ICE debug mode acknowledgement effects BPWM output.
+     * |        |          |BPWM pin will be forced as tri-state while ICE debug mode acknowledged.
+     * |        |          |1 = ICE debug mode acknowledgement Disabled.
+     * |        |          |BPWM pin will keep output no matter ICE debug mode acknowledged or not.
+     * |        |          |Note: This register is write protected. Refer toSYS_REGLCTL register.
+     * @var BPWM_T::CTL1
+     * Offset: 0x04  BPWM Control Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[1:0]   |CNTTYPE0  |BPWM Counter Behavior Type 0
+     * |        |          |Each bit n controls corresponding BPWM channel n.
+     * |        |          |00 = Up counter type (supports in capture mode).
+     * |        |          |01 = Down count type (supports in capture mode).
+     * |        |          |10 = Up-down counter type.
+     * |        |          |11 = Reserved.
+     * @var BPWM_T::CLKSRC
+     * Offset: 0x10  BPWM Clock Source Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[2:0]   |ECLKSRC0  |BPWM_CH01 External Clock Source Select
+     * |        |          |000 = BPWMx_CLK, x denotes 0 or 1.
+     * |        |          |001 = TIMER0 overflow.
+     * |        |          |010 = TIMER1 overflow.
+     * |        |          |011 = TIMER2 overflow.
+     * |        |          |100 = TIMER3 overflow.
+     * |        |          |Others = Reserved.
+     * @var BPWM_T::CLKPSC
+     * Offset: 0x14  BPWM Clock Prescale Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[11:0]  |CLKPSC    |BPWM Counter Clock Prescale
+     * |        |          |The clock of BPWM counter is decided by clock prescaler
+     * |        |          |Each BPWM pair share one BPWM counter clock prescaler
+     * |        |          |The clock of BPWM counter is divided by (CLKPSC+ 1)
+     * @var BPWM_T::CNTEN
+     * Offset: 0x20  BPWM Counter Enable Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CNTEN0    |BPWM Counter 0 Enable Bit
+     * |        |          |0 = BPWM Counter and clock prescaler stop running.
+     * |        |          |1 = BPWM Counter and clock prescaler start running.
+     * @var BPWM_T::CNTCLR
+     * Offset: 0x24  BPWM Clear Counter Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CNTCLR0   |Clear BPWM Counter Control Bit 0
+     * |        |          |It is automatically cleared by hardware.
+     * |        |          |0 = No effect.
+     * |        |          |1 = Clear 16-bit BPWM counter to 0000H.
+     * @var BPWM_T::PERIOD
+     * Offset: 0x30  BPWM Period Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |PERIOD    |BPWM Period Register
+     * |        |          |Up-Count mode: In this mode, BPWM counter counts from 0 to PERIOD, and restarts from 0.
+     * |        |          |Down-Count mode: In this mode, BPWM counter counts from PERIOD to 0, and restarts from PERIOD.
+     * |        |          |BPWM period time = (PERIOD+1) * BPWM_CLK period.
+     * |        |          |Up-Down-Count mode: In this mode, BPWM counter counts from 0 to PERIOD, then decrements to 0 and repeats again.
+     * |        |          |BPWM period time = 2 * PERIOD * BPWM_CLK period.
+     * @var BPWM_T::CMPDAT[6]
+     * Offset: 0x50  BPWM Comparator Register 0~5
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |CMPDAT    |BPWM Comparator Register
+     * |        |          |CMPDAT use to compare with CNTR to generate BPWM waveform, interrupt and trigger EADC.
+     * |        |          |In independent mode, CMPDAT0~5 denote as 6 independent BPWM_CH0~5 compared point.
+     * @var BPWM_T::CNT
+     * Offset: 0x90  BPWM Counter Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |CNT       |BPWM Data Register (Read Only)
+     * |        |          |User can monitor CNTR to know the current value in 16-bit period counter.
+     * |[16]    |DIRF      |BPWM Direction Indicator Flag (Read Only)
+     * |        |          |0 = Counter is Down count.
+     * |        |          |1 = Counter is UP count.
+     * @var BPWM_T::WGCTL0
+     * Offset: 0xB0  BPWM Generation Register 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[1:0]   |ZPCTL0    |BPWM Zero Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM zero point output Low.
+     * |        |          |10 = BPWM zero point output High.
+     * |        |          |11 = BPWM zero point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to zero.
+     * |[3:2]   |ZPCTL1    |BPWM Zero Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM zero point output Low.
+     * |        |          |10 = BPWM zero point output High.
+     * |        |          |11 = BPWM zero point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to zero.
+     * |[5:4]   |ZPCTL2    |BPWM Zero Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM zero point output Low.
+     * |        |          |10 = BPWM zero point output High.
+     * |        |          |11 = BPWM zero point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to zero.
+     * |[7:6]   |ZPCTL3    |BPWM Zero Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM zero point output Low.
+     * |        |          |10 = BPWM zero point output High.
+     * |        |          |11 = BPWM zero point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to zero.
+     * |[9:8]   |ZPCTL4    |BPWM Zero Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM zero point output Low.
+     * |        |          |10 = BPWM zero point output High.
+     * |        |          |11 = BPWM zero point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to zero.
+     * |[11:10] |ZPCTL5    |BPWM Zero Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM zero point output Low.
+     * |        |          |10 = BPWM zero point output High.
+     * |        |          |11 = BPWM zero point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to zero.
+     * |[17:16] |PRDPCTL0  |BPWM Period (Center) Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM period (center) point output Low.
+     * |        |          |10 = BPWM period (center) point output High.
+     * |        |          |11 = BPWM period (center) point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to (PERIOD+1).
+     * |        |          |Note: This bit is center point control when BPWM counter operating in up-down counter type.
+     * |[19:18] |PRDPCTL1  |BPWM Period (Center) Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM period (center) point output Low.
+     * |        |          |10 = BPWM period (center) point output High.
+     * |        |          |11 = BPWM period (center) point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to (PERIOD+1).
+     * |        |          |Note: This bit is center point control when BPWM counter operating in up-down counter type.
+     * |[21:20] |PRDPCTL2  |BPWM Period (Center) Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM period (center) point output Low.
+     * |        |          |10 = BPWM period (center) point output High.
+     * |        |          |11 = BPWM period (center) point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to (PERIOD+1).
+     * |        |          |Note: This bit is center point control when BPWM counter operating in up-down counter type.
+     * |[23:22] |PRDPCTL3  |BPWM Period (Center) Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM period (center) point output Low.
+     * |        |          |10 = BPWM period (center) point output High.
+     * |        |          |11 = BPWM period (center) point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to (PERIOD+1).
+     * |        |          |Note: This bit is center point control when BPWM counter operating in up-down counter type.
+     * |[25:24] |PRDPCTL4  |BPWM Period (Center) Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM period (center) point output Low.
+     * |        |          |10 = BPWM period (center) point output High.
+     * |        |          |11 = BPWM period (center) point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to (PERIOD+1).
+     * |        |          |Note: This bit is center point control when BPWM counter operating in up-down counter type.
+     * |[27:26] |PRDPCTL5  |BPWM Period (Center) Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM period (center) point output Low.
+     * |        |          |10 = BPWM period (center) point output High.
+     * |        |          |11 = BPWM period (center) point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter count to (PERIOD+1).
+     * |        |          |Note: This bit is center point control when BPWM counter operating in up-down counter type.
+     * @var BPWM_T::WGCTL1
+     * Offset: 0xB4  BPWM Generation Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[1:0]   |CMPUCTL0  |BPWM Compare Up Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare up point output Low.
+     * |        |          |10 = BPWM compare up point output High.
+     * |        |          |11 = BPWM compare up point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter up count to CMPDAT.
+     * |[3:2]   |CMPUCTL1  |BPWM Compare Up Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare up point output Low.
+     * |        |          |10 = BPWM compare up point output High.
+     * |        |          |11 = BPWM compare up point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter up count to CMPDAT.
+     * |[5:4]   |CMPUCTL2  |BPWM Compare Up Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare up point output Low.
+     * |        |          |10 = BPWM compare up point output High.
+     * |        |          |11 = BPWM compare up point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter up count to CMPDAT.
+     * |[7:6]   |CMPUCTL3  |BPWM Compare Up Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare up point output Low.
+     * |        |          |10 = BPWM compare up point output High.
+     * |        |          |11 = BPWM compare up point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter up count to CMPDAT.
+     * |[9:8]   |CMPUCTL4  |BPWM Compare Up Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare up point output Low.
+     * |        |          |10 = BPWM compare up point output High.
+     * |        |          |11 = BPWM compare up point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter up count to CMPDAT.
+     * |[11:10] |CMPUCTL5  |BPWM Compare Up Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare up point output Low.
+     * |        |          |10 = BPWM compare up point output High.
+     * |        |          |11 = BPWM compare up point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter up count to CMPDAT.
+     * |[17:16] |CMPDCTL0  |BPWM Compare Down Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare down point output Low.
+     * |        |          |10 = BPWM compare down point output High.
+     * |        |          |11 = BPWM compare down point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter down count to CMPDAT.
+     * |[19:18] |CMPDCTL1  |BPWM Compare Down Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare down point output Low.
+     * |        |          |10 = BPWM compare down point output High.
+     * |        |          |11 = BPWM compare down point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter down count to CMPDAT.
+     * |[21:20] |CMPDCTL2  |BPWM Compare Down Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare down point output Low.
+     * |        |          |10 = BPWM compare down point output High.
+     * |        |          |11 = BPWM compare down point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter down count to CMPDAT.
+     * |[23:22] |CMPDCTL3  |BPWM Compare Down Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare down point output Low.
+     * |        |          |10 = BPWM compare down point output High.
+     * |        |          |11 = BPWM compare down point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter down count to CMPDAT.
+     * |[25:24] |CMPDCTL4  |BPWM Compare Down Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare down point output Low.
+     * |        |          |10 = BPWM compare down point output High.
+     * |        |          |11 = BPWM compare down point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter down count to CMPDAT.
+     * |[27:26] |CMPDCTL5  |BPWM Compare Down Point Control
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |00 = Do nothing.
+     * |        |          |01 = BPWM compare down point output Low.
+     * |        |          |10 = BPWM compare down point output High.
+     * |        |          |11 = BPWM compare down point output Toggle.
+     * |        |          |BPWM can control output level when BPWM counter down count to CMPDAT.
+     * @var BPWM_T::MSKEN
+     * Offset: 0xB8  BPWM Mask Enable Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |MSKEN0    |BPWM Mask Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |The BPWM output signal will be masked when this bit is enabled
+     * |        |          |The corresponding BPWM channel n will output MSKDATn (BPWM_MSK[5:0]) data.
+     * |        |          |0 = BPWM output signal is non-masked.
+     * |        |          |1 = BPWM output signal is masked and output MSKDATn data.
+     * |[1]     |MSKEN1    |BPWM Mask Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |The BPWM output signal will be masked when this bit is enabled
+     * |        |          |The corresponding BPWM channel n will output MSKDATn (BPWM_MSK[5:0]) data.
+     * |        |          |0 = BPWM output signal is non-masked.
+     * |        |          |1 = BPWM output signal is masked and output MSKDATn data.
+     * |[2]     |MSKEN2    |BPWM Mask Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |The BPWM output signal will be masked when this bit is enabled
+     * |        |          |The corresponding BPWM channel n will output MSKDATn (BPWM_MSK[5:0]) data.
+     * |        |          |0 = BPWM output signal is non-masked.
+     * |        |          |1 = BPWM output signal is masked and output MSKDATn data.
+     * |[3]     |MSKEN3    |BPWM Mask Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |The BPWM output signal will be masked when this bit is enabled
+     * |        |          |The corresponding BPWM channel n will output MSKDATn (BPWM_MSK[5:0]) data.
+     * |        |          |0 = BPWM output signal is non-masked.
+     * |        |          |1 = BPWM output signal is masked and output MSKDATn data.
+     * |[4]     |MSKEN4    |BPWM Mask Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |The BPWM output signal will be masked when this bit is enabled
+     * |        |          |The corresponding BPWM channel n will output MSKDATn (BPWM_MSK[5:0]) data.
+     * |        |          |0 = BPWM output signal is non-masked.
+     * |        |          |1 = BPWM output signal is masked and output MSKDATn data.
+     * |[5]     |MSKEN5    |BPWM Mask Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |The BPWM output signal will be masked when this bit is enabled
+     * |        |          |The corresponding BPWM channel n will output MSKDATn (BPWM_MSK[5:0]) data.
+     * |        |          |0 = BPWM output signal is non-masked.
+     * |        |          |1 = BPWM output signal is masked and output MSKDATn data.
+     * @var BPWM_T::MSK
+     * Offset: 0xBC  BPWM Mask Data Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |MSKDAT0   |BPWM Mask Data Bit
+     * |        |          |This data bit control the state of BPWMn output pin, if corresponding mask function is enabled
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Output logic low to BPWMn.
+     * |        |          |1 = Output logic high to BPWMn.
+     * |[1]     |MSKDAT1   |BPWM Mask Data Bit
+     * |        |          |This data bit control the state of BPWMn output pin, if corresponding mask function is enabled
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Output logic low to BPWMn.
+     * |        |          |1 = Output logic high to BPWMn.
+     * |[2]     |MSKDAT2   |BPWM Mask Data Bit
+     * |        |          |This data bit control the state of BPWMn output pin, if corresponding mask function is enabled
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Output logic low to BPWMn.
+     * |        |          |1 = Output logic high to BPWMn.
+     * |[3]     |MSKDAT3   |BPWM Mask Data Bit
+     * |        |          |This data bit control the state of BPWMn output pin, if corresponding mask function is enabled
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Output logic low to BPWMn.
+     * |        |          |1 = Output logic high to BPWMn.
+     * |[4]     |MSKDAT4   |BPWM Mask Data Bit
+     * |        |          |This data bit control the state of BPWMn output pin, if corresponding mask function is enabled
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Output logic low to BPWMn.
+     * |        |          |1 = Output logic high to BPWMn.
+     * |[5]     |MSKDAT5   |BPWM Mask Data Bit
+     * |        |          |This data bit control the state of BPWMn output pin, if corresponding mask function is enabled
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Output logic low to BPWMn.
+     * |        |          |1 = Output logic high to BPWMn.
+     * @var BPWM_T::POLCTL
+     * Offset: 0xD4  BPWM Pin Polar Inverse Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |PINV0     |BPWM PIN Polar Inverse Control
+     * |        |          |The register controls polarity state of BPWM output
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM output polar inverse Disabled.
+     * |        |          |1 = BPWM output polar inverse Enabled.
+     * |[1]     |PINV1     |BPWM PIN Polar Inverse Control
+     * |        |          |The register controls polarity state of BPWM output
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM output polar inverse Disabled.
+     * |        |          |1 = BPWM output polar inverse Enabled.
+     * |[2]     |PINV2     |BPWM PIN Polar Inverse Control
+     * |        |          |The register controls polarity state of BPWM output
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM output polar inverse Disabled.
+     * |        |          |1 = BPWM output polar inverse Enabled.
+     * |[3]     |PINV3     |BPWM PIN Polar Inverse Control
+     * |        |          |The register controls polarity state of BPWM output
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM output polar inverse Disabled.
+     * |        |          |1 = BPWM output polar inverse Enabled.
+     * |[4]     |PINV4     |BPWM PIN Polar Inverse Control
+     * |        |          |The register controls polarity state of BPWM output
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM output polar inverse Disabled.
+     * |        |          |1 = BPWM output polar inverse Enabled.
+     * |[5]     |PINV5     |BPWM PIN Polar Inverse Control
+     * |        |          |The register controls polarity state of BPWM output
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM output polar inverse Disabled.
+     * |        |          |1 = BPWM output polar inverse Enabled.
+     * @var BPWM_T::POEN
+     * Offset: 0xD8  BPWM Output Enable Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |POEN0     |BPWM Pin Output Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM pin at tri-state.
+     * |        |          |1 = BPWM pin in output mode.
+     * |[1]     |POEN1     |BPWM Pin Output Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM pin at tri-state.
+     * |        |          |1 = BPWM pin in output mode.
+     * |[2]     |POEN2     |BPWM Pin Output Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM pin at tri-state.
+     * |        |          |1 = BPWM pin in output mode.
+     * |[3]     |POEN3     |BPWM Pin Output Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM pin at tri-state.
+     * |        |          |1 = BPWM pin in output mode.
+     * |[4]     |POEN4     |BPWM Pin Output Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM pin at tri-state.
+     * |        |          |1 = BPWM pin in output mode.
+     * |[5]     |POEN5     |BPWM Pin Output Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM pin at tri-state.
+     * |        |          |1 = BPWM pin in output mode.
+     * @var BPWM_T::INTEN
+     * Offset: 0xE0  BPWM Interrupt Enable Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |ZIEN0     |BPWM Zero Point Interrupt 0 Enable Bit
+     * |        |          |0 = Zero point interrupt Disabled.
+     * |        |          |1 = Zero point interrupt Enabled.
+     * |[8]     |PIEN0     |BPWM Period Point Interrupt 0 Enable Bit
+     * |        |          |0 = Period point interrupt Disabled.
+     * |        |          |1 = Period point interrupt Enabled.
+     * |        |          |Note: When up-down counter type period point means center point.
+     * |[16]    |CMPUIEN0  |BPWM Compare Up Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare up count interrupt Disabled.
+     * |        |          |1 = Compare up count interrupt Enabled.
+     * |[17]    |CMPUIEN1  |BPWM Compare Up Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare up count interrupt Disabled.
+     * |        |          |1 = Compare up count interrupt Enabled.
+     * |[18]    |CMPUIEN2  |BPWM Compare Up Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare up count interrupt Disabled.
+     * |        |          |1 = Compare up count interrupt Enabled.
+     * |[19]    |CMPUIEN3  |BPWM Compare Up Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare up count interrupt Disabled.
+     * |        |          |1 = Compare up count interrupt Enabled.
+     * |[20]    |CMPUIEN4  |BPWM Compare Up Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare up count interrupt Disabled.
+     * |        |          |1 = Compare up count interrupt Enabled.
+     * |[21]    |CMPUIEN5  |BPWM Compare Up Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare up count interrupt Disabled.
+     * |        |          |1 = Compare up count interrupt Enabled.
+     * |[24]    |CMPDIEN0  |BPWM Compare Down Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare down count interrupt Disabled.
+     * |        |          |1 = Compare down count interrupt Enabled.
+     * |[25]    |CMPDIEN1  |BPWM Compare Down Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare down count interrupt Disabled.
+     * |        |          |1 = Compare down count interrupt Enabled.
+     * |[26]    |CMPDIEN2  |BPWM Compare Down Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare down count interrupt Disabled.
+     * |        |          |1 = Compare down count interrupt Enabled.
+     * |[27]    |CMPDIEN3  |BPWM Compare Down Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare down count interrupt Disabled.
+     * |        |          |1 = Compare down count interrupt Enabled.
+     * |[28]    |CMPDIEN4  |BPWM Compare Down Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare down count interrupt Disabled.
+     * |        |          |1 = Compare down count interrupt Enabled.
+     * |[29]    |CMPDIEN5  |BPWM Compare Down Count Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Compare down count interrupt Disabled.
+     * |        |          |1 = Compare down count interrupt Enabled.
+     * @var BPWM_T::INTSTS
+     * Offset: 0xE8  BPWM Interrupt Flag Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |ZIF0      |BPWM Zero Point Interrupt Flag 0
+     * |        |          |This bit is set by hardware when BPWM_CH0 counter reaches zero, software can write 1 to clear this bit to zero.
+     * |[8]     |PIF0      |BPWM Period Point Interrupt Flag 0
+     * |        |          |This bit is set by hardware when BPWM_CH0 counter reaches BPWM_PERIOD0, software can write 1 to clear this bit to zero.
+     * |[16]    |CMPUIF0   |BPWM Compare Up Count Interrupt Flag
+     * |        |          |Flag is set by hardware when BPWM counter up count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in up counter type selection.
+     * |[17]    |CMPUIF1   |BPWM Compare Up Count Interrupt Flag
+     * |        |          |Flag is set by hardware when BPWM counter up count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in up counter type selection.
+     * |[18]    |CMPUIF2   |BPWM Compare Up Count Interrupt Flag
+     * |        |          |Flag is set by hardware when BPWM counter up count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in up counter type selection.
+     * |[19]    |CMPUIF3   |BPWM Compare Up Count Interrupt Flag
+     * |        |          |Flag is set by hardware when BPWM counter up count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in up counter type selection.
+     * |[20]    |CMPUIF4   |BPWM Compare Up Count Interrupt Flag
+     * |        |          |Flag is set by hardware when BPWM counter up count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in up counter type selection.
+     * |[21]    |CMPUIF5   |BPWM Compare Up Count Interrupt Flag
+     * |        |          |Flag is set by hardware when BPWM counter up count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in up counter type selection.
+     * |[24]    |CMPDIF0   |BPWM Compare Down Count Interrupt Flag
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Flag is set by hardware when BPWM counter down count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in down counter type selection.
+     * |[25]    |CMPDIF1   |BPWM Compare Down Count Interrupt Flag
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Flag is set by hardware when BPWM counter down count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in down counter type selection.
+     * |[26]    |CMPDIF2   |BPWM Compare Down Count Interrupt Flag
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Flag is set by hardware when BPWM counter down count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in down counter type selection.
+     * |[27]    |CMPDIF3   |BPWM Compare Down Count Interrupt Flag
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Flag is set by hardware when BPWM counter down count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in down counter type selection.
+     * |[28]    |CMPDIF4   |BPWM Compare Down Count Interrupt Flag
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Flag is set by hardware when BPWM counter down count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in down counter type selection.
+     * |[29]    |CMPDIF5   |BPWM Compare Down Count Interrupt Flag
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Flag is set by hardware when BPWM counter down count and reaches BPWM_CMPDATn, software can clear this bit by writing 1 to it.
+     * |        |          |Note: If CMPDAT equal to PERIOD, this flag is not working in down counter type selection.
+     * @var BPWM_T::EADCTS0
+     * Offset: 0xF8  BPWM Trigger EADC Source Select Register 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |TRGSEL0   |BPWM_CH0 Trigger EADC Source Select
+     * |        |          |0000 = BPWM_CH0 zero point.
+     * |        |          |0001 = BPWM_CH0 period point.
+     * |        |          |0010 = BPWM_CH0 zero or period point.
+     * |        |          |0011 = BPWM_CH0 up-count CMPDAT point.
+     * |        |          |0100 = BPWM_CH0 down-count CMPDAT point.
+     * |        |          |0101 = Reserved.
+     * |        |          |0110 = Reserved.
+     * |        |          |0111 = Reserved.
+     * |        |          |1000 = BPWM_CH1 up-count CMPDAT point.
+     * |        |          |1001 = BPWM_CH1 down-count CMPDAT point.
+     * |        |          |Others reserved
+     * |[7]     |TRGEN0    |BPWM_CH0 Trigger EADC Enable Bit
+     * |[11:8]  |TRGSEL1   |BPWM_CH1 Trigger EADC Source Select
+     * |        |          |0000 = BPWM_CH0 zero point.
+     * |        |          |0001 = BPWM_CH0 period point.
+     * |        |          |0010 = BPWM_CH0 zero or period point.
+     * |        |          |0011 = BPWM_CH0 up-count CMPDAT point.
+     * |        |          |0100 = BPWM_CH0 down-count CMPDAT point.
+     * |        |          |0101 = Reserved.
+     * |        |          |0110 = Reserved.
+     * |        |          |0111 = Reserved.
+     * |        |          |1000 = BPWM_CH1 up-count CMPDAT point.
+     * |        |          |1001 = BPWM_CH1 down-count CMPDAT point.
+     * |        |          |Others reserved
+     * |[15]    |TRGEN1    |BPWM_CH1 Trigger EADC Enable Bit
+     * |[19:16] |TRGSEL2   |BPWM_CH2 Trigger EADC Source Select
+     * |        |          |0000 = BPWM_CH2 zero point.
+     * |        |          |0001 = BPWM_CH2 period point.
+     * |        |          |0010 = BPWM_CH2 zero or period point.
+     * |        |          |0011 = BPWM_CH2 up-count CMPDAT point.
+     * |        |          |0100 = BPWM_CH2 down-count CMPDAT point.
+     * |        |          |0101 = Reserved.
+     * |        |          |0110 = Reserved.
+     * |        |          |0111 = Reserved.
+     * |        |          |1000 = BPWM_CH3 up-count CMPDAT point.
+     * |        |          |1001 = BPWM_CH3 down-count CMPDAT point.
+     * |        |          |Others reserved
+     * |[23]    |TRGEN2    |BPWM_CH2 Trigger EADC Enable Bit
+     * |[27:24] |TRGSEL3   |BPWM_CH3 Trigger EADC Source Select
+     * |        |          |0000 = BPWM_CH2 zero point.
+     * |        |          |0001 = BPWM_CH2 period point.
+     * |        |          |0010 = BPWM_CH2 zero or period point.
+     * |        |          |0011 = BPWM_CH2 up-count CMPDAT point.
+     * |        |          |0100 = BPWM_CH2 down-count CMPDAT point.
+     * |        |          |0101 = Reserved.
+     * |        |          |0110 = Reserved.
+     * |        |          |0111 = Reserved.
+     * |        |          |1000 = BPWM_CH3 up-count CMPDAT point.
+     * |        |          |1001 = BPWM_CH3 down-count CMPDAT point.
+     * |        |          |Others reserved.
+     * |[31]    |TRGEN3    |BPWM_CH3 Trigger EADC Enable Bit
+     * @var BPWM_T::EADCTS1
+     * Offset: 0xFC  BPWM Trigger EADC Source Select Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |TRGSEL4   |BPWM_CH4 Trigger EADC Source Select
+     * |        |          |0000 = BPWM_CH4 zero point.
+     * |        |          |0001 = BPWM_CH4 period point.
+     * |        |          |0010 = BPWM_CH4 zero or period point.
+     * |        |          |0011 = BPWM_CH4 up-count CMPDAT point.
+     * |        |          |0100 = BPWM_CH4 down-count CMPDAT point.
+     * |        |          |0101 = Reserved.
+     * |        |          |0110 = Reserved.
+     * |        |          |0111 = Reserved.
+     * |        |          |1000 = BPWM_CH5 up-count CMPDAT point.
+     * |        |          |1001 = BPWM_CH5 down-count CMPDAT point.
+     * |        |          |Others reserved
+     * |[7]     |TRGEN4    |BPWM_CH4 Trigger EADC Enable Bit
+     * |[11:8]  |TRGSEL5   |BPWM_CH5 Trigger EADC Source Select
+     * |        |          |0000 = BPWM_CH4 zero point.
+     * |        |          |0001 = BPWM_CH4 period point.
+     * |        |          |0010 = BPWM_CH4 zero or period point.
+     * |        |          |0011 = BPWM_CH4 up-count CMPDAT point.
+     * |        |          |0100 = BPWM_CH4 down-count CMPDAT point.
+     * |        |          |0101 = Reserved.
+     * |        |          |0110 = Reserved.
+     * |        |          |0111 = Reserved.
+     * |        |          |1000 = BPWM_CH5 up-count CMPDAT point.
+     * |        |          |1001 = BPWM_CH5 down-count CMPDAT point.
+     * |        |          |Others reserved
+     * |[15]    |TRGEN5    |BPWM_CH5 Trigger EADC Enable Bit
+     * @var BPWM_T::SSCTL
+     * Offset: 0x110  BPWM Synchronous Start Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |SSEN0     |BPWM Synchronous Start Function 0 Enable Bit
+     * |        |          |When synchronous start function is enabled, the BPWM_CH0 counter enable bit (CNTEN0) can be enabled by writing BPWM synchronous start trigger bit (CNTSEN).
+     * |        |          |0 = BPWM synchronous start function Disabled.
+     * |        |          |1 = BPWM synchronous start function Enabled.
+     * |[9:8]   |SSRC      |BPWM Synchronous Start Source Select
+     * |        |          |00 = Synchronous start source come from PWM0.
+     * |        |          |01 = Synchronous start source come from PWM1.
+     * |        |          |10 = Synchronous start source come from BPWM0.
+     * |        |          |11 = Synchronous start source come from BPWM1.
+     * @var BPWM_T::SSTRG
+     * Offset: 0x114  BPWM Synchronous Start Trigger Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CNTSEN    |BPWM Counter Synchronous Start Enable Bit(Write Only)
+     * |        |          |BPMW counter synchronous enable function is used to make PWM or BPWM channels start counting at the same time.
+     * |        |          |Writing this bit to 1 will also set the counter enable bit if correlated BPWM channel counter synchronous start function is enabled.
+     * @var BPWM_T::STATUS
+     * Offset: 0x120  BPWM Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CNTMAX0   |Time-base Counter 0 Equal to 0xFFFF Latched Status
+     * |        |          |0 = indicates the time-base counter never reached its maximum value 0xFFFF.
+     * |        |          |1 = indicates the time-base counter reached its maximum value, software can write 1 to clear this bit.
+     * |[16]    |EADCTRG0  |EADC Start of Conversion Status
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Indicates no EADC start of conversion trigger event has occurred.
+     * |        |          |1 = Indicates an EADC start of conversion trigger event has occurred, software can write 1 to clear this bit.
+     * |[17]    |EADCTRG1  |EADC Start of Conversion Status
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Indicates no EADC start of conversion trigger event has occurred.
+     * |        |          |1 = Indicates an EADC start of conversion trigger event has occurred, software can write 1 to clear this bit.
+     * |[18]    |EADCTRG2  |EADC Start of Conversion Status
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Indicates no EADC start of conversion trigger event has occurred.
+     * |        |          |1 = Indicates an EADC start of conversion trigger event has occurred, software can write 1 to clear this bit.
+     * |[19]    |EADCTRG3  |EADC Start of Conversion Status
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Indicates no EADC start of conversion trigger event has occurred.
+     * |        |          |1 = Indicates an EADC start of conversion trigger event has occurred, software can write 1 to clear this bit.
+     * |[20]    |EADCTRG4  |EADC Start of Conversion Status
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Indicates no EADC start of conversion trigger event has occurred.
+     * |        |          |1 = Indicates an EADC start of conversion trigger event has occurred, software can write 1 to clear this bit.
+     * |[21]    |EADCTRG5  |EADC Start of Conversion Status
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Indicates no EADC start of conversion trigger event has occurred.
+     * |        |          |1 = Indicates an EADC start of conversion trigger event has occurred, software can write 1 to clear this bit.
+     * @var BPWM_T::CAPINEN
+     * Offset: 0x200  BPWM Capture Input Enable Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CAPINEN0  |Capture Input Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM Channel capture input path Disabled
+     * |        |          |The input of BPWM channel capture function is always regarded as 0.
+     * |        |          |1 = BPWM Channel capture input path Enabled
+     * |        |          |The input of BPWM channel capture function comes from correlative multifunction pin.
+     * |[1]     |CAPINEN1  |Capture Input Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM Channel capture input path Disabled
+     * |        |          |The input of BPWM channel capture function is always regarded as 0.
+     * |        |          |1 = BPWM Channel capture input path Enabled
+     * |        |          |The input of BPWM channel capture function comes from correlative multifunction pin.
+     * |[2]     |CAPINEN2  |Capture Input Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM Channel capture input path Disabled
+     * |        |          |The input of BPWM channel capture function is always regarded as 0.
+     * |        |          |1 = BPWM Channel capture input path Enabled
+     * |        |          |The input of BPWM channel capture function comes from correlative multifunction pin.
+     * |[3]     |CAPINEN3  |Capture Input Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM Channel capture input path Disabled
+     * |        |          |The input of BPWM channel capture function is always regarded as 0.
+     * |        |          |1 = BPWM Channel capture input path Enabled
+     * |        |          |The input of BPWM channel capture function comes from correlative multifunction pin.
+     * |[4]     |CAPINEN4  |Capture Input Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM Channel capture input path Disabled
+     * |        |          |The input of BPWM channel capture function is always regarded as 0.
+     * |        |          |1 = BPWM Channel capture input path Enabled
+     * |        |          |The input of BPWM channel capture function comes from correlative multifunction pin.
+     * |[5]     |CAPINEN5  |Capture Input Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = BPWM Channel capture input path Disabled
+     * |        |          |The input of BPWM channel capture function is always regarded as 0.
+     * |        |          |1 = BPWM Channel capture input path Enabled
+     * |        |          |The input of BPWM channel capture function comes from correlative multifunction pin.
+     * @var BPWM_T::CAPCTL
+     * Offset: 0x204  BPWM Capture Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CAPEN0    |Capture Function Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture function Disabled. RCAPDAT/FCAPDAT register will not be updated.
+     * |        |          |1 = Capture function Enabled
+     * |        |          |Capture latched the BPWM counter value when detected rising or falling edge of input signal and saved to RCAPDAT (Rising latch) and FCAPDAT (Falling latch).
+     * |[1]     |CAPEN1    |Capture Function Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture function Disabled. RCAPDAT/FCAPDAT register will not be updated.
+     * |        |          |1 = Capture function Enabled
+     * |        |          |Capture latched the BPWM counter value when detected rising or falling edge of input signal and saved to RCAPDAT (Rising latch) and FCAPDAT (Falling latch).
+     * |[2]     |CAPEN2    |Capture Function Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture function Disabled. RCAPDAT/FCAPDAT register will not be updated.
+     * |        |          |1 = Capture function Enabled
+     * |        |          |Capture latched the BPWM counter value when detected rising or falling edge of input signal and saved to RCAPDAT (Rising latch) and FCAPDAT (Falling latch).
+     * |[3]     |CAPEN3    |Capture Function Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture function Disabled. RCAPDAT/FCAPDAT register will not be updated.
+     * |        |          |1 = Capture function Enabled
+     * |        |          |Capture latched the BPWM counter value when detected rising or falling edge of input signal and saved to RCAPDAT (Rising latch) and FCAPDAT (Falling latch).
+     * |[4]     |CAPEN4    |Capture Function Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture function Disabled. RCAPDAT/FCAPDAT register will not be updated.
+     * |        |          |1 = Capture function Enabled
+     * |        |          |Capture latched the BPWM counter value when detected rising or falling edge of input signal and saved to RCAPDAT (Rising latch) and FCAPDAT (Falling latch).
+     * |[5]     |CAPEN5    |Capture Function Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture function Disabled. RCAPDAT/FCAPDAT register will not be updated.
+     * |        |          |1 = Capture function Enabled
+     * |        |          |Capture latched the BPWM counter value when detected rising or falling edge of input signal and saved to RCAPDAT (Rising latch) and FCAPDAT (Falling latch).
+     * |[8]     |CAPINV0   |Capture Inverter Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture source inverter Disabled.
+     * |        |          |1 = Capture source inverter Enabled. Reverse the input signal from GPIO.
+     * |[9]     |CAPINV1   |Capture Inverter Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture source inverter Disabled.
+     * |        |          |1 = Capture source inverter Enabled. Reverse the input signal from GPIO.
+     * |[10]    |CAPINV2   |Capture Inverter Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture source inverter Disabled.
+     * |        |          |1 = Capture source inverter Enabled. Reverse the input signal from GPIO.
+     * |[11]    |CAPINV3   |Capture Inverter Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture source inverter Disabled.
+     * |        |          |1 = Capture source inverter Enabled. Reverse the input signal from GPIO.
+     * |[12]    |CAPINV4   |Capture Inverter Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture source inverter Disabled.
+     * |        |          |1 = Capture source inverter Enabled. Reverse the input signal from GPIO.
+     * |[13]    |CAPINV5   |Capture Inverter Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture source inverter Disabled.
+     * |        |          |1 = Capture source inverter Enabled. Reverse the input signal from GPIO.
+     * |[16]    |RCRLDEN0  |Rising Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Rising capture reload counter Disabled.
+     * |        |          |1 = Rising capture reload counter Enabled.
+     * |[17]    |RCRLDEN1  |Rising Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Rising capture reload counter Disabled.
+     * |        |          |1 = Rising capture reload counter Enabled.
+     * |[18]    |RCRLDEN2  |Rising Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Rising capture reload counter Disabled.
+     * |        |          |1 = Rising capture reload counter Enabled.
+     * |[19]    |RCRLDEN3  |Rising Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Rising capture reload counter Disabled.
+     * |        |          |1 = Rising capture reload counter Enabled.
+     * |[20]    |RCRLDEN4  |Rising Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Rising capture reload counter Disabled.
+     * |        |          |1 = Rising capture reload counter Enabled.
+     * |[21]    |RCRLDEN5  |Rising Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Rising capture reload counter Disabled.
+     * |        |          |1 = Rising capture reload counter Enabled.
+     * |[24]    |FCRLDEN0  |Falling Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Falling capture reload counter Disabled.
+     * |        |          |1 = Falling capture reload counter Enabled.
+     * |[25]    |FCRLDEN1  |Falling Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Falling capture reload counter Disabled.
+     * |        |          |1 = Falling capture reload counter Enabled.
+     * |[26]    |FCRLDEN2  |Falling Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Falling capture reload counter Disabled.
+     * |        |          |1 = Falling capture reload counter Enabled.
+     * |[27]    |FCRLDEN3  |Falling Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Falling capture reload counter Disabled.
+     * |        |          |1 = Falling capture reload counter Enabled.
+     * |[28]    |FCRLDEN4  |Falling Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Falling capture reload counter Disabled.
+     * |        |          |1 = Falling capture reload counter Enabled.
+     * |[29]    |FCRLDEN5  |Falling Capture Reload Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Falling capture reload counter Disabled.
+     * |        |          |1 = Falling capture reload counter Enabled.
+     * @var BPWM_T::CAPSTS
+     * Offset: 0x208  BPWM Capture Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CRIFOV0   |Capture Rising Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if rising latch happened when the corresponding CAPRIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPRIF.
+     * |[1]     |CRIFOV1   |Capture Rising Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if rising latch happened when the corresponding CAPRIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPRIF.
+     * |[2]     |CRIFOV2   |Capture Rising Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if rising latch happened when the corresponding CAPRIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPRIF.
+     * |[3]     |CRIFOV3   |Capture Rising Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if rising latch happened when the corresponding CAPRIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPRIF.
+     * |[4]     |CRIFOV4   |Capture Rising Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if rising latch happened when the corresponding CAPRIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPRIF.
+     * |[5]     |CRIFOV5   |Capture Rising Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if rising latch happened when the corresponding CAPRIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPRIF.
+     * |[8]     |CFIFOV0   |Capture Falling Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if falling latch happened when the corresponding CAPFIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPFIF.
+     * |[9]     |CFIFOV1   |Capture Falling Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if falling latch happened when the corresponding CAPFIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPFIF.
+     * |[10]    |CFIFOV2   |Capture Falling Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if falling latch happened when the corresponding CAPFIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPFIF.
+     * |[11]    |CFIFOV3   |Capture Falling Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if falling latch happened when the corresponding CAPFIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPFIF.
+     * |[12]    |CFIFOV4   |Capture Falling Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if falling latch happened when the corresponding CAPFIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPFIF.
+     * |[13]    |CFIFOV5   |Capture Falling Interrupt Flag Overrun Status (Read Only)
+     * |        |          |This flag indicates if falling latch happened when the corresponding CAPFIF is 1
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |Note: This bit will be cleared automatically when user clear corresponding CAPFIF.
+     * @var BPWM_T::CAPIEN
+     * Offset: 0x250  BPWM Capture Interrupt Enable Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[5:0]   |CAPRIENn  |BPWM Capture Rising Latch Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture rising edge latch interrupt Disabled.
+     * |        |          |1 = Capture rising edge latch interrupt Enabled.
+     * |[13:8]  |CAPFIENn  |BPWM Capture Falling Latch Interrupt Enable Bits
+     * |        |          |Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = Capture falling edge latch interrupt Disabled.
+     * |        |          |1 = Capture falling edge latch interrupt Enabled.
+     * @var BPWM_T::CAPIF
+     * Offset: 0x254  BPWM Capture Interrupt Flag Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CAPRIF0   |BPWM Capture Rising Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture rising latch condition happened.
+     * |        |          |1 = Capture rising latch condition happened, this flag will be set to high.
+     * |[1]     |CAPRIF1   |BPWM Capture Rising Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture rising latch condition happened.
+     * |        |          |1 = Capture rising latch condition happened, this flag will be set to high.
+     * |[2]     |CAPRIF2   |BPWM Capture Rising Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture rising latch condition happened.
+     * |        |          |1 = Capture rising latch condition happened, this flag will be set to high.
+     * |[3]     |CAPRIF3   |BPWM Capture Rising Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture rising latch condition happened.
+     * |        |          |1 = Capture rising latch condition happened, this flag will be set to high.
+     * |[4]     |CAPRIF4   |BPWM Capture Rising Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture rising latch condition happened.
+     * |        |          |1 = Capture rising latch condition happened, this flag will be set to high.
+     * |[5]     |CAPRIF5   |BPWM Capture Rising Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture rising latch condition happened.
+     * |        |          |1 = Capture rising latch condition happened, this flag will be set to high.
+     * |[8]     |CAPFIF0   |BPWM Capture Falling Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture falling latch condition happened.
+     * |        |          |1 = Capture falling latch condition happened, this flag will be set to high.
+     * |[9]     |CAPFIF1   |BPWM Capture Falling Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture falling latch condition happened.
+     * |        |          |1 = Capture falling latch condition happened, this flag will be set to high.
+     * |[10]    |CAPFIF2   |BPWM Capture Falling Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture falling latch condition happened.
+     * |        |          |1 = Capture falling latch condition happened, this flag will be set to high.
+     * |[11]    |CAPFIF3   |BPWM Capture Falling Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture falling latch condition happened.
+     * |        |          |1 = Capture falling latch condition happened, this flag will be set to high.
+     * |[12]    |CAPFIF4   |BPWM Capture Falling Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture falling latch condition happened.
+     * |        |          |1 = Capture falling latch condition happened, this flag will be set to high.
+     * |[13]    |CAPFIF5   |BPWM Capture Falling Latch Interrupt Flag
+     * |        |          |This bit is writing 1 to clear. Each bit n controls the corresponding BPWM channel n.
+     * |        |          |0 = No capture falling latch condition happened.
+     * |        |          |1 = Capture falling latch condition happened, this flag will be set to high.
+     * @var BPWM_T::PBUF
+     * Offset: 0x304  BPWM PERIOD Buffer
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |PBUF      |BPWM Period Buffer (Read Only)
+     * |        |          |Used as PERIOD active register.
+     * @var BPWM_T::CMPBUF[6]
+     * Offset: 0x31C  BPWM CMPDAT 0~5 Buffer
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |CMPBUF    |BPWM Comparator Buffer (Read Only)
+     * |        |          |Used as CMP active register.
+     */
+    __IO uint32_t CTL0;                  /*!< [0x0000] BPWM Control Register 0                                          */
+    __IO uint32_t CTL1;                  /*!< [0x0004] BPWM Control Register 1                                          */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE0[2];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t CLKSRC;                /*!< [0x0010] BPWM Clock Source Register                                       */
+    __IO uint32_t CLKPSC;                /*!< [0x0014] BPWM Clock Prescale Register                                     */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE1[2];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t CNTEN;                 /*!< [0x0020] BPWM Counter Enable Register                                     */
+    __IO uint32_t CNTCLR;                /*!< [0x0024] BPWM Clear Counter Register                                      */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE2[2];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t PERIOD;                /*!< [0x0030] BPWM Period Register                                             */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE3[7];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t CMPDAT[6];             /*!< [0x0050] BPWM Comparator Register 0~5                                     */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE4[10];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t CNT;                   /*!< [0x0090] BPWM Counter Register                                            */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE5[7];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t WGCTL0;                /*!< [0x00b0] BPWM Generation Register 0                                       */
+    __IO uint32_t WGCTL1;                /*!< [0x00b4] BPWM Generation Register 1                                       */
+    __IO uint32_t MSKEN;                 /*!< [0x00b8] BPWM Mask Enable Register                                        */
+    __IO uint32_t MSK;                   /*!< [0x00bc] BPWM Mask Data Register                                          */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE6[5];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t POLCTL;                /*!< [0x00d4] BPWM Pin Polar Inverse Register                                  */
+    __IO uint32_t POEN;                  /*!< [0x00d8] BPWM Output Enable Register                                      */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE7[1];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t INTEN;                 /*!< [0x00e0] BPWM Interrupt Enable Register                                   */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE8[1];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t INTSTS;                /*!< [0x00e8] BPWM Interrupt Flag Register                                     */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE9[3];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t EADCTS0;               /*!< [0x00f8] BPWM Trigger EADC Source Select Register 0                       */
+    __IO uint32_t EADCTS1;               /*!< [0x00fc] BPWM Trigger EADC Source Select Register 1                       */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE10[4];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t SSCTL;                 /*!< [0x0110] BPWM Synchronous Start Control Register                          */
+    __O  uint32_t SSTRG;                 /*!< [0x0114] BPWM Synchronous Start Trigger Register                          */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE11[2];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t STATUS;                /*!< [0x0120] BPWM Status Register                                             */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE12[55];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t CAPINEN;               /*!< [0x0200] BPWM Capture Input Enable Register                               */
+    __IO uint32_t CAPCTL;                /*!< [0x0204] BPWM Capture Control Register                                    */
+    __I  uint32_t CAPSTS;                /*!< [0x0208] BPWM Capture Status Register                                     */
+    BCAPDAT_T CAPDAT[6];                  /*!< [0x020C] BPWM Rising and Falling Capture Data Register 0~5                */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE13[5];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t CAPIEN;                /*!< [0x0250] BPWM Capture Interrupt Enable Register                           */
+    __IO uint32_t CAPIF;                 /*!< [0x0254] BPWM Capture Interrupt Flag Register                             */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE14[43];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t PBUF;                  /*!< [0x0304] BPWM PERIOD Buffer                                               */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE15[5];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t CMPBUF[6];             /*!< [0x031c] BPWM CMPDAT 0~5 Buffer                                           */
+
+} BPWM_T;
+
+/**
+    @addtogroup BPWM_CONST BPWM Bit Field Definition
+    Constant Definitions for BPWM Controller
+@{ */
+
+#define BPWM_CTL0_CTRLD0_Pos             (0)                                               /*!< BPWM_T::CTL0: CTRLD0 Position          */
+#define BPWM_CTL0_CTRLD0_Msk             (0x1ul << BPWM_CTL0_CTRLD0_Pos)                   /*!< BPWM_T::CTL0: CTRLD0 Mask              */
+
+#define BPWM_CTL0_CTRLD1_Pos             (1)                                               /*!< BPWM_T::CTL0: CTRLD1 Position          */
+#define BPWM_CTL0_CTRLD1_Msk             (0x1ul << BPWM_CTL0_CTRLD1_Pos)                   /*!< BPWM_T::CTL0: CTRLD1 Mask              */
+
+#define BPWM_CTL0_CTRLD2_Pos             (2)                                               /*!< BPWM_T::CTL0: CTRLD2 Position          */
+#define BPWM_CTL0_CTRLD2_Msk             (0x1ul << BPWM_CTL0_CTRLD2_Pos)                   /*!< BPWM_T::CTL0: CTRLD2 Mask              */
+
+#define BPWM_CTL0_CTRLD3_Pos             (3)                                               /*!< BPWM_T::CTL0: CTRLD3 Position          */
+#define BPWM_CTL0_CTRLD3_Msk             (0x1ul << BPWM_CTL0_CTRLD3_Pos)                   /*!< BPWM_T::CTL0: CTRLD3 Mask              */
+
+#define BPWM_CTL0_CTRLD4_Pos             (4)                                               /*!< BPWM_T::CTL0: CTRLD4 Position          */
+#define BPWM_CTL0_CTRLD4_Msk             (0x1ul << BPWM_CTL0_CTRLD4_Pos)                   /*!< BPWM_T::CTL0: CTRLD4 Mask              */
+
+#define BPWM_CTL0_CTRLD5_Pos             (5)                                               /*!< BPWM_T::CTL0: CTRLD5 Position          */
+#define BPWM_CTL0_CTRLD5_Msk             (0x1ul << BPWM_CTL0_CTRLD5_Pos)                   /*!< BPWM_T::CTL0: CTRLD5 Mask              */
+
+#define BPWM_CTL0_IMMLDEN0_Pos           (16)                                              /*!< BPWM_T::CTL0: IMMLDEN0 Position        */
+#define BPWM_CTL0_IMMLDEN0_Msk           (0x1ul << BPWM_CTL0_IMMLDEN0_Pos)                 /*!< BPWM_T::CTL0: IMMLDEN0 Mask            */
+
+#define BPWM_CTL0_IMMLDEN1_Pos           (17)                                              /*!< BPWM_T::CTL0: IMMLDEN1 Position        */
+#define BPWM_CTL0_IMMLDEN1_Msk           (0x1ul << BPWM_CTL0_IMMLDEN1_Pos)                 /*!< BPWM_T::CTL0: IMMLDEN1 Mask            */
+
+#define BPWM_CTL0_IMMLDEN2_Pos           (18)                                              /*!< BPWM_T::CTL0: IMMLDEN2 Position        */
+#define BPWM_CTL0_IMMLDEN2_Msk           (0x1ul << BPWM_CTL0_IMMLDEN2_Pos)                 /*!< BPWM_T::CTL0: IMMLDEN2 Mask            */
+
+#define BPWM_CTL0_IMMLDEN3_Pos           (19)                                              /*!< BPWM_T::CTL0: IMMLDEN3 Position        */
+#define BPWM_CTL0_IMMLDEN3_Msk           (0x1ul << BPWM_CTL0_IMMLDEN3_Pos)                 /*!< BPWM_T::CTL0: IMMLDEN3 Mask            */
+
+#define BPWM_CTL0_IMMLDEN4_Pos           (20)                                              /*!< BPWM_T::CTL0: IMMLDEN4 Position        */
+#define BPWM_CTL0_IMMLDEN4_Msk           (0x1ul << BPWM_CTL0_IMMLDEN4_Pos)                 /*!< BPWM_T::CTL0: IMMLDEN4 Mask            */
+
+#define BPWM_CTL0_IMMLDEN5_Pos           (21)                                              /*!< BPWM_T::CTL0: IMMLDEN5 Position        */
+#define BPWM_CTL0_IMMLDEN5_Msk           (0x1ul << BPWM_CTL0_IMMLDEN5_Pos)                 /*!< BPWM_T::CTL0: IMMLDEN5 Mask            */
+
+#define BPWM_CTL0_DBGHALT_Pos            (30)                                              /*!< BPWM_T::CTL0: DBGHALT Position         */
+#define BPWM_CTL0_DBGHALT_Msk            (0x1ul << BPWM_CTL0_DBGHALT_Pos)                  /*!< BPWM_T::CTL0: DBGHALT Mask             */
+
+#define BPWM_CTL0_DBGTRIOFF_Pos          (31)                                              /*!< BPWM_T::CTL0: DBGTRIOFF Position       */
+#define BPWM_CTL0_DBGTRIOFF_Msk          (0x1ul << BPWM_CTL0_DBGTRIOFF_Pos)                /*!< BPWM_T::CTL0: DBGTRIOFF Mask           */
+
+#define BPWM_CTL1_CNTTYPE0_Pos           (0)                                               /*!< BPWM_T::CTL1: CNTTYPE0 Position        */
+#define BPWM_CTL1_CNTTYPE0_Msk           (0x3ul << BPWM_CTL1_CNTTYPE0_Pos)                 /*!< BPWM_T::CTL1: CNTTYPE0 Mask            */
+
+#define BPWM_CLKSRC_ECLKSRC0_Pos         (0)                                               /*!< BPWM_T::CLKSRC: ECLKSRC0 Position      */
+#define BPWM_CLKSRC_ECLKSRC0_Msk         (0x7ul << BPWM_CLKSRC_ECLKSRC0_Pos)               /*!< BPWM_T::CLKSRC: ECLKSRC0 Mask          */
+
+#define BPWM_CLKPSC_CLKPSC_Pos           (0)                                               /*!< BPWM_T::CLKPSC: CLKPSC Position        */
+#define BPWM_CLKPSC_CLKPSC_Msk           (0xffful << BPWM_CLKPSC_CLKPSC_Pos)               /*!< BPWM_T::CLKPSC: CLKPSC Mask            */
+
+#define BPWM_CNTEN_CNTEN0_Pos            (0)                                               /*!< BPWM_T::CNTEN: CNTEN0 Position         */
+#define BPWM_CNTEN_CNTEN0_Msk            (0x1ul << BPWM_CNTEN_CNTEN0_Pos)                  /*!< BPWM_T::CNTEN: CNTEN0 Mask             */
+
+#define BPWM_CNTCLR_CNTCLR0_Pos          (0)                                               /*!< BPWM_T::CNTCLR: CNTCLR0 Position       */
+#define BPWM_CNTCLR_CNTCLR0_Msk          (0x1ul << BPWM_CNTCLR_CNTCLR0_Pos)                /*!< BPWM_T::CNTCLR: CNTCLR0 Mask           */
+
+#define BPWM_PERIOD_PERIOD_Pos           (0)                                               /*!< BPWM_T::PERIOD: PERIOD Position        */
+#define BPWM_PERIOD_PERIOD_Msk           (0xfffful << BPWM_PERIOD_PERIOD_Pos)              /*!< BPWM_T::PERIOD: PERIOD Mask            */
+
+#define BPWM_CMPDAT0_CMPDAT_Pos          (0)                                               /*!< BPWM_T::CMPDAT0: CMPDAT Position       */
+#define BPWM_CMPDAT0_CMPDAT_Msk          (0xfffful << BPWM_CMPDAT0_CMPDAT_Pos)             /*!< BPWM_T::CMPDAT0: CMPDAT Mask           */
+
+#define BPWM_CMPDAT1_CMPDAT_Pos          (0)                                               /*!< BPWM_T::CMPDAT1: CMPDAT Position       */
+#define BPWM_CMPDAT1_CMPDAT_Msk          (0xfffful << BPWM_CMPDAT1_CMPDAT_Pos)             /*!< BPWM_T::CMPDAT1: CMPDAT Mask           */
+
+#define BPWM_CMPDAT2_CMPDAT_Pos          (0)                                               /*!< BPWM_T::CMPDAT2: CMPDAT Position       */
+#define BPWM_CMPDAT2_CMPDAT_Msk          (0xfffful << BPWM_CMPDAT2_CMPDAT_Pos)             /*!< BPWM_T::CMPDAT2: CMPDAT Mask           */
+
+#define BPWM_CMPDAT3_CMPDAT_Pos          (0)                                               /*!< BPWM_T::CMPDAT3: CMPDAT Position       */
+#define BPWM_CMPDAT3_CMPDAT_Msk          (0xfffful << BPWM_CMPDAT3_CMPDAT_Pos)             /*!< BPWM_T::CMPDAT3: CMPDAT Mask           */
+
+#define BPWM_CMPDAT4_CMPDAT_Pos          (0)                                               /*!< BPWM_T::CMPDAT4: CMPDAT Position       */
+#define BPWM_CMPDAT4_CMPDAT_Msk          (0xfffful << BPWM_CMPDAT4_CMPDAT_Pos)             /*!< BPWM_T::CMPDAT4: CMPDAT Mask           */
+
+#define BPWM_CMPDAT5_CMPDAT_Pos          (0)                                               /*!< BPWM_T::CMPDAT5: CMPDAT Position       */
+#define BPWM_CMPDAT5_CMPDAT_Msk          (0xfffful << BPWM_CMPDAT5_CMPDAT_Pos)             /*!< BPWM_T::CMPDAT5: CMPDAT Mask           */
+
+#define BPWM_CNT_CNT_Pos                 (0)                                               /*!< BPWM_T::CNT: CNT Position              */
+#define BPWM_CNT_CNT_Msk                 (0xfffful << BPWM_CNT_CNT_Pos)                    /*!< BPWM_T::CNT: CNT Mask                  */
+
+#define BPWM_CNT_DIRF_Pos                (16)                                              /*!< BPWM_T::CNT: DIRF Position             */
+#define BPWM_CNT_DIRF_Msk                (0x1ul << BPWM_CNT_DIRF_Pos)                      /*!< BPWM_T::CNT: DIRF Mask                 */
+
+#define BPWM_WGCTL0_ZPCTL0_Pos           (0)                                               /*!< BPWM_T::WGCTL0: ZPCTL0 Position        */
+#define BPWM_WGCTL0_ZPCTL0_Msk           (0x3ul << BPWM_WGCTL0_ZPCTL0_Pos)                 /*!< BPWM_T::WGCTL0: ZPCTL0 Mask            */
+
+#define BPWM_WGCTL0_ZPCTL1_Pos           (2)                                               /*!< BPWM_T::WGCTL0: ZPCTL1 Position        */
+#define BPWM_WGCTL0_ZPCTL1_Msk           (0x3ul << BPWM_WGCTL0_ZPCTL1_Pos)                 /*!< BPWM_T::WGCTL0: ZPCTL1 Mask            */
+
+#define BPWM_WGCTL0_ZPCTL2_Pos           (4)                                               /*!< BPWM_T::WGCTL0: ZPCTL2 Position        */
+#define BPWM_WGCTL0_ZPCTL2_Msk           (0x3ul << BPWM_WGCTL0_ZPCTL2_Pos)                 /*!< BPWM_T::WGCTL0: ZPCTL2 Mask            */
+
+#define BPWM_WGCTL0_ZPCTL3_Pos           (6)                                               /*!< BPWM_T::WGCTL0: ZPCTL3 Position        */
+#define BPWM_WGCTL0_ZPCTL3_Msk           (0x3ul << BPWM_WGCTL0_ZPCTL3_Pos)                 /*!< BPWM_T::WGCTL0: ZPCTL3 Mask            */
+
+#define BPWM_WGCTL0_ZPCTL4_Pos           (8)                                               /*!< BPWM_T::WGCTL0: ZPCTL4 Position        */
+#define BPWM_WGCTL0_ZPCTL4_Msk           (0x3ul << BPWM_WGCTL0_ZPCTL4_Pos)                 /*!< BPWM_T::WGCTL0: ZPCTL4 Mask            */
+
+#define BPWM_WGCTL0_ZPCTL5_Pos           (10)                                              /*!< BPWM_T::WGCTL0: ZPCTL5 Position        */
+#define BPWM_WGCTL0_ZPCTL5_Msk           (0x3ul << BPWM_WGCTL0_ZPCTL5_Pos)                 /*!< BPWM_T::WGCTL0: ZPCTL5 Mask            */
+
+#define BPWM_WGCTL0_ZPCTLn_Pos           (0)                                               /*!< BPWM_T::WGCTL0: ZPCTLn Position        */
+#define BPWM_WGCTL0_ZPCTLn_Msk           (0xffful << BPWM_WGCTL0_ZPCTLn_Pos)               /*!< BPWM_T::WGCTL0: ZPCTLn Mask            */
+
+#define BPWM_WGCTL0_PRDPCTL0_Pos         (16)                                              /*!< BPWM_T::WGCTL0: PRDPCTL0 Position      */
+#define BPWM_WGCTL0_PRDPCTL0_Msk         (0x3ul << BPWM_WGCTL0_PRDPCTL0_Pos)               /*!< BPWM_T::WGCTL0: PRDPCTL0 Mask          */
+
+#define BPWM_WGCTL0_PRDPCTL1_Pos         (18)                                              /*!< BPWM_T::WGCTL0: PRDPCTL1 Position      */
+#define BPWM_WGCTL0_PRDPCTL1_Msk         (0x3ul << BPWM_WGCTL0_PRDPCTL1_Pos)               /*!< BPWM_T::WGCTL0: PRDPCTL1 Mask          */
+
+#define BPWM_WGCTL0_PRDPCTL2_Pos         (20)                                              /*!< BPWM_T::WGCTL0: PRDPCTL2 Position      */
+#define BPWM_WGCTL0_PRDPCTL2_Msk         (0x3ul << BPWM_WGCTL0_PRDPCTL2_Pos)               /*!< BPWM_T::WGCTL0: PRDPCTL2 Mask          */
+
+#define BPWM_WGCTL0_PRDPCTL3_Pos         (22)                                              /*!< BPWM_T::WGCTL0: PRDPCTL3 Position      */
+#define BPWM_WGCTL0_PRDPCTL3_Msk         (0x3ul << BPWM_WGCTL0_PRDPCTL3_Pos)               /*!< BPWM_T::WGCTL0: PRDPCTL3 Mask          */
+
+#define BPWM_WGCTL0_PRDPCTL4_Pos         (24)                                              /*!< BPWM_T::WGCTL0: PRDPCTL4 Position      */
+#define BPWM_WGCTL0_PRDPCTL4_Msk         (0x3ul << BPWM_WGCTL0_PRDPCTL4_Pos)               /*!< BPWM_T::WGCTL0: PRDPCTL4 Mask          */
+
+#define BPWM_WGCTL0_PRDPCTL5_Pos         (26)                                              /*!< BPWM_T::WGCTL0: PRDPCTL5 Position      */
+#define BPWM_WGCTL0_PRDPCTL5_Msk         (0x3ul << BPWM_WGCTL0_PRDPCTL5_Pos)               /*!< BPWM_T::WGCTL0: PRDPCTL5 Mask          */
+
+#define BPWM_WGCTL0_PRDPCTLn_Pos         (16)                                              /*!< BPWM_T::WGCTL0: PRDPCTLn Position      */
+#define BPWM_WGCTL0_PRDPCTLn_Msk         (0xffful << BPWM_WGCTL0_PRDPCTLn_Pos)             /*!< BPWM_T::WGCTL0: PRDPCTLn Mask          */
+
+#define BPWM_WGCTL1_CMPUCTL0_Pos         (0)                                               /*!< BPWM_T::WGCTL1: CMPUCTL0 Position      */
+#define BPWM_WGCTL1_CMPUCTL0_Msk         (0x3ul << BPWM_WGCTL1_CMPUCTL0_Pos)               /*!< BPWM_T::WGCTL1: CMPUCTL0 Mask          */
+
+#define BPWM_WGCTL1_CMPUCTL1_Pos         (2)                                               /*!< BPWM_T::WGCTL1: CMPUCTL1 Position      */
+#define BPWM_WGCTL1_CMPUCTL1_Msk         (0x3ul << BPWM_WGCTL1_CMPUCTL1_Pos)               /*!< BPWM_T::WGCTL1: CMPUCTL1 Mask          */
+
+#define BPWM_WGCTL1_CMPUCTL2_Pos         (4)                                               /*!< BPWM_T::WGCTL1: CMPUCTL2 Position      */
+#define BPWM_WGCTL1_CMPUCTL2_Msk         (0x3ul << BPWM_WGCTL1_CMPUCTL2_Pos)               /*!< BPWM_T::WGCTL1: CMPUCTL2 Mask          */
+
+#define BPWM_WGCTL1_CMPUCTL3_Pos         (6)                                               /*!< BPWM_T::WGCTL1: CMPUCTL3 Position      */
+#define BPWM_WGCTL1_CMPUCTL3_Msk         (0x3ul << BPWM_WGCTL1_CMPUCTL3_Pos)               /*!< BPWM_T::WGCTL1: CMPUCTL3 Mask          */
+
+#define BPWM_WGCTL1_CMPUCTL4_Pos         (8)                                               /*!< BPWM_T::WGCTL1: CMPUCTL4 Position      */
+#define BPWM_WGCTL1_CMPUCTL4_Msk         (0x3ul << BPWM_WGCTL1_CMPUCTL4_Pos)               /*!< BPWM_T::WGCTL1: CMPUCTL4 Mask          */
+
+#define BPWM_WGCTL1_CMPUCTL5_Pos         (10)                                              /*!< BPWM_T::WGCTL1: CMPUCTL5 Position      */
+#define BPWM_WGCTL1_CMPUCTL5_Msk         (0x3ul << BPWM_WGCTL1_CMPUCTL5_Pos)               /*!< BPWM_T::WGCTL1: CMPUCTL5 Mask          */
+
+#define BPWM_WGCTL1_CMPUCTLn_Pos         (0)                                               /*!< BPWM_T::WGCTL1: CMPUCTLn Position      */
+#define BPWM_WGCTL1_CMPUCTLn_Msk         (0xffful << BPWM_WGCTL1_CMPUCTLn_Pos)             /*!< BPWM_T::WGCTL1: CMPUCTLn Mask          */
+
+#define BPWM_WGCTL1_CMPDCTL0_Pos         (16)                                              /*!< BPWM_T::WGCTL1: CMPDCTL0 Position      */
+#define BPWM_WGCTL1_CMPDCTL0_Msk         (0x3ul << BPWM_WGCTL1_CMPDCTL0_Pos)               /*!< BPWM_T::WGCTL1: CMPDCTL0 Mask          */
+
+#define BPWM_WGCTL1_CMPDCTL1_Pos         (18)                                              /*!< BPWM_T::WGCTL1: CMPDCTL1 Position      */
+#define BPWM_WGCTL1_CMPDCTL1_Msk         (0x3ul << BPWM_WGCTL1_CMPDCTL1_Pos)               /*!< BPWM_T::WGCTL1: CMPDCTL1 Mask          */
+
+#define BPWM_WGCTL1_CMPDCTL2_Pos         (20)                                              /*!< BPWM_T::WGCTL1: CMPDCTL2 Position      */
+#define BPWM_WGCTL1_CMPDCTL2_Msk         (0x3ul << BPWM_WGCTL1_CMPDCTL2_Pos)               /*!< BPWM_T::WGCTL1: CMPDCTL2 Mask          */
+
+#define BPWM_WGCTL1_CMPDCTL3_Pos         (22)                                              /*!< BPWM_T::WGCTL1: CMPDCTL3 Position      */
+#define BPWM_WGCTL1_CMPDCTL3_Msk         (0x3ul << BPWM_WGCTL1_CMPDCTL3_Pos)               /*!< BPWM_T::WGCTL1: CMPDCTL3 Mask          */
+
+#define BPWM_WGCTL1_CMPDCTL4_Pos         (24)                                              /*!< BPWM_T::WGCTL1: CMPDCTL4 Position      */
+#define BPWM_WGCTL1_CMPDCTL4_Msk         (0x3ul << BPWM_WGCTL1_CMPDCTL4_Pos)               /*!< BPWM_T::WGCTL1: CMPDCTL4 Mask          */
+
+#define BPWM_WGCTL1_CMPDCTL5_Pos         (26)                                              /*!< BPWM_T::WGCTL1: CMPDCTL5 Position      */
+#define BPWM_WGCTL1_CMPDCTL5_Msk         (0x3ul << BPWM_WGCTL1_CMPDCTL5_Pos)               /*!< BPWM_T::WGCTL1: CMPDCTL5 Mask          */
+
+#define BPWM_WGCTL1_CMPDCTLn_Pos         (16)                                              /*!< BPWM_T::WGCTL1: CMPDCTLn Position      */
+#define BPWM_WGCTL1_CMPDCTLn_Msk         (0xffful << BPWM_WGCTL1_CMPDCTLn_Pos)             /*!< BPWM_T::WGCTL1: CMPDCTLn Mask          */
+
+#define BPWM_MSKEN_MSKEN0_Pos            (0)                                               /*!< BPWM_T::MSKEN: MSKEN0 Position         */
+#define BPWM_MSKEN_MSKEN0_Msk            (0x1ul << BPWM_MSKEN_MSKEN0_Pos)                  /*!< BPWM_T::MSKEN: MSKEN0 Mask             */
+
+#define BPWM_MSKEN_MSKEN1_Pos            (1)                                               /*!< BPWM_T::MSKEN: MSKEN1 Position         */
+#define BPWM_MSKEN_MSKEN1_Msk            (0x1ul << BPWM_MSKEN_MSKEN1_Pos)                  /*!< BPWM_T::MSKEN: MSKEN1 Mask             */
+
+#define BPWM_MSKEN_MSKEN2_Pos            (2)                                               /*!< BPWM_T::MSKEN: MSKEN2 Position         */
+#define BPWM_MSKEN_MSKEN2_Msk            (0x1ul << BPWM_MSKEN_MSKEN2_Pos)                  /*!< BPWM_T::MSKEN: MSKEN2 Mask             */
+
+#define BPWM_MSKEN_MSKEN3_Pos            (3)                                               /*!< BPWM_T::MSKEN: MSKEN3 Position         */
+#define BPWM_MSKEN_MSKEN3_Msk            (0x1ul << BPWM_MSKEN_MSKEN3_Pos)                  /*!< BPWM_T::MSKEN: MSKEN3 Mask             */
+
+#define BPWM_MSKEN_MSKEN4_Pos            (4)                                               /*!< BPWM_T::MSKEN: MSKEN4 Position         */
+#define BPWM_MSKEN_MSKEN4_Msk            (0x1ul << BPWM_MSKEN_MSKEN4_Pos)                  /*!< BPWM_T::MSKEN: MSKEN4 Mask             */
+
+#define BPWM_MSKEN_MSKEN5_Pos            (5)                                               /*!< BPWM_T::MSKEN: MSKEN5 Position         */
+#define BPWM_MSKEN_MSKEN5_Msk            (0x1ul << BPWM_MSKEN_MSKEN5_Pos)                  /*!< BPWM_T::MSKEN: MSKEN5 Mask             */
+
+#define BPWM_MSKEN_MSKENn_Pos            (0)                                               /*!< BPWM_T::MSKEN: MSKENn Position         */
+#define BPWM_MSKEN_MSKENn_Msk            (0x3ful << BPWM_MSKEN_MSKENn_Pos)                 /*!< BPWM_T::MSKEN: MSKENn Mask             */
+
+#define BPWM_MSK_MSKDAT0_Pos             (0)                                               /*!< BPWM_T::MSK: MSKDAT0 Position          */
+#define BPWM_MSK_MSKDAT0_Msk             (0x1ul << BPWM_MSK_MSKDAT0_Pos)                   /*!< BPWM_T::MSK: MSKDAT0 Mask              */
+
+#define BPWM_MSK_MSKDAT1_Pos             (1)                                               /*!< BPWM_T::MSK: MSKDAT1 Position          */
+#define BPWM_MSK_MSKDAT1_Msk             (0x1ul << BPWM_MSK_MSKDAT1_Pos)                   /*!< BPWM_T::MSK: MSKDAT1 Mask              */
+
+#define BPWM_MSK_MSKDAT2_Pos             (2)                                               /*!< BPWM_T::MSK: MSKDAT2 Position          */
+#define BPWM_MSK_MSKDAT2_Msk             (0x1ul << BPWM_MSK_MSKDAT2_Pos)                   /*!< BPWM_T::MSK: MSKDAT2 Mask              */
+
+#define BPWM_MSK_MSKDAT3_Pos             (3)                                               /*!< BPWM_T::MSK: MSKDAT3 Position          */
+#define BPWM_MSK_MSKDAT3_Msk             (0x1ul << BPWM_MSK_MSKDAT3_Pos)                   /*!< BPWM_T::MSK: MSKDAT3 Mask              */
+
+#define BPWM_MSK_MSKDAT4_Pos             (4)                                               /*!< BPWM_T::MSK: MSKDAT4 Position          */
+#define BPWM_MSK_MSKDAT4_Msk             (0x1ul << BPWM_MSK_MSKDAT4_Pos)                   /*!< BPWM_T::MSK: MSKDAT4 Mask              */
+
+#define BPWM_MSK_MSKDAT5_Pos             (5)                                               /*!< BPWM_T::MSK: MSKDAT5 Position          */
+#define BPWM_MSK_MSKDAT5_Msk             (0x1ul << BPWM_MSK_MSKDAT5_Pos)                   /*!< BPWM_T::MSK: MSKDAT5 Mask              */
+
+#define BPWM_MSK_MSKDATn_Pos             (0)                                               /*!< BPWM_T::MSK: MSKDATn Position          */
+#define BPWM_MSK_MSKDATn_Msk             (0x3ful << BPWM_MSK_MSKDATn_Pos)                  /*!< BPWM_T::MSK: MSKDATn Mask              */
+
+#define BPWM_POLCTL_PINV0_Pos            (0)                                               /*!< BPWM_T::POLCTL: PINV0 Position         */
+#define BPWM_POLCTL_PINV0_Msk            (0x1ul << BPWM_POLCTL_PINV0_Pos)                  /*!< BPWM_T::POLCTL: PINV0 Mask             */
+
+#define BPWM_POLCTL_PINV1_Pos            (1)                                               /*!< BPWM_T::POLCTL: PINV1 Position         */
+#define BPWM_POLCTL_PINV1_Msk            (0x1ul << BPWM_POLCTL_PINV1_Pos)                  /*!< BPWM_T::POLCTL: PINV1 Mask             */
+
+#define BPWM_POLCTL_PINV2_Pos            (2)                                               /*!< BPWM_T::POLCTL: PINV2 Position         */
+#define BPWM_POLCTL_PINV2_Msk            (0x1ul << BPWM_POLCTL_PINV2_Pos)                  /*!< BPWM_T::POLCTL: PINV2 Mask             */
+
+#define BPWM_POLCTL_PINV3_Pos            (3)                                               /*!< BPWM_T::POLCTL: PINV3 Position         */
+#define BPWM_POLCTL_PINV3_Msk            (0x1ul << BPWM_POLCTL_PINV3_Pos)                  /*!< BPWM_T::POLCTL: PINV3 Mask             */
+
+#define BPWM_POLCTL_PINV4_Pos            (4)                                               /*!< BPWM_T::POLCTL: PINV4 Position         */
+#define BPWM_POLCTL_PINV4_Msk            (0x1ul << BPWM_POLCTL_PINV4_Pos)                  /*!< BPWM_T::POLCTL: PINV4 Mask             */
+
+#define BPWM_POLCTL_PINV5_Pos            (5)                                               /*!< BPWM_T::POLCTL: PINV5 Position         */
+#define BPWM_POLCTL_PINV5_Msk            (0x1ul << BPWM_POLCTL_PINV5_Pos)                  /*!< BPWM_T::POLCTL: PINV5 Mask             */
+
+#define BPWM_POLCTL_PINVn_Pos            (0)                                               /*!< BPWM_T::POLCTL: PINVn Position         */
+#define BPWM_POLCTL_PINVn_Msk            (0x3ful << BPWM_POLCTL_PINVn_Pos)                 /*!< BPWM_T::POLCTL: PINVn Mask             */
+
+#define BPWM_POEN_POEN0_Pos              (0)                                               /*!< BPWM_T::POEN: POEN0 Position           */
+#define BPWM_POEN_POEN0_Msk              (0x1ul << BPWM_POEN_POEN0_Pos)                    /*!< BPWM_T::POEN: POEN0 Mask               */
+
+#define BPWM_POEN_POEN1_Pos              (1)                                               /*!< BPWM_T::POEN: POEN1 Position           */
+#define BPWM_POEN_POEN1_Msk              (0x1ul << BPWM_POEN_POEN1_Pos)                    /*!< BPWM_T::POEN: POEN1 Mask               */
+
+#define BPWM_POEN_POEN2_Pos              (2)                                               /*!< BPWM_T::POEN: POEN2 Position           */
+#define BPWM_POEN_POEN2_Msk              (0x1ul << BPWM_POEN_POEN2_Pos)                    /*!< BPWM_T::POEN: POEN2 Mask               */
+
+#define BPWM_POEN_POEN3_Pos              (3)                                               /*!< BPWM_T::POEN: POEN3 Position           */
+#define BPWM_POEN_POEN3_Msk              (0x1ul << BPWM_POEN_POEN3_Pos)                    /*!< BPWM_T::POEN: POEN3 Mask               */
+
+#define BPWM_POEN_POEN4_Pos              (4)                                               /*!< BPWM_T::POEN: POEN4 Position           */
+#define BPWM_POEN_POEN4_Msk              (0x1ul << BPWM_POEN_POEN4_Pos)                    /*!< BPWM_T::POEN: POEN4 Mask               */
+
+#define BPWM_POEN_POEN5_Pos              (5)                                               /*!< BPWM_T::POEN: POEN5 Position           */
+#define BPWM_POEN_POEN5_Msk              (0x1ul << BPWM_POEN_POEN5_Pos)                    /*!< BPWM_T::POEN: POEN5 Mask               */
+
+#define BPWM_POEN_POENn_Pos              (0)                                               /*!< BPWM_T::POEN: POENn Position           */
+#define BPWM_POEN_POENn_Msk              (0x3ful << BPWM_POEN_POENn_Pos)                   /*!< BPWM_T::POEN: POENn Mask               */
+
+#define BPWM_INTEN_ZIEN0_Pos             (0)                                               /*!< BPWM_T::INTEN: ZIEN0 Position          */
+#define BPWM_INTEN_ZIEN0_Msk             (0x1ul << BPWM_INTEN_ZIEN0_Pos)                   /*!< BPWM_T::INTEN: ZIEN0 Mask              */
+
+#define BPWM_INTEN_PIEN0_Pos             (8)                                               /*!< BPWM_T::INTEN: PIEN0 Position          */
+#define BPWM_INTEN_PIEN0_Msk             (0x1ul << BPWM_INTEN_PIEN0_Pos)                   /*!< BPWM_T::INTEN: PIEN0 Mask              */
+
+#define BPWM_INTEN_CMPUIEN0_Pos          (16)                                              /*!< BPWM_T::INTEN: CMPUIEN0 Position       */
+#define BPWM_INTEN_CMPUIEN0_Msk          (0x1ul << BPWM_INTEN_CMPUIEN0_Pos)                /*!< BPWM_T::INTEN: CMPUIEN0 Mask           */
+
+#define BPWM_INTEN_CMPUIEN1_Pos          (17)                                              /*!< BPWM_T::INTEN: CMPUIEN1 Position       */
+#define BPWM_INTEN_CMPUIEN1_Msk          (0x1ul << BPWM_INTEN_CMPUIEN1_Pos)                /*!< BPWM_T::INTEN: CMPUIEN1 Mask           */
+
+#define BPWM_INTEN_CMPUIEN2_Pos          (18)                                              /*!< BPWM_T::INTEN: CMPUIEN2 Position       */
+#define BPWM_INTEN_CMPUIEN2_Msk          (0x1ul << BPWM_INTEN_CMPUIEN2_Pos)                /*!< BPWM_T::INTEN: CMPUIEN2 Mask           */
+
+#define BPWM_INTEN_CMPUIEN3_Pos          (19)                                              /*!< BPWM_T::INTEN: CMPUIEN3 Position       */
+#define BPWM_INTEN_CMPUIEN3_Msk          (0x1ul << BPWM_INTEN_CMPUIEN3_Pos)                /*!< BPWM_T::INTEN: CMPUIEN3 Mask           */
+
+#define BPWM_INTEN_CMPUIEN4_Pos          (20)                                              /*!< BPWM_T::INTEN: CMPUIEN4 Position       */
+#define BPWM_INTEN_CMPUIEN4_Msk          (0x1ul << BPWM_INTEN_CMPUIEN4_Pos)                /*!< BPWM_T::INTEN: CMPUIEN4 Mask           */
+
+#define BPWM_INTEN_CMPUIEN5_Pos          (21)                                              /*!< BPWM_T::INTEN: CMPUIEN5 Position       */
+#define BPWM_INTEN_CMPUIEN5_Msk          (0x1ul << BPWM_INTEN_CMPUIEN5_Pos)                /*!< BPWM_T::INTEN: CMPUIEN5 Mask           */
+
+#define BPWM_INTEN_CMPUIENn_Pos          (16)                                              /*!< BPWM_T::INTEN: CMPUIENn Position       */
+#define BPWM_INTEN_CMPUIENn_Msk          (0x3ful << BPWM_INTEN_CMPUIENn_Pos)               /*!< BPWM_T::INTEN: CMPUIENn Mask           */
+
+#define BPWM_INTEN_CMPDIEN0_Pos          (24)                                              /*!< BPWM_T::INTEN: CMPDIEN0 Position       */
+#define BPWM_INTEN_CMPDIEN0_Msk          (0x1ul << BPWM_INTEN_CMPDIEN0_Pos)                /*!< BPWM_T::INTEN: CMPDIEN0 Mask           */
+
+#define BPWM_INTEN_CMPDIEN1_Pos          (25)                                              /*!< BPWM_T::INTEN: CMPDIEN1 Position       */
+#define BPWM_INTEN_CMPDIEN1_Msk          (0x1ul << BPWM_INTEN_CMPDIEN1_Pos)                /*!< BPWM_T::INTEN: CMPDIEN1 Mask           */
+
+#define BPWM_INTEN_CMPDIEN2_Pos          (26)                                              /*!< BPWM_T::INTEN: CMPDIEN2 Position       */
+#define BPWM_INTEN_CMPDIEN2_Msk          (0x1ul << BPWM_INTEN_CMPDIEN2_Pos)                /*!< BPWM_T::INTEN: CMPDIEN2 Mask           */
+
+#define BPWM_INTEN_CMPDIEN3_Pos          (27)                                              /*!< BPWM_T::INTEN: CMPDIEN3 Position       */
+#define BPWM_INTEN_CMPDIEN3_Msk          (0x1ul << BPWM_INTEN_CMPDIEN3_Pos)                /*!< BPWM_T::INTEN: CMPDIEN3 Mask           */
+
+#define BPWM_INTEN_CMPDIEN4_Pos          (28)                                              /*!< BPWM_T::INTEN: CMPDIEN4 Position       */
+#define BPWM_INTEN_CMPDIEN4_Msk          (0x1ul << BPWM_INTEN_CMPDIEN4_Pos)                /*!< BPWM_T::INTEN: CMPDIEN4 Mask           */
+
+#define BPWM_INTEN_CMPDIEN5_Pos          (29)                                              /*!< BPWM_T::INTEN: CMPDIEN5 Position       */
+#define BPWM_INTEN_CMPDIEN5_Msk          (0x1ul << BPWM_INTEN_CMPDIEN5_Pos)                /*!< BPWM_T::INTEN: CMPDIEN5 Mask           */
+
+#define BPWM_INTEN_CMPDIENn_Pos          (24)                                              /*!< BPWM_T::INTEN: CMPDIENn Position       */
+#define BPWM_INTEN_CMPDIENn_Msk          (0x3ful << BPWM_INTEN_CMPDIENn_Pos)               /*!< BPWM_T::INTEN: CMPDIENn Mask           */
+
+#define BPWM_INTSTS_ZIF0_Pos             (0)                                               /*!< BPWM_T::INTSTS: ZIF0 Position          */
+#define BPWM_INTSTS_ZIF0_Msk             (0x1ul << BPWM_INTSTS_ZIF0_Pos)                   /*!< BPWM_T::INTSTS: ZIF0 Mask              */
+
+#define BPWM_INTSTS_PIF0_Pos             (8)                                               /*!< BPWM_T::INTSTS: PIF0 Position          */
+#define BPWM_INTSTS_PIF0_Msk             (0x1ul << BPWM_INTSTS_PIF0_Pos)                   /*!< BPWM_T::INTSTS: PIF0 Mask              */
+
+#define BPWM_INTSTS_CMPUIF0_Pos          (16)                                              /*!< BPWM_T::INTSTS: CMPUIF0 Position       */
+#define BPWM_INTSTS_CMPUIF0_Msk          (0x1ul << BPWM_INTSTS_CMPUIF0_Pos)                /*!< BPWM_T::INTSTS: CMPUIF0 Mask           */
+
+#define BPWM_INTSTS_CMPUIF1_Pos          (17)                                              /*!< BPWM_T::INTSTS: CMPUIF1 Position       */
+#define BPWM_INTSTS_CMPUIF1_Msk          (0x1ul << BPWM_INTSTS_CMPUIF1_Pos)                /*!< BPWM_T::INTSTS: CMPUIF1 Mask           */
+
+#define BPWM_INTSTS_CMPUIF2_Pos          (18)                                              /*!< BPWM_T::INTSTS: CMPUIF2 Position       */
+#define BPWM_INTSTS_CMPUIF2_Msk          (0x1ul << BPWM_INTSTS_CMPUIF2_Pos)                /*!< BPWM_T::INTSTS: CMPUIF2 Mask           */
+
+#define BPWM_INTSTS_CMPUIF3_Pos          (19)                                              /*!< BPWM_T::INTSTS: CMPUIF3 Position       */
+#define BPWM_INTSTS_CMPUIF3_Msk          (0x1ul << BPWM_INTSTS_CMPUIF3_Pos)                /*!< BPWM_T::INTSTS: CMPUIF3 Mask           */
+
+#define BPWM_INTSTS_CMPUIF4_Pos          (20)                                              /*!< BPWM_T::INTSTS: CMPUIF4 Position       */
+#define BPWM_INTSTS_CMPUIF4_Msk          (0x1ul << BPWM_INTSTS_CMPUIF4_Pos)                /*!< BPWM_T::INTSTS: CMPUIF4 Mask           */
+
+#define BPWM_INTSTS_CMPUIF5_Pos          (21)                                              /*!< BPWM_T::INTSTS: CMPUIF5 Position       */
+#define BPWM_INTSTS_CMPUIF5_Msk          (0x1ul << BPWM_INTSTS_CMPUIF5_Pos)                /*!< BPWM_T::INTSTS: CMPUIF5 Mask           */
+
+#define BPWM_INTSTS_CMPUIFn_Pos          (16)                                              /*!< BPWM_T::INTSTS: CMPUIFn Position       */
+#define BPWM_INTSTS_CMPUIFn_Msk          (0x3ful << BPWM_INTSTS_CMPUIFn_Pos)               /*!< BPWM_T::INTSTS: CMPUIFn Mask           */
+
+#define BPWM_INTSTS_CMPDIF0_Pos          (24)                                              /*!< BPWM_T::INTSTS: CMPDIF0 Position       */
+#define BPWM_INTSTS_CMPDIF0_Msk          (0x1ul << BPWM_INTSTS_CMPDIF0_Pos)                /*!< BPWM_T::INTSTS: CMPDIF0 Mask           */
+
+#define BPWM_INTSTS_CMPDIF1_Pos          (25)                                              /*!< BPWM_T::INTSTS: CMPDIF1 Position       */
+#define BPWM_INTSTS_CMPDIF1_Msk          (0x1ul << BPWM_INTSTS_CMPDIF1_Pos)                /*!< BPWM_T::INTSTS: CMPDIF1 Mask           */
+
+#define BPWM_INTSTS_CMPDIF2_Pos          (26)                                              /*!< BPWM_T::INTSTS: CMPDIF2 Position       */
+#define BPWM_INTSTS_CMPDIF2_Msk          (0x1ul << BPWM_INTSTS_CMPDIF2_Pos)                /*!< BPWM_T::INTSTS: CMPDIF2 Mask           */
+
+#define BPWM_INTSTS_CMPDIF3_Pos          (27)                                              /*!< BPWM_T::INTSTS: CMPDIF3 Position       */
+#define BPWM_INTSTS_CMPDIF3_Msk          (0x1ul << BPWM_INTSTS_CMPDIF3_Pos)                /*!< BPWM_T::INTSTS: CMPDIF3 Mask           */
+
+#define BPWM_INTSTS_CMPDIF4_Pos          (28)                                              /*!< BPWM_T::INTSTS: CMPDIF4 Position       */
+#define BPWM_INTSTS_CMPDIF4_Msk          (0x1ul << BPWM_INTSTS_CMPDIF4_Pos)                /*!< BPWM_T::INTSTS: CMPDIF4 Mask           */
+
+#define BPWM_INTSTS_CMPDIF5_Pos          (29)                                              /*!< BPWM_T::INTSTS: CMPDIF5 Position       */
+#define BPWM_INTSTS_CMPDIF5_Msk          (0x1ul << BPWM_INTSTS_CMPDIF5_Pos)                /*!< BPWM_T::INTSTS: CMPDIF5 Mask           */
+
+#define BPWM_INTSTS_CMPDIFn_Pos          (24)                                              /*!< BPWM_T::INTSTS: CMPDIFn Position       */
+#define BPWM_INTSTS_CMPDIFn_Msk          (0x3ful << BPWM_INTSTS_CMPDIFn_Pos)               /*!< BPWM_T::INTSTS: CMPDIFn Mask           */
+
+#define BPWM_EADCTS0_TRGSEL0_Pos         (0)                                               /*!< BPWM_T::EADCTS0: TRGSEL0 Position      */
+#define BPWM_EADCTS0_TRGSEL0_Msk         (0xful << BPWM_EADCTS0_TRGSEL0_Pos)               /*!< BPWM_T::EADCTS0: TRGSEL0 Mask          */
+
+#define BPWM_EADCTS0_TRGEN0_Pos          (7)                                               /*!< BPWM_T::EADCTS0: TRGEN0 Position       */
+#define BPWM_EADCTS0_TRGEN0_Msk          (0x1ul << BPWM_EADCTS0_TRGEN0_Pos)                /*!< BPWM_T::EADCTS0: TRGEN0 Mask           */
+
+#define BPWM_EADCTS0_TRGSEL1_Pos         (8)                                               /*!< BPWM_T::EADCTS0: TRGSEL1 Position      */
+#define BPWM_EADCTS0_TRGSEL1_Msk         (0xful << BPWM_EADCTS0_TRGSEL1_Pos)               /*!< BPWM_T::EADCTS0: TRGSEL1 Mask          */
+
+#define BPWM_EADCTS0_TRGEN1_Pos          (15)                                              /*!< BPWM_T::EADCTS0: TRGEN1 Position       */
+#define BPWM_EADCTS0_TRGEN1_Msk          (0x1ul << BPWM_EADCTS0_TRGEN1_Pos)                /*!< BPWM_T::EADCTS0: TRGEN1 Mask           */
+
+#define BPWM_EADCTS0_TRGSEL2_Pos         (16)                                              /*!< BPWM_T::EADCTS0: TRGSEL2 Position      */
+#define BPWM_EADCTS0_TRGSEL2_Msk         (0xful << BPWM_EADCTS0_TRGSEL2_Pos)               /*!< BPWM_T::EADCTS0: TRGSEL2 Mask          */
+
+#define BPWM_EADCTS0_TRGEN2_Pos          (23)                                              /*!< BPWM_T::EADCTS0: TRGEN2 Position       */
+#define BPWM_EADCTS0_TRGEN2_Msk          (0x1ul << BPWM_EADCTS0_TRGEN2_Pos)                /*!< BPWM_T::EADCTS0: TRGEN2 Mask           */
+
+#define BPWM_EADCTS0_TRGSEL3_Pos         (24)                                              /*!< BPWM_T::EADCTS0: TRGSEL3 Position      */
+#define BPWM_EADCTS0_TRGSEL3_Msk         (0xful << BPWM_EADCTS0_TRGSEL3_Pos)               /*!< BPWM_T::EADCTS0: TRGSEL3 Mask          */
+
+#define BPWM_EADCTS0_TRGEN3_Pos          (31)                                              /*!< BPWM_T::EADCTS0: TRGEN3 Position       */
+#define BPWM_EADCTS0_TRGEN3_Msk          (0x1ul << BPWM_EADCTS0_TRGEN3_Pos)                /*!< BPWM_T::EADCTS0: TRGEN3 Mask           */
+
+#define BPWM_EADCTS1_TRGSEL4_Pos         (0)                                               /*!< BPWM_T::EADCTS1: TRGSEL4 Position      */
+#define BPWM_EADCTS1_TRGSEL4_Msk         (0xful << BPWM_EADCTS1_TRGSEL4_Pos)               /*!< BPWM_T::EADCTS1: TRGSEL4 Mask          */
+
+#define BPWM_EADCTS1_TRGEN4_Pos          (7)                                               /*!< BPWM_T::EADCTS1: TRGEN4 Position       */
+#define BPWM_EADCTS1_TRGEN4_Msk          (0x1ul << BPWM_EADCTS1_TRGEN4_Pos)                /*!< BPWM_T::EADCTS1: TRGEN4 Mask           */
+
+#define BPWM_EADCTS1_TRGSEL5_Pos         (8)                                               /*!< BPWM_T::EADCTS1: TRGSEL5 Position      */
+#define BPWM_EADCTS1_TRGSEL5_Msk         (0xful << BPWM_EADCTS1_TRGSEL5_Pos)               /*!< BPWM_T::EADCTS1: TRGSEL5 Mask          */
+
+#define BPWM_EADCTS1_TRGEN5_Pos          (15)                                              /*!< BPWM_T::EADCTS1: TRGEN5 Position       */
+#define BPWM_EADCTS1_TRGEN5_Msk          (0x1ul << BPWM_EADCTS1_TRGEN5_Pos)                /*!< BPWM_T::EADCTS1: TRGEN5 Mask           */
+
+#define BPWM_SSCTL_SSEN0_Pos             (0)                                               /*!< BPWM_T::SSCTL: SSEN0 Position          */
+#define BPWM_SSCTL_SSEN0_Msk             (0x1ul << BPWM_SSCTL_SSEN0_Pos)                   /*!< BPWM_T::SSCTL: SSEN0 Mask              */
+
+#define BPWM_SSCTL_SSRC_Pos              (8)                                               /*!< BPWM_T::SSCTL: SSRC Position           */
+#define BPWM_SSCTL_SSRC_Msk              (0x3ul << BPWM_SSCTL_SSRC_Pos)                    /*!< BPWM_T::SSCTL: SSRC Mask               */
+
+#define BPWM_SSTRG_CNTSEN_Pos            (0)                                               /*!< BPWM_T::SSTRG: CNTSEN Position         */
+#define BPWM_SSTRG_CNTSEN_Msk            (0x1ul << BPWM_SSTRG_CNTSEN_Pos)                  /*!< BPWM_T::SSTRG: CNTSEN Mask             */
+
+#define BPWM_STATUS_CNTMAX0_Pos          (0)                                               /*!< BPWM_T::STATUS: CNTMAX0 Position       */
+#define BPWM_STATUS_CNTMAX0_Msk          (0x1ul << BPWM_STATUS_CNTMAX0_Pos)                /*!< BPWM_T::STATUS: CNTMAX0 Mask           */
+
+#define BPWM_STATUS_EADCTRG0_Pos         (16)                                              /*!< BPWM_T::STATUS: EADCTRG0 Position      */
+#define BPWM_STATUS_EADCTRG0_Msk         (0x1ul << BPWM_STATUS_EADCTRG0_Pos)               /*!< BPWM_T::STATUS: EADCTRG0 Mask          */
+
+#define BPWM_STATUS_EADCTRG1_Pos         (17)                                              /*!< BPWM_T::STATUS: EADCTRG1 Position      */
+#define BPWM_STATUS_EADCTRG1_Msk         (0x1ul << BPWM_STATUS_EADCTRG1_Pos)               /*!< BPWM_T::STATUS: EADCTRG1 Mask          */
+
+#define BPWM_STATUS_EADCTRG2_Pos         (18)                                              /*!< BPWM_T::STATUS: EADCTRG2 Position      */
+#define BPWM_STATUS_EADCTRG2_Msk         (0x1ul << BPWM_STATUS_EADCTRG2_Pos)               /*!< BPWM_T::STATUS: EADCTRG2 Mask          */
+
+#define BPWM_STATUS_EADCTRG3_Pos         (19)                                              /*!< BPWM_T::STATUS: EADCTRG3 Position      */
+#define BPWM_STATUS_EADCTRG3_Msk         (0x1ul << BPWM_STATUS_EADCTRG3_Pos)               /*!< BPWM_T::STATUS: EADCTRG3 Mask          */
+
+#define BPWM_STATUS_EADCTRG4_Pos         (20)                                              /*!< BPWM_T::STATUS: EADCTRG4 Position      */
+#define BPWM_STATUS_EADCTRG4_Msk         (0x1ul << BPWM_STATUS_EADCTRG4_Pos)               /*!< BPWM_T::STATUS: EADCTRG4 Mask          */
+
+#define BPWM_STATUS_EADCTRG5_Pos         (21)                                              /*!< BPWM_T::STATUS: EADCTRG5 Position      */
+#define BPWM_STATUS_EADCTRG5_Msk         (0x1ul << BPWM_STATUS_EADCTRG5_Pos)               /*!< BPWM_T::STATUS: EADCTRG5 Mask          */
+
+#define BPWM_STATUS_EADCTRGn_Pos         (16)                                              /*!< BPWM_T::STATUS: EADCTRGn Position       */
+#define BPWM_STATUS_EADCTRGn_Msk         (0x3ful << BPWM_STATUS_EADCTRGn_Pos)               /*!< BPWM_T::STATUS: EADCTRGn Mask           */
+
+#define BPWM_CAPINEN_CAPINEN0_Pos        (0)                                               /*!< BPWM_T::CAPINEN: CAPINEN0 Position     */
+#define BPWM_CAPINEN_CAPINEN0_Msk        (0x1ul << BPWM_CAPINEN_CAPINEN0_Pos)              /*!< BPWM_T::CAPINEN: CAPINEN0 Mask         */
+
+#define BPWM_CAPINEN_CAPINEN1_Pos        (1)                                               /*!< BPWM_T::CAPINEN: CAPINEN1 Position     */
+#define BPWM_CAPINEN_CAPINEN1_Msk        (0x1ul << BPWM_CAPINEN_CAPINEN1_Pos)              /*!< BPWM_T::CAPINEN: CAPINEN1 Mask         */
+
+#define BPWM_CAPINEN_CAPINEN2_Pos        (2)                                               /*!< BPWM_T::CAPINEN: CAPINEN2 Position     */
+#define BPWM_CAPINEN_CAPINEN2_Msk        (0x1ul << BPWM_CAPINEN_CAPINEN2_Pos)              /*!< BPWM_T::CAPINEN: CAPINEN2 Mask         */
+
+#define BPWM_CAPINEN_CAPINEN3_Pos        (3)                                               /*!< BPWM_T::CAPINEN: CAPINEN3 Position     */
+#define BPWM_CAPINEN_CAPINEN3_Msk        (0x1ul << BPWM_CAPINEN_CAPINEN3_Pos)              /*!< BPWM_T::CAPINEN: CAPINEN3 Mask         */
+
+#define BPWM_CAPINEN_CAPINEN4_Pos        (4)                                               /*!< BPWM_T::CAPINEN: CAPINEN4 Position     */
+#define BPWM_CAPINEN_CAPINEN4_Msk        (0x1ul << BPWM_CAPINEN_CAPINEN4_Pos)              /*!< BPWM_T::CAPINEN: CAPINEN4 Mask         */
+
+#define BPWM_CAPINEN_CAPINEN5_Pos        (5)                                               /*!< BPWM_T::CAPINEN: CAPINEN5 Position     */
+#define BPWM_CAPINEN_CAPINEN5_Msk        (0x1ul << BPWM_CAPINEN_CAPINEN5_Pos)              /*!< BPWM_T::CAPINEN: CAPINEN5 Mask         */
+
+#define BPWM_CAPINEN_CAPINENn_Pos        (0)                                               /*!< BPWM_T::CAPINEN: CAPINENn Position     */
+#define BPWM_CAPINEN_CAPINENn_Msk        (0x3ful << BPWM_CAPINEN_CAPINENn_Pos)             /*!< BPWM_T::CAPINEN: CAPINENn Mask         */
+
+#define BPWM_CAPCTL_CAPEN0_Pos           (0)                                               /*!< BPWM_T::CAPCTL: CAPEN0 Position        */
+#define BPWM_CAPCTL_CAPEN0_Msk           (0x1ul << BPWM_CAPCTL_CAPEN0_Pos)                 /*!< BPWM_T::CAPCTL: CAPEN0 Mask            */
+
+#define BPWM_CAPCTL_CAPEN1_Pos           (1)                                               /*!< BPWM_T::CAPCTL: CAPEN1 Position        */
+#define BPWM_CAPCTL_CAPEN1_Msk           (0x1ul << BPWM_CAPCTL_CAPEN1_Pos)                 /*!< BPWM_T::CAPCTL: CAPEN1 Mask            */
+
+#define BPWM_CAPCTL_CAPEN2_Pos           (2)                                               /*!< BPWM_T::CAPCTL: CAPEN2 Position        */
+#define BPWM_CAPCTL_CAPEN2_Msk           (0x1ul << BPWM_CAPCTL_CAPEN2_Pos)                 /*!< BPWM_T::CAPCTL: CAPEN2 Mask            */
+
+#define BPWM_CAPCTL_CAPEN3_Pos           (3)                                               /*!< BPWM_T::CAPCTL: CAPEN3 Position        */
+#define BPWM_CAPCTL_CAPEN3_Msk           (0x1ul << BPWM_CAPCTL_CAPEN3_Pos)                 /*!< BPWM_T::CAPCTL: CAPEN3 Mask            */
+
+#define BPWM_CAPCTL_CAPEN4_Pos           (4)                                               /*!< BPWM_T::CAPCTL: CAPEN4 Position        */
+#define BPWM_CAPCTL_CAPEN4_Msk           (0x1ul << BPWM_CAPCTL_CAPEN4_Pos)                 /*!< BPWM_T::CAPCTL: CAPEN4 Mask            */
+
+#define BPWM_CAPCTL_CAPEN5_Pos           (5)                                               /*!< BPWM_T::CAPCTL: CAPEN5 Position        */
+#define BPWM_CAPCTL_CAPEN5_Msk           (0x1ul << BPWM_CAPCTL_CAPEN5_Pos)                 /*!< BPWM_T::CAPCTL: CAPEN5 Mask            */
+
+#define BPWM_CAPCTL_CAPENn_Pos           (0)                                               /*!< BPWM_T::CAPCTL: CAPENn Position        */
+#define BPWM_CAPCTL_CAPENn_Msk           (0x3ful << BPWM_CAPCTL_CAPENn_Pos)                /*!< BPWM_T::CAPCTL: CAPENn Mask            */
+
+#define BPWM_CAPCTL_CAPINV0_Pos          (8)                                               /*!< BPWM_T::CAPCTL: CAPINV0 Position       */
+#define BPWM_CAPCTL_CAPINV0_Msk          (0x1ul << BPWM_CAPCTL_CAPINV0_Pos)                /*!< BPWM_T::CAPCTL: CAPINV0 Mask           */
+
+#define BPWM_CAPCTL_CAPINV1_Pos          (9)                                               /*!< BPWM_T::CAPCTL: CAPINV1 Position       */
+#define BPWM_CAPCTL_CAPINV1_Msk          (0x1ul << BPWM_CAPCTL_CAPINV1_Pos)                /*!< BPWM_T::CAPCTL: CAPINV1 Mask           */
+
+#define BPWM_CAPCTL_CAPINV2_Pos          (10)                                              /*!< BPWM_T::CAPCTL: CAPINV2 Position       */
+#define BPWM_CAPCTL_CAPINV2_Msk          (0x1ul << BPWM_CAPCTL_CAPINV2_Pos)                /*!< BPWM_T::CAPCTL: CAPINV2 Mask           */
+
+#define BPWM_CAPCTL_CAPINV3_Pos          (11)                                              /*!< BPWM_T::CAPCTL: CAPINV3 Position       */
+#define BPWM_CAPCTL_CAPINV3_Msk          (0x1ul << BPWM_CAPCTL_CAPINV3_Pos)                /*!< BPWM_T::CAPCTL: CAPINV3 Mask           */
+
+#define BPWM_CAPCTL_CAPINV4_Pos          (12)                                              /*!< BPWM_T::CAPCTL: CAPINV4 Position       */
+#define BPWM_CAPCTL_CAPINV4_Msk          (0x1ul << BPWM_CAPCTL_CAPINV4_Pos)                /*!< BPWM_T::CAPCTL: CAPINV4 Mask           */
+
+#define BPWM_CAPCTL_CAPINV5_Pos          (13)                                              /*!< BPWM_T::CAPCTL: CAPINV5 Position       */
+#define BPWM_CAPCTL_CAPINV5_Msk          (0x1ul << BPWM_CAPCTL_CAPINV5_Pos)                /*!< BPWM_T::CAPCTL: CAPINV5 Mask           */
+
+#define BPWM_CAPCTL_CAPINVn_Pos          (8)                                               /*!< BPWM_T::CAPCTL: CAPINVn Position       */
+#define BPWM_CAPCTL_CAPINVn_Msk          (0x3ful << BPWM_CAPCTL_CAPINVn_Pos)               /*!< BPWM_T::CAPCTL: CAPINVn Mask           */
+
+#define BPWM_CAPCTL_RCRLDEN0_Pos         (16)                                              /*!< BPWM_T::CAPCTL: RCRLDEN0 Position      */
+#define BPWM_CAPCTL_RCRLDEN0_Msk         (0x1ul << BPWM_CAPCTL_RCRLDEN0_Pos)               /*!< BPWM_T::CAPCTL: RCRLDEN0 Mask          */
+
+#define BPWM_CAPCTL_RCRLDEN1_Pos         (17)                                              /*!< BPWM_T::CAPCTL: RCRLDEN1 Position      */
+#define BPWM_CAPCTL_RCRLDEN1_Msk         (0x1ul << BPWM_CAPCTL_RCRLDEN1_Pos)               /*!< BPWM_T::CAPCTL: RCRLDEN1 Mask          */
+
+#define BPWM_CAPCTL_RCRLDEN2_Pos         (18)                                              /*!< BPWM_T::CAPCTL: RCRLDEN2 Position      */
+#define BPWM_CAPCTL_RCRLDEN2_Msk         (0x1ul << BPWM_CAPCTL_RCRLDEN2_Pos)               /*!< BPWM_T::CAPCTL: RCRLDEN2 Mask          */
+
+#define BPWM_CAPCTL_RCRLDEN3_Pos         (19)                                              /*!< BPWM_T::CAPCTL: RCRLDEN3 Position      */
+#define BPWM_CAPCTL_RCRLDEN3_Msk         (0x1ul << BPWM_CAPCTL_RCRLDEN3_Pos)               /*!< BPWM_T::CAPCTL: RCRLDEN3 Mask          */
+
+#define BPWM_CAPCTL_RCRLDEN4_Pos         (20)                                              /*!< BPWM_T::CAPCTL: RCRLDEN4 Position      */
+#define BPWM_CAPCTL_RCRLDEN4_Msk         (0x1ul << BPWM_CAPCTL_RCRLDEN4_Pos)               /*!< BPWM_T::CAPCTL: RCRLDEN4 Mask          */
+
+#define BPWM_CAPCTL_RCRLDEN5_Pos         (21)                                              /*!< BPWM_T::CAPCTL: RCRLDEN5 Position      */
+#define BPWM_CAPCTL_RCRLDEN5_Msk         (0x1ul << BPWM_CAPCTL_RCRLDEN5_Pos)               /*!< BPWM_T::CAPCTL: RCRLDEN5 Mask          */
+
+#define BPWM_CAPCTL_RCRLDENn_Pos         (16)                                              /*!< BPWM_T::CAPCTL: RCRLDENn Position      */
+#define BPWM_CAPCTL_RCRLDENn_Msk         (0x3ful << BPWM_CAPCTL_RCRLDENn_Pos)              /*!< BPWM_T::CAPCTL: RCRLDENn Mask          */
+
+#define BPWM_CAPCTL_FCRLDEN0_Pos         (24)                                              /*!< BPWM_T::CAPCTL: FCRLDEN0 Position      */
+#define BPWM_CAPCTL_FCRLDEN0_Msk         (0x1ul << BPWM_CAPCTL_FCRLDEN0_Pos)               /*!< BPWM_T::CAPCTL: FCRLDEN0 Mask          */
+
+#define BPWM_CAPCTL_FCRLDEN1_Pos         (25)                                              /*!< BPWM_T::CAPCTL: FCRLDEN1 Position      */
+#define BPWM_CAPCTL_FCRLDEN1_Msk         (0x1ul << BPWM_CAPCTL_FCRLDEN1_Pos)               /*!< BPWM_T::CAPCTL: FCRLDEN1 Mask          */
+
+#define BPWM_CAPCTL_FCRLDEN2_Pos         (26)                                              /*!< BPWM_T::CAPCTL: FCRLDEN2 Position      */
+#define BPWM_CAPCTL_FCRLDEN2_Msk         (0x1ul << BPWM_CAPCTL_FCRLDEN2_Pos)               /*!< BPWM_T::CAPCTL: FCRLDEN2 Mask          */
+
+#define BPWM_CAPCTL_FCRLDEN3_Pos         (27)                                              /*!< BPWM_T::CAPCTL: FCRLDEN3 Position      */
+#define BPWM_CAPCTL_FCRLDEN3_Msk         (0x1ul << BPWM_CAPCTL_FCRLDEN3_Pos)               /*!< BPWM_T::CAPCTL: FCRLDEN3 Mask          */
+
+#define BPWM_CAPCTL_FCRLDEN4_Pos         (28)                                              /*!< BPWM_T::CAPCTL: FCRLDEN4 Position      */
+#define BPWM_CAPCTL_FCRLDEN4_Msk         (0x1ul << BPWM_CAPCTL_FCRLDEN4_Pos)               /*!< BPWM_T::CAPCTL: FCRLDEN4 Mask          */
+
+#define BPWM_CAPCTL_FCRLDEN5_Pos         (29)                                              /*!< BPWM_T::CAPCTL: FCRLDEN5 Position      */
+#define BPWM_CAPCTL_FCRLDEN5_Msk         (0x1ul << BPWM_CAPCTL_FCRLDEN5_Pos)               /*!< BPWM_T::CAPCTL: FCRLDEN5 Mask          */
+
+#define BPWM_CAPCTL_FCRLDENn_Pos         (24)                                              /*!< BPWM_T::CAPCTL: FCRLDENn Position      */
+#define BPWM_CAPCTL_FCRLDENn_Msk         (0x3ful << BPWM_CAPCTL_FCRLDENn_Pos)              /*!< BPWM_T::CAPCTL: FCRLDENn Mask          */
+
+#define BPWM_CAPSTS_CRIFOV0_Pos          (0)                                               /*!< BPWM_T::CAPSTS: CRIFOV0 Position       */
+#define BPWM_CAPSTS_CRIFOV0_Msk          (0x1ul << BPWM_CAPSTS_CRIFOV0_Pos)                /*!< BPWM_T::CAPSTS: CRIFOV0 Mask           */
+
+#define BPWM_CAPSTS_CRIFOV1_Pos          (1)                                               /*!< BPWM_T::CAPSTS: CRIFOV1 Position       */
+#define BPWM_CAPSTS_CRIFOV1_Msk          (0x1ul << BPWM_CAPSTS_CRIFOV1_Pos)                /*!< BPWM_T::CAPSTS: CRIFOV1 Mask           */
+
+#define BPWM_CAPSTS_CRIFOV2_Pos          (2)                                               /*!< BPWM_T::CAPSTS: CRIFOV2 Position       */
+#define BPWM_CAPSTS_CRIFOV2_Msk          (0x1ul << BPWM_CAPSTS_CRIFOV2_Pos)                /*!< BPWM_T::CAPSTS: CRIFOV2 Mask           */
+
+#define BPWM_CAPSTS_CRIFOV3_Pos          (3)                                               /*!< BPWM_T::CAPSTS: CRIFOV3 Position       */
+#define BPWM_CAPSTS_CRIFOV3_Msk          (0x1ul << BPWM_CAPSTS_CRIFOV3_Pos)                /*!< BPWM_T::CAPSTS: CRIFOV3 Mask           */
+
+#define BPWM_CAPSTS_CRIFOV4_Pos          (4)                                               /*!< BPWM_T::CAPSTS: CRIFOV4 Position       */
+#define BPWM_CAPSTS_CRIFOV4_Msk          (0x1ul << BPWM_CAPSTS_CRIFOV4_Pos)                /*!< BPWM_T::CAPSTS: CRIFOV4 Mask           */
+
+#define BPWM_CAPSTS_CRIFOV5_Pos          (5)                                               /*!< BPWM_T::CAPSTS: CRIFOV5 Position       */
+#define BPWM_CAPSTS_CRIFOV5_Msk          (0x1ul << BPWM_CAPSTS_CRIFOV5_Pos)                /*!< BPWM_T::CAPSTS: CRIFOV5 Mask           */
+
+#define BPWM_CAPSTS_CRIFOVn_Pos          (0)                                               /*!< BPWM_T::CAPSTS: CRIFOVn Position       */
+#define BPWM_CAPSTS_CRIFOVn_Msk          (0x3ful << BPWM_CAPSTS_CRIFOVn_Pos)               /*!< BPWM_T::CAPSTS: CRIFOVn Mask           */
+
+#define BPWM_CAPSTS_CFIFOV0_Pos          (8)                                               /*!< BPWM_T::CAPSTS: CFIFOV0 Position       */
+#define BPWM_CAPSTS_CFIFOV0_Msk          (0x1ul << BPWM_CAPSTS_CFIFOV0_Pos)                /*!< BPWM_T::CAPSTS: CFIFOV0 Mask           */
+
+#define BPWM_CAPSTS_CFIFOV1_Pos          (9)                                               /*!< BPWM_T::CAPSTS: CFIFOV1 Position       */
+#define BPWM_CAPSTS_CFIFOV1_Msk          (0x1ul << BPWM_CAPSTS_CFIFOV1_Pos)                /*!< BPWM_T::CAPSTS: CFIFOV1 Mask           */
+
+#define BPWM_CAPSTS_CFIFOV2_Pos          (10)                                              /*!< BPWM_T::CAPSTS: CFIFOV2 Position       */
+#define BPWM_CAPSTS_CFIFOV2_Msk          (0x1ul << BPWM_CAPSTS_CFIFOV2_Pos)                /*!< BPWM_T::CAPSTS: CFIFOV2 Mask           */
+
+#define BPWM_CAPSTS_CFIFOV3_Pos          (11)                                              /*!< BPWM_T::CAPSTS: CFIFOV3 Position       */
+#define BPWM_CAPSTS_CFIFOV3_Msk          (0x1ul << BPWM_CAPSTS_CFIFOV3_Pos)                /*!< BPWM_T::CAPSTS: CFIFOV3 Mask           */
+
+#define BPWM_CAPSTS_CFIFOV4_Pos          (12)                                              /*!< BPWM_T::CAPSTS: CFIFOV4 Position       */
+#define BPWM_CAPSTS_CFIFOV4_Msk          (0x1ul << BPWM_CAPSTS_CFIFOV4_Pos)                /*!< BPWM_T::CAPSTS: CFIFOV4 Mask           */
+
+#define BPWM_CAPSTS_CFIFOV5_Pos          (13)                                              /*!< BPWM_T::CAPSTS: CFIFOV5 Position       */
+#define BPWM_CAPSTS_CFIFOV5_Msk          (0x1ul << BPWM_CAPSTS_CFIFOV5_Pos)                /*!< BPWM_T::CAPSTS: CFIFOV5 Mask           */
+
+#define BPWM_CAPSTS_CFIFOVn_Pos          (8)                                               /*!< BPWM_T::CAPSTS: CFIFOVn Position       */
+#define BPWM_CAPSTS_CFIFOVn_Msk          (0x3ful << BPWM_CAPSTS_CFIFOVn_Pos)               /*!< BPWM_T::CAPSTS: CFIFOVn Mask           */
+
+#define BPWM_RCAPDAT0_RCAPDAT_Pos        (0)                                               /*!< BPWM_T::RCAPDAT0: RCAPDAT Position     */
+#define BPWM_RCAPDAT0_RCAPDAT_Msk        (0xfffful << BPWM_RCAPDAT0_RCAPDAT_Pos)           /*!< BPWM_T::RCAPDAT0: RCAPDAT Mask         */
+
+#define BPWM_FCAPDAT0_FCAPDAT_Pos        (0)                                               /*!< BPWM_T::FCAPDAT0: FCAPDAT Position     */
+#define BPWM_FCAPDAT0_FCAPDAT_Msk        (0xfffful << BPWM_FCAPDAT0_FCAPDAT_Pos)           /*!< BPWM_T::FCAPDAT0: FCAPDAT Mask         */
+
+#define BPWM_RCAPDAT1_RCAPDAT_Pos        (0)                                               /*!< BPWM_T::RCAPDAT1: RCAPDAT Position     */
+#define BPWM_RCAPDAT1_RCAPDAT_Msk        (0xfffful << BPWM_RCAPDAT1_RCAPDAT_Pos)           /*!< BPWM_T::RCAPDAT1: RCAPDAT Mask         */
+
+#define BPWM_FCAPDAT1_FCAPDAT_Pos        (0)                                               /*!< BPWM_T::FCAPDAT1: FCAPDAT Position     */
+#define BPWM_FCAPDAT1_FCAPDAT_Msk        (0xfffful << BPWM_FCAPDAT1_FCAPDAT_Pos)           /*!< BPWM_T::FCAPDAT1: FCAPDAT Mask         */
+
+#define BPWM_RCAPDAT2_RCAPDAT_Pos        (0)                                               /*!< BPWM_T::RCAPDAT2: RCAPDAT Position     */
+#define BPWM_RCAPDAT2_RCAPDAT_Msk        (0xfffful << BPWM_RCAPDAT2_RCAPDAT_Pos)           /*!< BPWM_T::RCAPDAT2: RCAPDAT Mask         */
+
+#define BPWM_FCAPDAT2_FCAPDAT_Pos        (0)                                               /*!< BPWM_T::FCAPDAT2: FCAPDAT Position     */
+#define BPWM_FCAPDAT2_FCAPDAT_Msk        (0xfffful << BPWM_FCAPDAT2_FCAPDAT_Pos)           /*!< BPWM_T::FCAPDAT2: FCAPDAT Mask         */
+
+#define BPWM_RCAPDAT3_RCAPDAT_Pos        (0)                                               /*!< BPWM_T::RCAPDAT3: RCAPDAT Position     */
+#define BPWM_RCAPDAT3_RCAPDAT_Msk        (0xfffful << BPWM_RCAPDAT3_RCAPDAT_Pos)           /*!< BPWM_T::RCAPDAT3: RCAPDAT Mask         */
+
+#define BPWM_FCAPDAT3_FCAPDAT_Pos        (0)                                               /*!< BPWM_T::FCAPDAT3: FCAPDAT Position     */
+#define BPWM_FCAPDAT3_FCAPDAT_Msk        (0xfffful << BPWM_FCAPDAT3_FCAPDAT_Pos)           /*!< BPWM_T::FCAPDAT3: FCAPDAT Mask         */
+
+#define BPWM_RCAPDAT4_RCAPDAT_Pos        (0)                                               /*!< BPWM_T::RCAPDAT4: RCAPDAT Position     */
+#define BPWM_RCAPDAT4_RCAPDAT_Msk        (0xfffful << BPWM_RCAPDAT4_RCAPDAT_Pos)           /*!< BPWM_T::RCAPDAT4: RCAPDAT Mask         */
+
+#define BPWM_FCAPDAT4_FCAPDAT_Pos        (0)                                               /*!< BPWM_T::FCAPDAT4: FCAPDAT Position     */
+#define BPWM_FCAPDAT4_FCAPDAT_Msk        (0xfffful << BPWM_FCAPDAT4_FCAPDAT_Pos)           /*!< BPWM_T::FCAPDAT4: FCAPDAT Mask         */
+
+#define BPWM_RCAPDAT5_RCAPDAT_Pos        (0)                                               /*!< BPWM_T::RCAPDAT5: RCAPDAT Position     */
+#define BPWM_RCAPDAT5_RCAPDAT_Msk        (0xfffful << BPWM_RCAPDAT5_RCAPDAT_Pos)           /*!< BPWM_T::RCAPDAT5: RCAPDAT Mask         */
+
+#define BPWM_FCAPDAT5_FCAPDAT_Pos        (0)                                               /*!< BPWM_T::FCAPDAT5: FCAPDAT Position     */
+#define BPWM_FCAPDAT5_FCAPDAT_Msk        (0xfffful << BPWM_FCAPDAT5_FCAPDAT_Pos)           /*!< BPWM_T::FCAPDAT5: FCAPDAT Mask         */
+
+#define BPWM_CAPIEN_CAPRIENn_Pos         (0)                                               /*!< BPWM_T::CAPIEN: CAPRIENn Position      */
+#define BPWM_CAPIEN_CAPRIENn_Msk         (0x3ful << BPWM_CAPIEN_CAPRIENn_Pos)              /*!< BPWM_T::CAPIEN: CAPRIENn Mask          */
+
+#define BPWM_CAPIEN_CAPFIENn_Pos         (8)                                               /*!< BPWM_T::CAPIEN: CAPFIENn Position      */
+#define BPWM_CAPIEN_CAPFIENn_Msk         (0x3ful << BPWM_CAPIEN_CAPFIENn_Pos)              /*!< BPWM_T::CAPIEN: CAPFIENn Mask          */
+
+#define BPWM_CAPIF_CAPRIF0_Pos           (0)                                               /*!< BPWM_T::CAPIF: CAPRIF0 Position        */
+#define BPWM_CAPIF_CAPRIF0_Msk           (0x1ul << BPWM_CAPIF_CAPRIF0_Pos)                 /*!< BPWM_T::CAPIF: CAPRIF0 Mask            */
+
+#define BPWM_CAPIF_CAPRIF1_Pos           (1)                                               /*!< BPWM_T::CAPIF: CAPRIF1 Position        */
+#define BPWM_CAPIF_CAPRIF1_Msk           (0x1ul << BPWM_CAPIF_CAPRIF1_Pos)                 /*!< BPWM_T::CAPIF: CAPRIF1 Mask            */
+
+#define BPWM_CAPIF_CAPRIF2_Pos           (2)                                               /*!< BPWM_T::CAPIF: CAPRIF2 Position        */
+#define BPWM_CAPIF_CAPRIF2_Msk           (0x1ul << BPWM_CAPIF_CAPRIF2_Pos)                 /*!< BPWM_T::CAPIF: CAPRIF2 Mask            */
+
+#define BPWM_CAPIF_CAPRIF3_Pos           (3)                                               /*!< BPWM_T::CAPIF: CAPRIF3 Position        */
+#define BPWM_CAPIF_CAPRIF3_Msk           (0x1ul << BPWM_CAPIF_CAPRIF3_Pos)                 /*!< BPWM_T::CAPIF: CAPRIF3 Mask            */
+
+#define BPWM_CAPIF_CAPRIF4_Pos           (4)                                               /*!< BPWM_T::CAPIF: CAPRIF4 Position        */
+#define BPWM_CAPIF_CAPRIF4_Msk           (0x1ul << BPWM_CAPIF_CAPRIF4_Pos)                 /*!< BPWM_T::CAPIF: CAPRIF4 Mask            */
+
+#define BPWM_CAPIF_CAPRIF5_Pos           (5)                                               /*!< BPWM_T::CAPIF: CAPRIF5 Position        */
+#define BPWM_CAPIF_CAPRIF5_Msk           (0x1ul << BPWM_CAPIF_CAPRIF5_Pos)                 /*!< BPWM_T::CAPIF: CAPRIF5 Mask            */
+
+#define BPWM_CAPIF_CAPRIFn_Pos           (0)                                               /*!< BPWM_T::CAPIF: CAPRIFn Position        */
+#define BPWM_CAPIF_CAPRIFn_Msk           (0x3ful << BPWM_CAPIF_CAPRIFn_Pos)                /*!< BPWM_T::CAPIF: CAPRIFn Mask            */
+
+#define BPWM_CAPIF_CAPFIF0_Pos           (8)                                               /*!< BPWM_T::CAPIF: CAPFIF0 Position        */
+#define BPWM_CAPIF_CAPFIF0_Msk           (0x1ul << BPWM_CAPIF_CAPFIF0_Pos)                 /*!< BPWM_T::CAPIF: CAPFIF0 Mask            */
+
+#define BPWM_CAPIF_CAPFIF1_Pos           (9)                                               /*!< BPWM_T::CAPIF: CAPFIF1 Position        */
+#define BPWM_CAPIF_CAPFIF1_Msk           (0x1ul << BPWM_CAPIF_CAPFIF1_Pos)                 /*!< BPWM_T::CAPIF: CAPFIF1 Mask            */
+
+#define BPWM_CAPIF_CAPFIF2_Pos           (10)                                              /*!< BPWM_T::CAPIF: CAPFIF2 Position        */
+#define BPWM_CAPIF_CAPFIF2_Msk           (0x1ul << BPWM_CAPIF_CAPFIF2_Pos)                 /*!< BPWM_T::CAPIF: CAPFIF2 Mask            */
+
+#define BPWM_CAPIF_CAPFIF3_Pos           (11)                                              /*!< BPWM_T::CAPIF: CAPFIF3 Position        */
+#define BPWM_CAPIF_CAPFIF3_Msk           (0x1ul << BPWM_CAPIF_CAPFIF3_Pos)                 /*!< BPWM_T::CAPIF: CAPFIF3 Mask            */
+
+#define BPWM_CAPIF_CAPFIF4_Pos           (12)                                              /*!< BPWM_T::CAPIF: CAPFIF4 Position        */
+#define BPWM_CAPIF_CAPFIF4_Msk           (0x1ul << BPWM_CAPIF_CAPFIF4_Pos)                 /*!< BPWM_T::CAPIF: CAPFIF4 Mask            */
+
+#define BPWM_CAPIF_CAPFIF5_Pos           (13)                                              /*!< BPWM_T::CAPIF: CAPFIF5 Position        */
+#define BPWM_CAPIF_CAPFIF5_Msk           (0x1ul << BPWM_CAPIF_CAPFIF5_Pos)                 /*!< BPWM_T::CAPIF: CAPFIF5 Mask            */
+
+#define BPWM_CAPIF_CAPFIFn_Pos           (8)                                               /*!< BPWM_T::CAPIF: CAPFIFn Position        */
+#define BPWM_CAPIF_CAPFIFn_Msk           (0x3ful << BPWM_CAPIF_CAPFIFn_Pos)                /*!< BPWM_T::CAPIF: CAPFIFn Mask            */
+
+#define BPWM_PBUF_PBUF_Pos               (0)                                               /*!< BPWM_T::PBUF: PBUF Position            */
+#define BPWM_PBUF_PBUF_Msk               (0xfffful << BPWM_PBUF_PBUF_Pos)                  /*!< BPWM_T::PBUF: PBUF Mask                */
+
+#define BPWM_CMPBUF0_CMPBUF_Pos          (0)                                               /*!< BPWM_T::CMPBUF0: CMPBUF Position       */
+#define BPWM_CMPBUF0_CMPBUF_Msk          (0xfffful << BPWM_CMPBUF0_CMPBUF_Pos)             /*!< BPWM_T::CMPBUF0: CMPBUF Mask           */
+
+#define BPWM_CMPBUF1_CMPBUF_Pos          (0)                                               /*!< BPWM_T::CMPBUF1: CMPBUF Position       */
+#define BPWM_CMPBUF1_CMPBUF_Msk          (0xfffful << BPWM_CMPBUF1_CMPBUF_Pos)             /*!< BPWM_T::CMPBUF1: CMPBUF Mask           */
+
+#define BPWM_CMPBUF2_CMPBUF_Pos          (0)                                               /*!< BPWM_T::CMPBUF2: CMPBUF Position       */
+#define BPWM_CMPBUF2_CMPBUF_Msk          (0xfffful << BPWM_CMPBUF2_CMPBUF_Pos)             /*!< BPWM_T::CMPBUF2: CMPBUF Mask           */
+
+#define BPWM_CMPBUF3_CMPBUF_Pos          (0)                                               /*!< BPWM_T::CMPBUF3: CMPBUF Position       */
+#define BPWM_CMPBUF3_CMPBUF_Msk          (0xfffful << BPWM_CMPBUF3_CMPBUF_Pos)             /*!< BPWM_T::CMPBUF3: CMPBUF Mask           */
+
+#define BPWM_CMPBUF4_CMPBUF_Pos          (0)                                               /*!< BPWM_T::CMPBUF4: CMPBUF Position       */
+#define BPWM_CMPBUF4_CMPBUF_Msk          (0xfffful << BPWM_CMPBUF4_CMPBUF_Pos)             /*!< BPWM_T::CMPBUF4: CMPBUF Mask           */
+
+#define BPWM_CMPBUF5_CMPBUF_Pos          (0)                                               /*!< BPWM_T::CMPBUF5: CMPBUF Position       */
+#define BPWM_CMPBUF5_CMPBUF_Msk          (0xfffful << BPWM_CMPBUF5_CMPBUF_Pos)             /*!< BPWM_T::CMPBUF5: CMPBUF Mask           */
+
+/**@}*/ /* BPWM_CONST */
+/**@}*/ /* end of BPWM register group */
+/**@}*/ /* end of REGISTER group */
+
+#if defined ( __CC_ARM   )
+#pragma no_anon_unions
+#endif
+
+#endif /* __BPWM_REG_H__ */

+ 759 - 0
dap_link/lib/free-dap/platform/m484/include/can_reg.h

@@ -0,0 +1,759 @@
+/**************************************************************************//**
+ * @file     can_reg.h
+ * @version  V1.00
+ * @brief    CAN register definition header file
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __CAN_REG_H__
+#define __CAN_REG_H__
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/**
+   @addtogroup REGISTER Control Register
+   @{
+*/
+
+/**
+    @addtogroup CAN Controller Area Network Controller(CAN)
+    Memory Mapped Structure for CAN Controller
+@{ */
+
+
+typedef struct
+{
+
+    /**
+     * @var CAN_IF_T::CREQ
+     * Offset: 0x20, 0x80  IFn Command Request Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[5:0]   |MessageNumber|Message Number
+     * |        |          |0x01-0x20: Valid Message Number, the Message Object in the Message
+     * |        |          |RAM is selected for data transfer.
+     * |        |          |0x00: Not a valid Message Number, interpreted as 0x20.
+     * |        |          |0x21-0x3F: Not a valid Message Number, interpreted as 0x01-0x1F.
+     * |[15]    |Busy      |Busy Flag
+     * |        |          |0 = Read/write action has finished.
+     * |        |          |1 = Writing to the IFn Command Request Register is in progress
+     * |        |          |This bit can only be read by the software.
+     * @var CAN_IF_T::CMASK
+     * Offset: 0x24, 0x84  IFn Command Mask Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |DAT_B     |Access Data Bytes [7:4]
+     * |        |          |Write Operation:
+     * |        |          |0 = Data Bytes [7:4] unchanged.
+     * |        |          |1 = Transfer Data Bytes [7:4] to Message Object.
+     * |        |          |Read Operation:
+     * |        |          |0 = Data Bytes [7:4] unchanged.
+     * |        |          |1 = Transfer Data Bytes [7:4] to IFn Message Buffer Register.
+     * |[1]     |DAT_A     |Access Data Bytes [3:0]
+     * |        |          |Write Operation:
+     * |        |          |0 = Data Bytes [3:0] unchanged.
+     * |        |          |1 = Transfer Data Bytes [3:0] to Message Object.
+     * |        |          |Read Operation:
+     * |        |          |0 = Data Bytes [3:0] unchanged.
+     * |        |          |1 = Transfer Data Bytes [3:0] to IFn Message Buffer Register.
+     * |[2]     |TxRqst_NewDat|Access Transmission Request Bit When Write Operation
+     * |        |          |0 = TxRqst bit unchanged.
+     * |        |          |1 = Set TxRqst bit.
+     * |        |          |Note: If a transmission is requested by programming bit TxRqst/NewDat in the IFn Command Mask Register, bit TxRqst in the IFn Message Control Register will be ignored.
+     * |        |          |Access New Data Bit when Read Operation.
+     * |        |          |0 = NewDat bit remains unchanged.
+     * |        |          |1 = Clear NewDat bit in the Message Object.
+     * |        |          |Note: A read access to a Message Object can be combined with the reset of the control bits IntPnd and NewDat
+     * |        |          |The values of these bits transferred to the IFn Message Control Register always reflect the status before resetting these bits.
+     * |[3]     |ClrIntPnd |Clear Interrupt Pending Bit
+     * |        |          |Write Operation:
+     * |        |          |When writing to a Message Object, this bit is ignored.
+     * |        |          |Read Operation:
+     * |        |          |0 = IntPnd bit (CAN_IFn_MCON[13]) remains unchanged.
+     * |        |          |1 = Clear IntPnd bit in the Message Object.
+     * |[4]     |Control   |Control Access Control Bits
+     * |        |          |Write Operation:
+     * |        |          |0 = Control Bits unchanged.
+     * |        |          |1 = Transfer Control Bits to Message Object.
+     * |        |          |Read Operation:
+     * |        |          |0 = Control Bits unchanged.
+     * |        |          |1 = Transfer Control Bits to IFn Message Buffer Register.
+     * |[5]     |Arb       |Access Arbitration Bits
+     * |        |          |Write Operation:
+     * |        |          |0 = Arbitration bits unchanged.
+     * |        |          |1 = Transfer Identifier + Dir (CAN_IFn_ARB2[13]) + Xtd (CAN_IFn_ARB2[14]) + MsgVal (CAN_IFn_ARB2[15]) to Message Object.
+     * |        |          |Read Operation:
+     * |        |          |0 = Arbitration bits unchanged.
+     * |        |          |1 = Transfer Identifier + Dir + Xtd + MsgVal to IFn Message Buffer Register.
+     * |[6]     |Mask      |Access Mask Bits
+     * |        |          |Write Operation:
+     * |        |          |0 = Mask bits unchanged.
+     * |        |          |1 = Transfer Identifier Mask + MDir + MXtd to Message Object.
+     * |        |          |Read Operation:
+     * |        |          |0 = Mask bits unchanged.
+     * |        |          |1 = Transfer Identifier Mask + MDir + MXtd to IFn Message Buffer Register.
+     * |[7]     |WR_RD     |Write / Read Mode
+     * |        |          |0 = Read: Transfer data from the Message Object addressed by the Command Request Register into the selected Message Buffer Registers.
+     * |        |          |1 = Write: Transfer data from the selected Message Buffer Registers to the Message Object addressed by the Command Request Register.
+     * @var CAN_IF_T::MASK1
+     * Offset: 0x28, 0x88  IFn Mask 1 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |Msk       |Identifier Mask 15-0
+     * |        |          |0 = The corresponding bit in the identifier of the message object cannot inhibit the match in the acceptance filtering.
+     * |        |          |1 = The corresponding identifier bit is used for acceptance filtering.
+     * @var CAN_IF_T::MASK2
+     * Offset: 0x2C, 0x8C  IFn Mask 2 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[12:0]  |Msk       |Identifier Mask 28-16
+     * |        |          |0 = The corresponding bit in the identifier of the message object cannot inhibit the match in the acceptance filtering.
+     * |        |          |1 = The corresponding identifier bit is used for acceptance filtering.
+     * |[14]    |MDir      |Mask Message Direction
+     * |        |          |0 = The message direction bit (Dir (CAN_IFn_ARB2[13])) has no effect on the acceptance filtering.
+     * |        |          |1 = The message direction bit (Dir) is used for acceptance filtering.
+     * |[15]    |MXtd      |Mask Extended Identifier
+     * |        |          |0 = The extended identifier bit (IDE) has no effect on the acceptance filtering.
+     * |        |          |1 = The extended identifier bit (IDE) is used for acceptance filtering.
+     * |        |          |Note: When 11-bit (standard) Identifiers are used for a Message Object, the identifiers of received Data Frames are written into bits ID28 to ID18 (CAN_IFn_ARB2[12:2])
+     * |        |          |For acceptance filtering, only these bits together with mask bits Msk28 to Msk18 (CAN_IFn_MASK2[12:2]) are considered.
+     * @var CAN_IF_T::ARB1
+     * Offset: 0x30, 0x90  IFn Arbitration 1 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |ID        |Message Identifier 15-0
+     * |        |          |ID28 - ID0, 29-bit Identifier (Extended Frame)
+     * |        |          |ID28 - ID18, 11-bit Identifier (Standard Frame)
+     * @var CAN_IF_T::ARB2
+     * Offset: 0x34, 0x94  IFn Arbitration 2 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[12:0]  |ID        |Message Identifier 28-16
+     * |        |          |ID28 - ID0, 29-bit Identifier (Extended Frame)
+     * |        |          |ID28 - ID18, 11-bit Identifier (Standard Frame)
+     * |[13]    |Dir       |Message Direction
+     * |        |          |0 = Direction is receive.
+     * |        |          |On TxRqst, a Remote Frame with the identifier of this Message Object is transmitted
+     * |        |          |On reception of a Data Frame with matching identifier, that message is stored in this Message Object.
+     * |        |          |1 = Direction is transmit.
+     * |        |          |On TxRqst, the respective Message Object is transmitted as a Data Frame
+     * |        |          |On reception of a Remote Frame with matching identifier, the TxRqst bit (CAN_IFn_CMASK[2]) of this Message Object is set (if RmtEn (CAN_IFn_MCON[9]) = one).
+     * |[14]    |Xtd       |Extended Identifier
+     * |        |          |0 = The 11-bit (standard) Identifier will be used for this Message Object.
+     * |        |          |1 = The 29-bit (extended) Identifier will be used for this Message Object.
+     * |[15]    |MsgVal    |Message Valid
+     * |        |          |0 = The Message Object is ignored by the Message Handler.
+     * |        |          |1 = The Message Object is configured and should be considered by the Message Handler.
+     * |        |          |Note: The application software must reset the MsgVal bit of all unused Messages Objects during the initialization before it resets bit Init (CAN_CON[0])
+     * |        |          |This bit must also be reset before the identifier Id28-0 (CAN_IFn_ARB1/2), the control bits Xtd (CAN_IFn_ARB2[14]), Dir (CAN_IFn_ARB2[13]), or the Data Length Code DLC3-0 (CAN_IFn_MCON[3:0]) are modified, or if the Messages Object is no longer required.
+     * @var CAN_IF_T::MCON
+     * Offset: 0x38, 0x98  IFn Message Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |DLC       |Data Length Code
+     * |        |          |0-8: Data Frame has 0-8 data bytes.
+     * |        |          |9-15: Data Frame has 8 data bytes
+     * |        |          |Note: The Data Length Code of a Message Object must be defined the same as in all the corresponding objects with the same identifier at other nodes
+     * |        |          |When the Message Handler stores a data frame, it will write the DLC to the value given by the received message.
+     * |        |          |Data(0): 1st data byte of a CAN Data Frame
+     * |        |          |Data(1): 2nd data byte of a CAN Data Frame
+     * |        |          |Data(2): 3rd data byte of a CAN Data Frame
+     * |        |          |Data(3): 4th data byte of a CAN Data Frame
+     * |        |          |Data(4): 5th data byte of a CAN Data Frame
+     * |        |          |Data(5): 6th data byte of a CAN Data Frame
+     * |        |          |Data(6): 7th data byte of a CAN Data Frame
+     * |        |          |Data(7): 8th data byte of a CAN Data Frame
+     * |        |          |Note: The Data(0) byte is the first data byte shifted into the shift register of the CAN Core during a reception while the Data(7) byte is the last
+     * |        |          |When the Message Handler stores a Data Frame, it will write all the eight data bytes into a Message Object
+     * |        |          |If the Data Length Code is less than 8, the remaining bytes of the Message Object will be overwritten by unspecified values.
+     * |[7]     |EoB       |End of Buffer
+     * |        |          |0 = Message Object belongs to a FIFO Buffer and is not the last Message Object of that FIFO Buffer.
+     * |        |          |1 = Single Message Object or last Message Object of a FIFO Buffer.
+     * |        |          |Note: This bit is used to concatenate two or more Message Objects (up to 32) to build a FIFO Buffer
+     * |        |          |For single Message Objects (not belonging to a FIFO Buffer), this bit must always be set to one
+     * |[8]     |TxRqst    |Transmit Request
+     * |        |          |0 = This Message Object is not waiting for transmission.
+     * |        |          |1 = The transmission of this Message Object is requested and is not yet done.
+     * |[9]     |RmtEn     |Remote Enable Bit
+     * |        |          |0 = At the reception of a Remote Frame, TxRqst (CAN_IFn_MCON[8]) is left unchanged.
+     * |        |          |1 = At the reception of a Remote Frame, TxRqst is set.
+     * |[10]    |RxIE      |Receive Interrupt Enable Bit
+     * |        |          |0 = IntPnd (CAN_IFn_MCON[13]) will be left unchanged after a successful reception of a frame.
+     * |        |          |1 = IntPnd will be set after a successful reception of a frame.
+     * |[11]    |TxIE      |Transmit Interrupt Enable Bit
+     * |        |          |0 = IntPnd (CAN_IFn_MCON[13]) will be left unchanged after the successful transmission of a frame.
+     * |        |          |1 = IntPnd will be set after a successful transmission of a frame.
+     * |[12]    |UMask     |Use Acceptance Mask
+     * |        |          |0 = Mask ignored.
+     * |        |          |1 = Use Mask (Msk28-0, MXtd, and MDir) for acceptance filtering.
+     * |        |          |Note: If the UMask bit is set to one, the Message Object's mask bits have to be programmed during initialization of the Message Object before MsgVal bit (CAN_IFn_ARB2[15]) is set to one.
+     * |[13]    |IntPnd    |Interrupt Pending
+     * |        |          |0 = This message object is not the source of an interrupt.
+     * |        |          |1 = This message object is the source of an interrupt
+     * |        |          |The Interrupt Identifier in the Interrupt Register will point to this message object if there is no other interrupt source with higher priority.
+     * |[14]    |MsgLst    |Message Lost (only valid for Message Objects with direction = receive).
+     * |        |          |0 = No message lost since last time this bit was reset by the CPU.
+     * |        |          |1 = The Message Handler stored a new message into this object when NewDat was still set, the CPU has lost a message.
+     * |[15]    |NewDat    |New Data
+     * |        |          |0 = No new data has been written into the data portion of this Message Object by the Message Handler since last time this flag was cleared by the application software.
+     * |        |          |1 = The Message Handler or the application software has written new data into the data portion of this Message Object.
+     * @var CAN_IF_T::DAT_A1
+     * Offset: 0x3C, 0x9C  IFn Data A1 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[7:0]   |Data_0_   |Data Byte 0
+     * |        |          |1st data byte of a CAN Data Frame
+     * |[15:8]  |Data_1_   |Data Byte 1
+     * |        |          |2nd data byte of a CAN Data Frame
+     * @var CAN_IF_T::DAT_A2
+     * Offset: 0x40, 0xA0  IFn Data A2 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[7:0]   |Data_2_   |Data Byte 2
+     * |        |          |3rd data byte of CAN Data Frame
+     * |[15:8]  |Data_3_   |Data Byte 3
+     * |        |          |4th data byte of CAN Data Frame
+     * @var CAN_IF_T::DAT_B1
+     * Offset: 0x44, 0xA4  IFn Data B1 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[7:0]   |Data_4_   |Data Byte 4
+     * |        |          |5th data byte of CAN Data Frame
+     * |[15:8]  |Data_5_   |Data Byte 5
+     * |        |          |6th data byte of CAN Data Frame
+     * @var CAN_IF_T::DAT_B2
+     * Offset: 0x48, 0xA8  IFn Data B2 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[7:0]   |Data_6_   |Data Byte 6
+     * |        |          |7th data byte of CAN Data Frame.
+     * |[15:8]  |Data_7_   |Data Byte 7
+     * |        |          |8th data byte of CAN Data Frame.
+     */
+    __IO uint32_t CREQ;         /*!< [0x0020] IFn Command Request Register                                     */
+    __IO uint32_t CMASK;        /*!< [0x0024] IFn Command Mask Register                                        */
+    __IO uint32_t MASK1;        /*!< [0x0028] IFn Mask 1 Register                                              */
+    __IO uint32_t MASK2;        /*!< [0x002c] IFn Mask 2 Register                                              */
+    __IO uint32_t ARB1;         /*!< [0x0030] IFn Arbitration 1 Register                                       */
+    __IO uint32_t ARB2;         /*!< [0x0034] IFn Arbitration 2 Register                                       */
+    __IO uint32_t MCON;         /*!< [0x0038] IFn Message Control Register                                     */
+    __IO uint32_t DAT_A1;       /*!< [0x003c] IFn Data A1 Register                                             */
+    __IO uint32_t DAT_A2;       /*!< [0x0040] IFn Data A2 Register                                             */
+    __IO uint32_t DAT_B1;       /*!< [0x0044] IFn Data B1 Register                                             */
+    __IO uint32_t DAT_B2;       /*!< [0x0048] IFn Data B2 Register                                             */
+    /// @cond HIDDEN_SYMBOLS
+    __I uint32_t RESERVE0[13];
+    /// @endcond //HIDDEN_SYMBOLS
+} CAN_IF_T;
+
+
+typedef struct
+{
+
+
+    /**
+     * @var CAN_T::CON
+     * Offset: 0x00  Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |Init      |Init Initialization
+     * |        |          |0 = Normal Operation.
+     * |        |          |1 = Initialization is started.
+     * |[1]     |IE        |Module Interrupt Enable Bit
+     * |        |          |0 = Function interrupt is Disabled.
+     * |        |          |1 = Function interrupt is Enabled.
+     * |[2]     |SIE       |Status Change Interrupt Enable Bit
+     * |        |          |0 = Disabled - No Status Change Interrupt will be generated.
+     * |        |          |1 = Enabled - An interrupt will be generated when a message transfer is successfully completed or a CAN bus error is detected.
+     * |[3]     |EIE       |Error Interrupt Enable Bit
+     * |        |          |0 = Disabled - No Error Status Interrupt will be generated.
+     * |        |          |1 = Enabled - A change in the bits BOff (CAN_STATUS[7]) or EWarn (CAN_STATUS[6]) in the Status Register will generate an interrupt.
+     * |[5]     |DAR       |Automatic Re-transmission Disable Bit
+     * |        |          |0 = Automatic Retransmission of disturbed messages Enabled.
+     * |        |          |1 = Automatic Retransmission Disabled.
+     * |[6]     |CCE       |Configuration Change Enable Bit
+     * |        |          |0 = No write access to the Bit Timing Register.
+     * |        |          |1 = Write access to the Bit Timing Register (CAN_BTIME) allowed. (while Init bit (CAN_CON[0]) = 1).
+     * |[7]     |Test      |Test Mode Enable Bit
+     * |        |          |0 = Normal Operation.
+     * |        |          |1 = Test Mode.
+     * @var CAN_T::STATUS
+     * Offset: 0x04  Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[2:0]   |LEC       |Last Error Code (Type of the Last Error to Occur on the CAN Bus)
+     * |        |          |The LEC field holds a code, which indicates the type of the last error to occur on the CAN bus
+     * |        |          |This field will be cleared to '0' when a message has been transferred (reception or transmission) without error
+     * |        |          |The unused code '7' may be written by the CPU to check for updates
+     * |        |          |The Error! Reference source not found
+     * |        |          |describes the error code.
+     * |[3]     |TxOK      |Transmitted a Message Successfully
+     * |        |          |0 = Since this bit was reset by the CPU, no message has been successfully transmitted
+     * |        |          |This bit is never reset by the CAN Core.
+     * |        |          |1 = Since this bit was last reset by the CPU, a message has been successfully (error free and acknowledged by at least one other node) transmitted.
+     * |[4]     |RxOK      |Received a Message Successfully
+     * |        |          |0 = No message has been successfully received since this bit was last reset by the CPU
+     * |        |          |This bit is never reset by the CAN Core.
+     * |        |          |1 = A message has been successfully received since this bit was last reset by the CPU (independent of the result of acceptance filtering).
+     * |[5]     |EPass     |Error Passive (Read Only)
+     * |        |          |0 = The CAN Core is error active.
+     * |        |          |1 = The CAN Core is in the error passive state as defined in the CAN Specification.
+     * |[6]     |EWarn     |Error Warning Status (Read Only)
+     * |        |          |0 = Both error counters are below the error warning limit of 96.
+     * |        |          |1 = At least one of the error counters in the EML has reached the error warning limit of 96.
+     * |[7]     |BOff      |Bus-off Status (Read Only)
+     * |        |          |0 = The CAN module is not in bus-off state.
+     * |        |          |1 = The CAN module is in bus-off state.
+     * @var CAN_T::ERR
+     * Offset: 0x08  Error Counter Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[7:0]   |TEC       |Transmit Error Counter
+     * |        |          |Actual state of the Transmit Error Counter. Values between 0 and 255.
+     * |[14:8]  |REC       |Receive Error Counter
+     * |        |          |Actual state of the Receive Error Counter. Values between 0 and 127.
+     * |[15]    |RP        |Receive Error Passive
+     * |        |          |0 = The Receive Error Counter is below the error passive level.
+     * |        |          |1 = The Receive Error Counter has reached the error passive level as defined in the CAN Specification.
+     * @var CAN_T::BTIME
+     * Offset: 0x0C  Bit Timing Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[5:0]   |BRP       |Baud Rate Prescaler
+     * |        |          |0x01-0x3F: The value by which the oscillator frequency is divided for generating the bit time quanta
+     * |        |          |The bit time is built up from a multiple of this quanta
+     * |        |          |Valid values for the Baud Rate Prescaler are [0...63]
+     * |        |          |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used.
+     * |[7:6]   |SJW       |(Re)Synchronization Jump Width
+     * |        |          |0x0-0x3: Valid programmed values are [0...3]
+     * |        |          |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used.
+     * |[11:8]  |TSeg1     |Time Segment Before the Sample Point Minus Sync_Seg
+     * |        |          |0x01-0x0F: valid values for TSeg1 are [1...15]
+     * |        |          |The actual interpretation by the hardware of this value is such that one more than the value programmed is used.
+     * |[14:12] |TSeg2     |Time Segment After Sample Point
+     * |        |          |0x0-0x7: Valid values for TSeg2 are [0...7]
+     * |        |          |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used.
+     * @var CAN_T::IIDR
+     * Offset: 0x10  Interrupt Identifier Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |IntId     |Interrupt Identifier (Indicates the Source of the Interrupt)
+     * |        |          |If several interrupts are pending, the CAN Interrupt Register will point to the pending interrupt with the highest priority, disregarding their chronological order
+     * |        |          |An interrupt remains pending until the application software has cleared it
+     * |        |          |If IntId is different from 0x0000 and IE (CAN_CON[1]) is set, the IRQ interrupt signal to the EIC is active
+     * |        |          |The interrupt remains active until IntId is back to value 0x0000 (the cause of the interrupt is reset) or until IE is reset.
+     * |        |          |The Status Interrupt has the highest priority
+     * |        |          |Among the message interrupts, the Message Object' s interrupt priority decreases with increasing message number.
+     * |        |          |A message interrupt is cleared by clearing the Message Object's IntPnd bit (CAN_IFn_MCON[13])
+     * |        |          |The Status Interrupt is cleared by reading the Status Register.
+     * @var CAN_T::TEST
+     * Offset: 0x14  Test Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[2]     |Basic     |Basic Mode
+     * |        |          |0 = Basic Mode Disabled.
+     * |        |          |1= IF1 Registers used as Tx Buffer, IF2 Registers used as Rx Buffer.
+     * |[3]     |Silent    |Silent Mode
+     * |        |          |0 = Normal operation.
+     * |        |          |1 = The module is in Silent Mode.
+     * |[4]     |LBack     |Loop Back Mode Enable Bit
+     * |        |          |0 = Loop Back Mode is Disabled.
+     * |        |          |1 = Loop Back Mode is Enabled.
+     * |[6:5]   |Tx        |Tx[1:0]: Control of CAN_TX Pin
+     * |        |          |00 = Reset value, CAN_TX pin is controlled by the CAN Core.
+     * |        |          |01 = Sample Point can be monitored at CAN_TX pin.
+     * |        |          |10 = CAN_TX pin drives a dominant ('0') value.
+     * |        |          |11 = CAN_TX pin drives a recessive ('1') value.
+     * |[7]     |Rx        |Monitors the Actual Value of CAN_RX Pin (Read Only) *(1)
+     * |        |          |0 = The CAN bus is dominant (CAN_RX = '0').
+     * |        |          |1 = The CAN bus is recessive (CAN_RX = '1').
+     * @var CAN_T::BRPE
+     * Offset: 0x18  Baud Rate Prescaler Extension Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |BRPE      |BRPE: Baud Rate Prescaler Extension
+     * |        |          |0x00-0x0F: By programming BRPE, the Baud Rate Prescaler can be extended to values up to 1023
+     * |        |          |The actual interpretation by the hardware is that one more than the value programmed by BRPE (MSBs) and BTIME (LSBs) is used.
+     * @var CAN_T::TXREQ1
+     * Offset: 0x100  Transmission Request Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |TxRqst16_1|Transmission Request Bits 16-1 (of All Message Objects)
+     * |        |          |0 = This Message Object is not waiting for transmission.
+     * |        |          |1 = The transmission of this Message Object is requested and is not yet done.
+     * |        |          |These bits are read only.
+     * @var CAN_T::TXREQ2
+     * Offset: 0x104  Transmission Request Register 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |TxRqst32_17|Transmission Request Bits 32-17 (of All Message Objects)
+     * |        |          |0 = This Message Object is not waiting for transmission.
+     * |        |          |1 = The transmission of this Message Object is requested and is not yet done.
+     * |        |          |These bits are read only.
+     * @var CAN_T::NDAT1
+     * Offset: 0x120  New Data Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |NewData16_1|New Data Bits 16-1 (of All Message Objects)
+     * |        |          |0 = No new data has been written into the data portion of this Message Object by the Message Handler since the last time this flag was cleared by the application software.
+     * |        |          |1 = The Message Handler or the application software has written new data into the data portion of this Message Object.
+     * @var CAN_T::NDAT2
+     * Offset: 0x124  New Data Register 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |NewData32_17|New Data Bits 32-17 (of All Message Objects)
+     * |        |          |0 = No new data has been written into the data portion of this Message Object by the Message Handler since the last time this flag was cleared by the application software.
+     * |        |          |1 = The Message Handler or the application software has written new data into the data portion of this Message Object.
+     * @var CAN_T::IPND1
+     * Offset: 0x140  Interrupt Pending Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |IntPnd16_1|Interrupt Pending Bits 16-1 (of All Message Objects)
+     * |        |          |0 = This message object is not the source of an interrupt.
+     * |        |          |1 = This message object is the source of an interrupt.
+     * @var CAN_T::IPND2
+     * Offset: 0x144  Interrupt Pending Register 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |IntPnd32_17|Interrupt Pending Bits 32-17 (of All Message Objects)
+     * |        |          |0 = This message object is not the source of an interrupt.
+     * |        |          |1 = This message object is the source of an interrupt.
+     * @var CAN_T::MVLD1
+     * Offset: 0x160  Message Valid Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |MsgVal16_1|Message Valid Bits 16-1 (of All Message Objects) (Read Only)
+     * |        |          |0 = This Message Object is ignored by the Message Handler.
+     * |        |          |1 = This Message Object is configured and should be considered by the Message Handler.
+     * |        |          |Ex
+     * |        |          |CAN_MVLD1[0] means Message object No.1 is valid or not
+     * |        |          |If CAN_MVLD1[0] is set, message object No.1 is configured.
+     * @var CAN_T::MVLD2
+     * Offset: 0x164  Message Valid Register 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[15:0]  |MsgVal32_17|Message Valid Bits 32-17 (of All Message Objects) (Read Only)
+     * |        |          |0 = This Message Object is ignored by the Message Handler.
+     * |        |          |1 = This Message Object is configured and should be considered by the Message Handler.
+     * |        |          |Ex.CAN_MVLD2[15] means Message object No.32 is valid or not
+     * |        |          |If CAN_MVLD2[15] is set, message object No.32 is configured.
+     * @var CAN_T::WU_EN
+     * Offset: 0x168  Wake-up Enable Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |WAKUP_EN  |Wake-up Enable Bit
+     * |        |          |0 = The wake-up function Disabled.
+     * |        |          |1 = The wake-up function Enabled.
+     * |        |          |Note: User can wake-up system when there is a falling edge in the CAN_Rx pin.
+     * @var CAN_T::WU_STATUS
+     * Offset: 0x16C  Wake-up Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |WAKUP_STS |Wake-up Status
+     * |        |          |0 = No wake-up event occurred.
+     * |        |          |1 = Wake-up event occurred.
+     * |        |          |Note: This bit can be cleared by writing '0'.
+     */
+    __IO uint32_t CON;                   /*!< [0x0000] Control Register                                                 */
+    __IO uint32_t STATUS;                /*!< [0x0004] Status Register                                                  */
+    __I  uint32_t ERR;                   /*!< [0x0008] Error Counter Register                                           */
+    __IO uint32_t BTIME;                 /*!< [0x000c] Bit Timing Register                                              */
+    __I  uint32_t IIDR;                  /*!< [0x0010] Interrupt Identifier Register                                    */
+    __IO uint32_t TEST;                  /*!< [0x0014] Test Register                                                    */
+    __IO uint32_t BRPE;                  /*!< [0x0018] Baud Rate Prescaler Extension Register                           */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE0[1];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO CAN_IF_T IF[2];
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE2[8];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t TXREQ1;                /*!< [0x0100] Transmission Request Register 1                                  */
+    __I  uint32_t TXREQ2;                /*!< [0x0104] Transmission Request Register 2                                  */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE3[6];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t NDAT1;                 /*!< [0x0120] New Data Register 1                                              */
+    __I  uint32_t NDAT2;                 /*!< [0x0124] New Data Register 2                                              */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE4[6];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t IPND1;                 /*!< [0x0140] Interrupt Pending Register 1                                     */
+    __I  uint32_t IPND2;                 /*!< [0x0144] Interrupt Pending Register 2                                     */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE5[6];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t MVLD1;                 /*!< [0x0160] Message Valid Register 1                                         */
+    __I  uint32_t MVLD2;                 /*!< [0x0164] Message Valid Register 2                                         */
+    __IO uint32_t WU_EN;                 /*!< [0x0168] Wake-up Enable Control Register                                  */
+    __IO uint32_t WU_STATUS;             /*!< [0x016c] Wake-up Status Register                                          */
+
+} CAN_T;
+
+/**
+    @addtogroup CAN_CONST CAN Bit Field Definition
+    Constant Definitions for CAN Controller
+@{ */
+
+#define CAN_CON_INIT_Pos                 (0)                                               /*!< CAN_T::CON: Init Position              */
+#define CAN_CON_INIT_Msk                 (0x1ul << CAN_CON_INIT_Pos)                       /*!< CAN_T::CON: Init Mask                  */
+
+#define CAN_CON_IE_Pos                   (1)                                               /*!< CAN_T::CON: IE Position                */
+#define CAN_CON_IE_Msk                   (0x1ul << CAN_CON_IE_Pos)                         /*!< CAN_T::CON: IE Mask                    */
+
+#define CAN_CON_SIE_Pos                  (2)                                               /*!< CAN_T::CON: SIE Position               */
+#define CAN_CON_SIE_Msk                  (0x1ul << CAN_CON_SIE_Pos)                        /*!< CAN_T::CON: SIE Mask                   */
+
+#define CAN_CON_EIE_Pos                  (3)                                               /*!< CAN_T::CON: EIE Position               */
+#define CAN_CON_EIE_Msk                  (0x1ul << CAN_CON_EIE_Pos)                        /*!< CAN_T::CON: EIE Mask                   */
+
+#define CAN_CON_DAR_Pos                  (5)                                               /*!< CAN_T::CON: DAR Position               */
+#define CAN_CON_DAR_Msk                  (0x1ul << CAN_CON_DAR_Pos)                        /*!< CAN_T::CON: DAR Mask                   */
+
+#define CAN_CON_CCE_Pos                  (6)                                               /*!< CAN_T::CON: CCE Position               */
+#define CAN_CON_CCE_Msk                  (0x1ul << CAN_CON_CCE_Pos)                        /*!< CAN_T::CON: CCE Mask                   */
+
+#define CAN_CON_TEST_Pos                 (7)                                               /*!< CAN_T::CON: Test Position              */
+#define CAN_CON_TEST_Msk                 (0x1ul << CAN_CON_TEST_Pos)                       /*!< CAN_T::CON: Test Mask                  */
+
+#define CAN_STATUS_LEC_Pos               (0)                                               /*!< CAN_T::STATUS: LEC Position            */
+#define CAN_STATUS_LEC_Msk               (0x7ul << CAN_STATUS_LEC_Pos)                     /*!< CAN_T::STATUS: LEC Mask                */
+
+#define CAN_STATUS_TXOK_Pos              (3)                                               /*!< CAN_T::STATUS: TxOK Position           */
+#define CAN_STATUS_TXOK_Msk              (0x1ul << CAN_STATUS_TXOK_Pos)                    /*!< CAN_T::STATUS: TxOK Mask               */
+
+#define CAN_STATUS_RXOK_Pos              (4)                                               /*!< CAN_T::STATUS: RxOK Position           */
+#define CAN_STATUS_RXOK_Msk              (0x1ul << CAN_STATUS_RXOK_Pos)                    /*!< CAN_T::STATUS: RxOK Mask               */
+
+#define CAN_STATUS_EPASS_Pos             (5)                                               /*!< CAN_T::STATUS: EPass Position          */
+#define CAN_STATUS_EPASS_Msk             (0x1ul << CAN_STATUS_EPASS_Pos)                   /*!< CAN_T::STATUS: EPass Mask              */
+
+#define CAN_STATUS_EWARN_Pos             (6)                                               /*!< CAN_T::STATUS: EWarn Position          */
+#define CAN_STATUS_EWARN_Msk             (0x1ul << CAN_STATUS_EWARN_Pos)                   /*!< CAN_T::STATUS: EWarn Mask              */
+
+#define CAN_STATUS_BOFF_Pos              (7)                                               /*!< CAN_T::STATUS: BOff Position           */
+#define CAN_STATUS_BOFF_Msk              (0x1ul << CAN_STATUS_BOFF_Pos)                    /*!< CAN_T::STATUS: BOff Mask               */
+
+#define CAN_ERR_TEC_Pos                  (0)                                               /*!< CAN_T::ERR: TEC Position               */
+#define CAN_ERR_TEC_Msk                  (0xfful << CAN_ERR_TEC_Pos)                       /*!< CAN_T::ERR: TEC Mask                   */
+
+#define CAN_ERR_REC_Pos                  (8)                                               /*!< CAN_T::ERR: REC Position               */
+#define CAN_ERR_REC_Msk                  (0x7ful << CAN_ERR_REC_Pos)                       /*!< CAN_T::ERR: REC Mask                   */
+
+#define CAN_ERR_RP_Pos                   (15)                                              /*!< CAN_T::ERR: RP Position                */
+#define CAN_ERR_RP_Msk                   (0x1ul << CAN_ERR_RP_Pos)                         /*!< CAN_T::ERR: RP Mask                    */
+
+#define CAN_BTIME_BRP_Pos                (0)                                               /*!< CAN_T::BTIME: BRP Position             */
+#define CAN_BTIME_BRP_Msk                (0x3ful << CAN_BTIME_BRP_Pos)                     /*!< CAN_T::BTIME: BRP Mask                 */
+
+#define CAN_BTIME_SJW_Pos                (6)                                               /*!< CAN_T::BTIME: SJW Position             */
+#define CAN_BTIME_SJW_Msk                (0x3ul << CAN_BTIME_SJW_Pos)                      /*!< CAN_T::BTIME: SJW Mask                 */
+
+#define CAN_BTIME_TSEG1_Pos              (8)                                               /*!< CAN_T::BTIME: TSeg1 Position           */
+#define CAN_BTIME_TSEG1_Msk              (0xful << CAN_BTIME_TSEG1_Pos)                    /*!< CAN_T::BTIME: TSeg1 Mask               */
+
+#define CAN_BTIME_TSEG2_Pos              (12)                                              /*!< CAN_T::BTIME: TSeg2 Position           */
+#define CAN_BTIME_TSEG2_Msk              (0x7ul << CAN_BTIME_TSEG2_Pos)                    /*!< CAN_T::BTIME: TSeg2 Mask               */
+
+#define CAN_IIDR_IntId_Pos               (0)                                               /*!< CAN_T::IIDR: IntId Position            */
+#define CAN_IIDR_IntId_Msk               (0xfffful << CAN_IIDR_IntId_Pos)                  /*!< CAN_T::IIDR: IntId Mask                */
+
+#define CAN_TEST_BASIC_Pos               (2)                                               /*!< CAN_T::TEST: Basic Position            */
+#define CAN_TEST_BASIC_Msk               (0x1ul << CAN_TEST_BASIC_Pos)                     /*!< CAN_T::TEST: Basic Mask                */
+
+#define CAN_TEST_SILENT_Pos              (3)                                               /*!< CAN_T::TEST: Silent Position           */
+#define CAN_TEST_SILENT_Msk              (0x1ul << CAN_TEST_SILENT_Pos)                    /*!< CAN_T::TEST: Silent Mask               */
+
+#define CAN_TEST_LBACK_Pos               (4)                                               /*!< CAN_T::TEST: LBack Position            */
+#define CAN_TEST_LBACK_Msk               (0x1ul << CAN_TEST_LBACK_Pos)                     /*!< CAN_T::TEST: LBack Mask                */
+
+#define CAN_TEST_Tx_Pos                  (5)                                               /*!< CAN_T::TEST: Tx Position               */
+#define CAN_TEST_Tx_Msk                  (0x3ul << CAN_TEST_Tx_Pos)                        /*!< CAN_T::TEST: Tx Mask                   */
+
+#define CAN_TEST_Rx_Pos                  (7)                                               /*!< CAN_T::TEST: Rx Position               */
+#define CAN_TEST_Rx_Msk                  (0x1ul << CAN_TEST_Rx_Pos)                        /*!< CAN_T::TEST: Rx Mask                   */
+
+#define CAN_BRPE_BRPE_Pos                (0)                                               /*!< CAN_T::BRPE: BRPE Position             */
+#define CAN_BRPE_BRPE_Msk                (0xful << CAN_BRPE_BRPE_Pos)                      /*!< CAN_T::BRPE: BRPE Mask                 */
+
+#define CAN_IF_CREQ_MSGNUM_Pos   (0)                                               /*!< CAN_IF_T::CREQ: MessageNumber Position*/
+#define CAN_IF_CREQ_MSGNUM_Msk   (0x3ful << CAN_IF_CREQ_MSGNUM_Pos)        /*!< CAN_IF_T::CREQ: MessageNumber Mask    */
+
+#define CAN_IF_CREQ_BUSY_Pos            (15)                                              /*!< CAN_IF_T::CREQ: Busy Position         */
+#define CAN_IF_CREQ_BUSY_Msk            (0x1ul << CAN_IF_CREQ_BUSY_Pos)                   /*!< CAN_IF_T::CREQ: Busy Mask             */
+
+#define CAN_IF_CMASK_DATAB_Pos          (0)                                               /*!< CAN_IF_T::CMASK: DAT_B Position       */
+#define CAN_IF_CMASK_DATAB_Msk          (0x1ul << CAN_IF_CMASK_DATAB_Pos)                /*!< CAN_IF_T::CMASK: DAT_B Mask           */
+
+#define CAN_IF_CMASK_DATAA_Pos          (1)                                               /*!< CAN_IF_T::CMASK: DAT_A Position       */
+#define CAN_IF_CMASK_DATAA_Msk          (0x1ul << CAN_IF_CMASK_DATAA_Pos)                /*!< CAN_IF_T::CMASK: DAT_A Mask           */
+
+#define CAN_IF_CMASK_TXRQSTNEWDAT_Pos  (2)                                               /*!< CAN_IF_T::CMASK: TxRqst_NewDat Position*/
+#define CAN_IF_CMASK_TXRQSTNEWDAT_Msk  (0x1ul << CAN_IF_CMASK_TXRQSTNEWDAT_Pos)        /*!< CAN_IF_T::CMASK: TxRqst_NewDat Mask   */
+
+#define CAN_IF_CMASK_CLRINTPND_Pos      (3)                                               /*!< CAN_IF_T::CMASK: ClrIntPnd Position   */
+#define CAN_IF_CMASK_CLRINTPND_Msk      (0x1ul << CAN_IF_CMASK_CLRINTPND_Pos)            /*!< CAN_IF_T::CMASK: ClrIntPnd Mask       */
+
+#define CAN_IF_CMASK_CONTROL_Pos        (4)                                               /*!< CAN_IF_T::CMASK: Control Position     */
+#define CAN_IF_CMASK_CONTROL_Msk        (0x1ul << CAN_IF_CMASK_CONTROL_Pos)              /*!< CAN_IF_T::CMASK: Control Mask         */
+
+#define CAN_IF_CMASK_ARB_Pos            (5)                                               /*!< CAN_IF_T::CMASK: Arb Position         */
+#define CAN_IF_CMASK_ARB_Msk            (0x1ul << CAN_IF_CMASK_ARB_Pos)                  /*!< CAN_IF_T::CMASK: Arb Mask             */
+
+#define CAN_IF_CMASK_MASK_Pos           (6)                                               /*!< CAN_IF_T::CMASK: Mask Position        */
+#define CAN_IF_CMASK_MASK_Msk           (0x1ul << CAN_IF_CMASK_MASK_Pos)                 /*!< CAN_IF_T::CMASK: Mask Mask            */
+
+#define CAN_IF_CMASK_WRRD_Pos          (7)                                               /*!< CAN_IF_T::CMASK: WR_RD Position       */
+#define CAN_IF_CMASK_WRRD_Msk          (0x1ul << CAN_IF_CMASK_WRRD_Pos)                /*!< CAN_IF_T::CMASK: WR_RD Mask           */
+
+#define CAN_IF_MASK1_Msk_Pos            (0)                                               /*!< CAN_IF_T::MASK1: Msk Position         */
+#define CAN_IF_MASK1_Msk_Msk            (0xfffful << CAN_IF_MASK1_Msk_Pos)               /*!< CAN_IF_T::MASK1: Msk Mask             */
+
+#define CAN_IF_MASK2_Msk_Pos            (0)                                               /*!< CAN_IF_T::MASK2: Msk Position         */
+#define CAN_IF_MASK2_Msk_Msk            (0x1ffful << CAN_IF_MASK2_Msk_Pos)               /*!< CAN_IF_T::MASK2: Msk Mask             */
+
+#define CAN_IF_MASK2_MDIR_Pos           (14)                                              /*!< CAN_IF_T::MASK2: MDir Position        */
+#define CAN_IF_MASK2_MDIR_Msk           (0x1ul << CAN_IF_MASK2_MDIR_Pos)                 /*!< CAN_IF_T::MASK2: MDir Mask            */
+
+#define CAN_IF_MASK2_MXTD_Pos           (15)                                              /*!< CAN_IF_T::MASK2: MXtd Position        */
+#define CAN_IF_MASK2_MXTD_Msk           (0x1ul << CAN_IF_MASK2_MXTD_Pos)                 /*!< CAN_IF_T::MASK2: MXtd Mask            */
+
+#define CAN_IF_ARB1_ID_Pos              (0)                                               /*!< CAN_IF_T::ARB1: ID Position           */
+#define CAN_IF_ARB1_ID_Msk              (0xfffful << CAN_IF_ARB1_ID_Pos)                 /*!< CAN_IF_T::ARB1: ID Mask               */
+
+#define CAN_IF_ARB2_ID_Pos              (0)                                               /*!< CAN_IF_T::ARB2: ID Position           */
+#define CAN_IF_ARB2_ID_Msk              (0x1ffful << CAN_IF_ARB2_ID_Pos)                 /*!< CAN_IF_T::ARB2: ID Mask               */
+
+#define CAN_IF_ARB2_DIR_Pos             (13)                                              /*!< CAN_IF_T::ARB2: Dir Position          */
+#define CAN_IF_ARB2_DIR_Msk             (0x1ul << CAN_IF_ARB2_DIR_Pos)                   /*!< CAN_IF_T::ARB2: Dir Mask              */
+
+#define CAN_IF_ARB2_XTD_Pos             (14)                                              /*!< CAN_IF_T::ARB2: Xtd Position          */
+#define CAN_IF_ARB2_XTD_Msk             (0x1ul << CAN_IF_ARB2_XTD_Pos)                   /*!< CAN_IF_T::ARB2: Xtd Mask              */
+
+#define CAN_IF_ARB2_MSGVAL_Pos          (15)                                              /*!< CAN_IF_T::ARB2: MsgVal Position       */
+#define CAN_IF_ARB2_MSGVAL_Msk          (0x1ul << CAN_IF_ARB2_MSGVAL_Pos)                /*!< CAN_IF_T::ARB2: MsgVal Mask           */
+
+#define CAN_IF_MCON_DLC_Pos             (0)                                               /*!< CAN_IF_T::MCON: DLC Position          */
+#define CAN_IF_MCON_DLC_Msk             (0xful << CAN_IF_MCON_DLC_Pos)                   /*!< CAN_IF_T::MCON: DLC Mask              */
+
+#define CAN_IF_MCON_EOB_Pos             (7)                                               /*!< CAN_IF_T::MCON: EoB Position          */
+#define CAN_IF_MCON_EOB_Msk             (0x1ul << CAN_IF_MCON_EOB_Pos)                   /*!< CAN_IF_T::MCON: EoB Mask              */
+
+#define CAN_IF_MCON_TxRqst_Pos          (8)                                               /*!< CAN_IF_T::MCON: TxRqst Position       */
+#define CAN_IF_MCON_TxRqst_Msk          (0x1ul << CAN_IF_MCON_TxRqst_Pos)                /*!< CAN_IF_T::MCON: TxRqst Mask           */
+
+#define CAN_IF_MCON_RmtEn_Pos           (9)                                               /*!< CAN_IF_T::MCON: RmtEn Position        */
+#define CAN_IF_MCON_RmtEn_Msk           (0x1ul << CAN_IF_MCON_RmtEn_Pos)                 /*!< CAN_IF_T::MCON: RmtEn Mask            */
+
+#define CAN_IF_MCON_RXIE_Pos            (10)                                              /*!< CAN_IF_T::MCON: RxIE Position         */
+#define CAN_IF_MCON_RXIE_Msk            (0x1ul << CAN_IF_MCON_RXIE_Pos)                  /*!< CAN_IF_T::MCON: RxIE Mask             */
+
+#define CAN_IF_MCON_TXIE_Pos            (11)                                              /*!< CAN_IF_T::MCON: TxIE Position         */
+#define CAN_IF_MCON_TXIE_Msk            (0x1ul << CAN_IF_MCON_TXIE_Pos)                  /*!< CAN_IF_T::MCON: TxIE Mask             */
+
+#define CAN_IF_MCON_UMASK_Pos           (12)                                              /*!< CAN_IF_T::MCON: UMask Position        */
+#define CAN_IF_MCON_UMASK_Msk           (0x1ul << CAN_IF_MCON_UMASK_Pos)                 /*!< CAN_IF_T::MCON: UMask Mask            */
+
+#define CAN_IF_MCON_IntPnd_Pos          (13)                                              /*!< CAN_IF_T::MCON: IntPnd Position       */
+#define CAN_IF_MCON_IntPnd_Msk          (0x1ul << CAN_IF_MCON_IntPnd_Pos)                /*!< CAN_IF_T::MCON: IntPnd Mask           */
+
+#define CAN_IF_MCON_MsgLst_Pos          (14)                                              /*!< CAN_IF_T::MCON: MsgLst Position       */
+#define CAN_IF_MCON_MsgLst_Msk          (0x1ul << CAN_IF_MCON_MsgLst_Pos)                /*!< CAN_IF_T::MCON: MsgLst Mask           */
+
+#define CAN_IF_MCON_NEWDAT_Pos          (15)                                              /*!< CAN_IF_T::MCON: NewDat Position       */
+#define CAN_IF_MCON_NEWDAT_Msk          (0x1ul << CAN_IF_MCON_NEWDAT_Pos)                 /*!< CAN_IF_T::MCON: NewDat Mask           */
+
+#define CAN_IF_DAT_A1_DATA0_Pos       (0)                                               /*!< CAN_IF_T::DAT_A1: Data_0_ Position    */
+#define CAN_IF_DAT_A1_DATA0_Msk       (0xfful << CAN_IF_DAT_A1_DATA0_Pos)            /*!< CAN_IF_T::DAT_A1: Data_0_ Mask        */
+
+#define CAN_IF_DAT_A1_DATA1_Pos       (8)                                               /*!< CAN_IF_T::DAT_A1: Data_1_ Position    */
+#define CAN_IF_DAT_A1_DATA1_Msk       (0xfful << CAN_IF_DAT_A1_DATA1_Pos)            /*!< CAN_IF_T::DAT_A1: Data_1_ Mask        */
+
+#define CAN_IF_DAT_A2_DATA2_Pos       (0)                                               /*!< CAN_IF_T::DAT_A2: Data_2_ Position    */
+#define CAN_IF_DAT_A2_DATA2_Msk       (0xfful << CAN_IF_DAT_A2_DATA2_Pos)            /*!< CAN_IF_T::DAT_A2: Data_2_ Mask        */
+
+#define CAN_IF_DAT_A2_DATA3_Pos       (8)                                               /*!< CAN_IF_T::DAT_A2: Data_3_ Position    */
+#define CAN_IF_DAT_A2_DATA3_Msk       (0xfful << CAN_IF_DAT_A2_DATA3_Pos)            /*!< CAN_IF_T::DAT_A2: Data_3_ Mask        */
+
+#define CAN_IF_DAT_B1_DATA4_Pos       (0)                                               /*!< CAN_IF_T::DAT_B1: Data_4_ Position    */
+#define CAN_IF_DAT_B1_DATA4_Msk       (0xfful << CAN_IF_DAT_B1_DATA4_Pos)            /*!< CAN_IF_T::DAT_B1: Data_4_ Mask        */
+
+#define CAN_IF_DAT_B1_DATA5_Pos       (8)                                               /*!< CAN_IF_T::DAT_B1: Data_5_ Position    */
+#define CAN_IF_DAT_B1_DATA5_Msk       (0xfful << CAN_IF_DAT_B1_DATA5_Pos)            /*!< CAN_IF_T::DAT_B1: Data_5_ Mask        */
+
+#define CAN_IF_DAT_B2_DATA6_Pos       (0)                                               /*!< CAN_IF_T::DAT_B2: Data_6_ Position    */
+#define CAN_IF_DAT_B2_DATA6_Msk       (0xfful << CAN_IF_DAT_B2_DATA6_Pos)            /*!< CAN_IF_T::DAT_B2: Data_6_ Mask        */
+
+#define CAN_IF_DAT_B2_DATA7_Pos       (8)                                               /*!< CAN_IF_T::DAT_B2: Data_7_ Position    */
+#define CAN_IF_DAT_B2_DATA7_Msk       (0xfful << CAN_IF_DAT_B2_DATA7_Pos)            /*!< CAN_IF_T::DAT_B2: Data_7_ Mask        */
+
+#define CAN_TXREQ1_TXRQST16_1_Pos        (0)                                               /*!< CAN_T::TXREQ1: TxRqst16_1 Position     */
+#define CAN_TXREQ1_TXRQST16_1_Msk        (0xfffful << CAN_TXREQ1_TXRQST16_1_Pos)           /*!< CAN_T::TXREQ1: TxRqst16_1 Mask         */
+
+#define CAN_TXREQ2_TXRQST32_17_Pos       (0)                                               /*!< CAN_T::TXREQ2: TxRqst32_17 Position    */
+#define CAN_TXREQ2_TXRQST32_17_Msk       (0xfffful << CAN_TXREQ2_TXRQST32_17_Pos)          /*!< CAN_T::TXREQ2: TxRqst32_17 Mask        */
+
+#define CAN_NDAT1_NewData16_1_Pos        (0)                                               /*!< CAN_T::NDAT1: NewData16_1 Position     */
+#define CAN_NDAT1_NewData16_1_Msk        (0xfffful << CAN_NDAT1_NewData16_1_Pos)           /*!< CAN_T::NDAT1: NewData16_1 Mask         */
+
+#define CAN_NDAT2_NewData32_17_Pos       (0)                                               /*!< CAN_T::NDAT2: NewData32_17 Position    */
+#define CAN_NDAT2_NewData32_17_Msk       (0xfffful << CAN_NDAT2_NewData32_17_Pos)          /*!< CAN_T::NDAT2: NewData32_17 Mask        */
+
+#define CAN_IPND1_IntPnd16_1_Pos         (0)                                               /*!< CAN_T::IPND1: IntPnd16_1 Position      */
+#define CAN_IPND1_IntPnd16_1_Msk         (0xfffful << CAN_IPND1_IntPnd16_1_Pos)            /*!< CAN_T::IPND1: IntPnd16_1 Mask          */
+
+#define CAN_IPND2_IntPnd32_17_Pos        (0)                                               /*!< CAN_T::IPND2: IntPnd32_17 Position     */
+#define CAN_IPND2_IntPnd32_17_Msk        (0xfffful << CAN_IPND2_IntPnd32_17_Pos)           /*!< CAN_T::IPND2: IntPnd32_17 Mask         */
+
+#define CAN_MVLD1_MsgVal16_1_Pos         (0)                                               /*!< CAN_T::MVLD1: MsgVal16_1 Position      */
+#define CAN_MVLD1_MsgVal16_1_Msk         (0xfffful << CAN_MVLD1_MsgVal16_1_Pos)            /*!< CAN_T::MVLD1: MsgVal16_1 Mask          */
+
+#define CAN_MVLD2_MsgVal32_17_Pos        (0)                                               /*!< CAN_T::MVLD2: MsgVal32_17 Position     */
+#define CAN_MVLD2_MsgVal32_17_Msk        (0xfffful << CAN_MVLD2_MsgVal32_17_Pos)           /*!< CAN_T::MVLD2: MsgVal32_17 Mask         */
+
+#define CAN_WU_EN_WAKUP_EN_Pos           (0)                                               /*!< CAN_T::WU_EN: WAKUP_EN Position        */
+#define CAN_WU_EN_WAKUP_EN_Msk           (0x1ul << CAN_WU_EN_WAKUP_EN_Pos)                 /*!< CAN_T::WU_EN: WAKUP_EN Mask            */
+
+#define CAN_WU_STATUS_WAKUP_STS_Pos      (0)                                               /*!< CAN_T::WU_STATUS: WAKUP_STS Position   */
+#define CAN_WU_STATUS_WAKUP_STS_Msk      (0x1ul << CAN_WU_STATUS_WAKUP_STS_Pos)            /*!< CAN_T::WU_STATUS: WAKUP_STS Mask       */
+
+/**@}*/ /* CAN_CONST */
+/**@}*/ /* end of CAN register group */
+/**@}*/ /* end of REGISTER group */
+
+#if defined ( __CC_ARM   )
+#pragma no_anon_unions
+#endif
+
+#endif /* __CAN_REG_H__ */

+ 496 - 0
dap_link/lib/free-dap/platform/m484/include/ccap_reg.h

@@ -0,0 +1,496 @@
+/**************************************************************************//**
+ * @file     ccap_reg.h
+ * @version  V1.00
+ * @brief    CCAP register definition header file
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __CCAP_REG_H__
+#define __CCAP_REG_H__
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/**
+   @addtogroup REGISTER Control Register
+   @{
+*/
+
+/**
+    @addtogroup CCAP Camera Capture Interface Controller (CCAP)
+    Memory Mapped Structure for CCAP Controller
+@{ */
+
+
+typedef struct {
+
+
+    /**
+     * @var CCAP_T::CTL
+     * Offset: 0x00  Camera Capture Interface Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CCAPEN    |Camera Capture Interface Enable
+     * |        |          |0 = Camera Capture Interface Disabled.
+     * |        |          |1 = Camera Capture Interface Enabled.
+     * |[3]     |ADDRSW    |Packet Buffer Address Switch
+     * |        |          |0 = Packet buffer address switch Disabled.
+     * |        |          |1 = Packet buffer address switch Enabled.
+     * |[6]     |PKTEN     |Packet Output Enable
+     * |        |          |0 = Packet output Disabled.
+     * |        |          |1 = Packet output Enabled.
+     * |[7]     |MONO      |Monochrome CMOS Sensor Select
+     * |        |          |0 = Color CMOS Sensor.
+     * |        |          |1 = Monochrome CMOS Sensor. The U/V components are ignored when the MONO is enabled.
+     * |[16]    |SHUTTER   |Image Capture Interface Automatically Disable The Capture Interface After A Frame Had Been Captured
+     * |        |          |0 = Shutter Disabled.
+     * |        |          |1 = Shutter Enabled.
+     * |[20]    |UPDATE    |Update Register At New Frame
+     * |        |          |0 = Update register at new frame Disabled.
+     * |        |          |1 = Update register at new frame Enabled (Auto clear to 0 when register updated).
+     * |[24]    |VPRST     |Capture Interface Reset
+     * |        |          |0 = Capture interface reset Disabled.
+     * |        |          |1 = Capture interface reset Enabled.
+     * @var CCAP_T::PAR
+     * Offset: 0x04  Camera Capture Interface Parameter Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |INFMT     |Sensor Input Data Format
+     * |        |          |0 = YCbCr422.
+     * |        |          |1 = RGB565.
+     * |[1]     |SENTYPE   |Sensor Input Type
+     * |        |          |0 = CCIR601.
+     * |        |          |1 = CCIR656, VSync & Hsync embedded in the data signal.
+     * |[2:3]   |INDATORD  |Sensor Input Data Order
+     * |        |          |If INFMT = 0 (YCbCr),.
+     * |        |          | Byte 0 1 2 3
+     * |        |          |00 = Y0 U0 Y1 V0.
+     * |        |          |01 = Y0 V0 Y1 U0.
+     * |        |          |10 = U0 Y0 V0 Y1.
+     * |        |          |11 = V0 Y0 U0 Y1.
+     * |        |          |If INFMT = 1 (RGB565),.
+     * |        |          |00 = Byte0[R[4:0] G[5:3]] Byte1[G[2:0] B[4:0]]
+     * |        |          |01 = Byte0[B[4:0] G[5:3]] Byte1[G[2:0] R[4:0]]
+     * |        |          |10 = Byte0[G[2:0] B[4:0]] Byte1[R[4:0] G[5:3]]
+     * |        |          |11 = Byte0[G[2:0] R[4:0]] Byte1[B[4:0] G[5:3]]
+     * |[4:5]   |OUTFMT    |Image Data Format Output To System Memory
+     * |        |          |00 = YCbCr422.
+     * |        |          |01 = Only output Y.
+     * |        |          |10 = RGB555.
+     * |        |          |11 = RGB565.
+     * |[6]     |RANGE     |Scale Input YUV CCIR601 Color Range To Full Range
+     * |        |          |0 = default.
+     * |        |          |1 = Scale to full range.
+     * |[8]     |PCLKP     |Sensor Pixel Clock Polarity
+     * |        |          |0 = Input video data and signals are latched by falling edge of Pixel Clock.
+     * |        |          |1 = Input video data and signals are latched by rising edge of Pixel Clock.
+     * |[9]     |HSP       |Sensor Hsync Polarity
+     * |        |          |0 = Sync Low.
+     * |        |          |1 = Sync High.
+     * |[10]    |VSP       |Sensor Vsync Polarity
+     * |        |          |0 = Sync Low.
+     * |        |          |1 = Sync High.
+     * |[18]    |FBB       |Field By Blank
+     * |        |          |Hardware will tag field0 or field1 by vertical blanking instead of FIELD flag in CCIR-656 mode.
+     * |        |          |0 = Field by blank Disabled.
+     * |        |          |1 = Field by blank Enabled.
+     * @var CCAP_T::INT
+     * Offset: 0x08  Camera Capture Interface Interrupt Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |VINTF     |Video Frame End Interrupt
+     * |        |          |If this bit shows 1, receiving a frame completed.
+     * |        |          |Write 1 to clear it.
+     * |[1]     |MEINTF    |Bus Master Transfer Error Interrupt
+     * |        |          |If this bit shows 1, Transfer Error occurred. Write 1 to clear it.
+     * |[3]     |ADDRMINTF |Memory Address Match Interrupt
+     * |        |          |If this bit shows 1, Memory Address Match Interrupt occurred.
+     * |        |          |Write 1 to clear it.
+     * |[4]     |MDINTF    |Motion Detection Output Finish Interrupt
+     * |        |          |If this bit shows 1, Motion Detection Output Finish Interrupt occurred.
+     * |        |          |Write 1 to clear it.
+     * |[16]    |VIEN      |Video Frame End Interrupt Enable
+     * |        |          |0 = Video frame end interrupt Disabled.
+     * |        |          |1 = Video frame end interrupt Enabled.
+     * |[17]    |MEIEN     |System Memory Error Interrupt Enable
+     * |        |          |0 = System memory error interrupt Disabled.
+     * |        |          |1 = System memory error interrupt Enabled.
+     * |[19]    |ADDRMIEN  |Address Match Interrupt Enable
+     * |        |          |0 = Address match interrupt Disabled.
+     * |        |          |1 = Address match interrupt Enabled.
+     * @var CCAP_T::POSTERIZE
+     * Offset: 0x0C  YUV Component Posterizing Factor Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:7]   |VCOMP     |V Component Posterizing Factor
+     * |        |          |Final_V_Out = Original_V[7:0] & V_Posterizing_Factor.
+     * |[8:15]  |UCOMP     |U Component Posterizing Factor
+     * |        |          |Final_U_Out = Original_U[7:0] & U_Posterizing_Factor.
+     * |[16:23] |YCOMP     |Y Component Posterizing Factor
+     * |        |          |Final_Y_Out = Original_Y[7:0] & Y_Posterizing_Factor.
+     * @var CCAP_T::MD
+     * Offset: 0x10  Motion Detection Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |MDEN      |Motion Detection Enable
+     * |        |          |0 = CCAP_MD Disabled.
+     * |        |          |1 = CCAP_MD Enabled.
+     * |[8]     |MDBS      |Motion Detection Block Size
+     * |        |          |0 = 16x16.
+     * |        |          |1 = 8x8.
+     * |[9]     |MDSM      |Motion Detection Save Mode
+     * |        |          |0 = 1 bit DIFF + 7 bit Y Differential.
+     * |        |          |1 = 1 bit DIFF only.
+     * |[10:11] |MDDF      |Motion Detection Detect Frequency
+     * |        |          |00 = Each frame.
+     * |        |          |01 = Every 2 frame.
+     * |        |          |10 = Every 3 frame.
+     * |        |          |11 = Every 4 frame.
+     * |[16:20] |MDTHR     |Motion Detection Differential Threshold
+     * @var CCAP_T::MDADDR
+     * Offset: 0x14  Motion Detection Output Address Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:31]  |MDADDR    |Motion Detection Output Address Register (Word Alignment)
+     * @var CCAP_T::MDYADDR
+     * Offset: 0x18  Motion Detection Temp Y Output Address Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:31]  |MDYADDR   |Motion Detection Temp Y Output Address Register (Word Alignment)
+     * @var CCAP_T::SEPIA
+     * Offset: 0x1C  Sepia Effect Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:7]   |VCOMP     |Define the constant V component while Sepia color effect is turned on.
+     * |[8:15]  |UCOMP     |Define the constant U component while Sepia color effect is turned on.
+     * @var CCAP_T::CWSP
+     * Offset: 0x20  Cropping Window Starting Address Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:11]  |CWSADDRH  |Cropping Window Horizontal Starting Address
+     * |[16:26] |CWSADDRV  |Cropping Window Vertical Starting Address
+     * @var CCAP_T::CWS
+     * Offset: 0x24  Cropping Window Size Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:11]  |CIWW      |Cropping Image Window Width
+     * |[16:26] |CIWH      |Cropping Image Window Height
+     * @var CCAP_T::PKTSL
+     * Offset: 0x28  Packet Scaling Vertical/Horizontal Factor Register (LSB)
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:7]   |PKTSHML   |Packet Scaling Horizontal Factor M (Lower 8-Bit)
+     * |        |          |Specifies the lower 8-bit of denominator part (M) of the horizontal scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PKDSHMH) to form a 16-bit denominator (M) of vertical factor.
+     * |        |          |The output image width will be equal to the image width * N/M.
+     * |        |          |Note: The value of N must be equal to or less than M.
+     * |[8:15]  |PKTSHNL   |Packet Scaling Horizontal Factor N (Lower 8-Bit)
+     * |        |          |Specify the lower 8-bit of numerator part (N) of the horizontal scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PKDSHNH) to form a 16-bit numerator of horizontal factor.
+     * |[16:23] |PKTSVML   |Packet Scaling Vertical Factor M (Lower 8-Bit)
+     * |        |          |Specify the lower 8-bit of denominator part (M) of the vertical scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PKDSVMH) to form a 16-bit denominator (M) of vertical factor.
+     * |        |          |The output image width will be equal to the image height * N/M.
+     * |        |          |Note: The value of N must be equal to or less than M.
+     * |[24:31] |PKTSVNL   |Packet Scaling Vertical Factor N (Lower 8-Bit)
+     * |        |          |Specify the lower 8-bit of numerator part (N) of the vertical scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PKDSVNH) to form a 16-bit numerator of vertical factor
+     * @var CCAP_T::PLNSL
+     * Offset: 0x2C  Planar Scaling Vertical/Horizontal Factor Register (LSB)
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:7]   |PLNSHML   |Planar Scaling Horizontal Factor M (Lower 8-Bit)
+     * |        |          |Specify the lower 8-bit of denominator part (M) of the horizontal scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PNDSHMH) to form a 16-bit denominator (M) of vertical factor.
+     * |        |          |The output image width will be equal to the image width * N/M.
+     * |        |          |Note: The value of N must be equal to or less than M.
+     * |[8:15]  |PLNSHNL   |Planar Scaling Horizontal Factor N (Lower 8-Bit)
+     * |        |          |Specify the lower 8-bit of numerator part (N) of the horizontal scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PNDSHNH) to form a 16-bit numerator of horizontal factor.
+     * |[16:23] |PLNSVML   |Planar Scaling Vertical Factor M (Lower 8-Bit)
+     * |        |          |Specify the lower 8-bit of denominator part (M) of the vertical scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PNDSVMH) to form a 16-bit denominator (M) of vertical factor.
+     * |        |          |The output image width will be equal to the image height * N/M.
+     * |        |          |Note: The value of N must be equal to or less than M.
+     * |[24:31] |PLNSVNL   |Planar Scaling Vertical Factor N (Lower 8-Bit)
+     * |        |          |Specify the lower 8-bit of numerator part (N) of the vertical scaling factor.
+     * |        |          |The lower 8-bit will be cascaded with higher 8-bit (PNDSVNH) to form a 16-bit numerator of vertical factor.
+     * @var CCAP_T::FRCTL
+     * Offset: 0x30  Scaling Frame Rate Factor Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:5]   |FRM       |Scaling Frame Rate Factor M
+     * |        |          |Specify the denominator part (M) of the frame rate scaling factor.
+     * |        |          |The output image frame rate will be equal to input image frame rate * (N/M).
+     * |        |          |Note: The value of N must be equal to or less than M.
+     * |[8:13]  |FRN       |Scaling Frame Rate Factor N
+     * |        |          |Specify the denominator part (N) of the frame rate scaling factor.
+     * @var CCAP_T::STRIDE
+     * Offset: 0x34  Frame Output Pixel Stride Width Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:13]  |PKTSTRIDE |Packet Frame Output Pixel Stride Width
+     * |        |          |The output pixel stride size of packet pipe.
+     * |[16:29] |PLNSTRIDE |Planar Frame Output Pixel Stride Width
+     * |        |          |The output pixel stride size of planar pipe.
+     * @var CCAP_T::FIFOTH
+     * Offset: 0x3C  FIFO Threshold Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:3]   |PLNVFTH   |Planar V FIFO Threshold
+     * |[8:11]  |PLNUFTH   |Planar U FIFO Threshold
+     * |[16:20] |PLNYFTH   |Planar Y FIFO Threshold
+     * |[24:28] |PKTFTH    |Packet FIFO Threshold
+     * |[31]    |OVF       |FIFO Overflow Flag
+     * @var CCAP_T::CMPADDR
+     * Offset: 0x40  Compare Memory Base Address Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:31]  |CMPADDR   |Compare Memory Base Address
+     * |        |          |Word aligns address; ignore the bits [1:0].
+     * @var CCAP_T::LUMA_Y1_THD
+     * Offset: 0x44  Luminance Y8 to Y1 Threshold Value Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field          |Descriptions
+     * | :----: | :-----------: | :---- |
+     * |[0:8]   |LUMA_Y1_THRESH |Luminance Y8 to Y1 Threshold Value
+     * |        |               |Specify the 8-bit threshold value for the luminance Y bit-8 to the luminance Y 1-bit conversion.
+     * @var CCAP_T::PKTSM
+     * Offset: 0x48  Packet Scaling Vertical/Horizontal Factor Register (MSB)
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:7]   |PKTSHMH   |Packet Scaling Horizontal Factor M (Higher 8-Bit)
+     * |        |          |Specify the lower 8-bit of denominator part (M) of the horizontal scaling factor.
+     * |        |          |Please refer to the register CCAP_PKTSL?for the detailed operation.
+     * |[8:15]  |PKTSHNH   |Packet Scaling Horizontal Factor N (Higher 8-Bit)
+     * |        |          |Specify the lower 8-bit of numerator part (N) of the horizontal scaling factor.
+     * |        |          |Please refer to the register CCAP_PKTSL for the detailed operation.
+     * |[16:23] |PKTSVMH   |Packet Scaling Vertical Factor M (Higher 8-Bit)
+     * |        |          |Specify the lower 8-bit of denominator part (M) of the vertical scaling factor.
+     * |        |          |Please refer to the register CCAP_PKTSL to check the cooperation between these two registers.
+     * |[24:31] |PKTSVNH   |Packet Scaling Vertical Factor N (Higher 8-Bit)
+     * |        |          |Specify the higher 8-bit of numerator part (N) of the vertical scaling factor.
+     * |        |          |Please refer to the register CCAP_PKTSL?to check the cooperation between these two registers.
+     * @var CCAP_T::PKTBA0
+     * Offset: 0x60  System Memory Packet Base Address 0 Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0:31]  |BASEADDR  |System Memory Packet Base Address 0
+     * |        |          |Word aligns address; ignore the bits [1:0].
+     */
+    __IO uint32_t CTL;
+    __IO uint32_t PAR;
+    __IO uint32_t INT;
+    __IO uint32_t POSTERIZE;
+    __IO uint32_t MD;
+    __IO uint32_t MDADDR;
+    __IO uint32_t MDYADDR;
+    __IO uint32_t SEPIA;
+    __IO uint32_t CWSP;
+    __IO uint32_t CWS;
+    __IO uint32_t PKTSL;
+    __IO uint32_t PLNSL;
+    __IO uint32_t FRCTL;
+    __IO uint32_t STRIDE;
+    /// @cond HIDDEN_SYMBOLS
+    uint32_t RESERVE0[1];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t FIFOTH;
+    __IO uint32_t CMPADDR;
+    __IO uint32_t LUMA_Y1_THD;
+    __IO uint32_t PKTSM;
+    /// @cond HIDDEN_SYMBOLS
+    uint32_t RESERVE2[5];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t PKTBA0;
+} CCAP_T;
+
+/**
+    @addtogroup CCAP_CONST CCAP Bit Field Definition
+    Constant Definitions for CCAP Controller
+@{ */
+
+#define CCAP_CTL_CCAPEN_Pos               (0)                                               /*!< CCAP_T::CTL: CCAPEN Position                */
+#define CCAP_CTL_CCAPEN_Msk               (0x1ul << CCAP_CTL_CCAPEN_Pos)                     /*!< CCAP_T::CTL: CCAPEN Mask                    */
+
+#define CCAP_CTL_ADDRSW_Pos               (3)                                               /*!< CCAP_T::CTL: ADDRSW Position               */
+#define CCAP_CTL_ADDRSW_Msk               (0x1ul << CCAP_CTL_ADDRSW_Pos)                     /*!< CCAP_T::CTL: ADDRSW Mask                   */
+
+#define CCAP_CTL_PLNEN_Pos                (5)                                               /*!< CCAP_T::CTL: PLNEN Position                */
+#define CCAP_CTL_PLNEN_Msk                (0x1ul << CCAP_CTL_PLNEN_Pos)                      /*!< CCAP_T::CTL: PLNEN Mask                    */
+
+#define CCAP_CTL_PKTEN_Pos                (6)                                               /*!< CCAP_T::CTL: PKTEN Position                */
+#define CCAP_CTL_PKTEN_Msk                (0x1ul << CCAP_CTL_PKTEN_Pos)                      /*!< CCAP_T::CTL: PKTEN Mask                    */
+
+#define CCAP_CTL_MONO_Pos                 (7)                                               /*!< CCAP_T::CTL: MONO Position                */
+#define CCAP_CTL_MONO_Msk                 (0x1ul << CCAP_CTL_MONO_Pos)                       /*!< CCAP_T::CTL: MONO Mask                    */
+
+#define CCAP_CTL_SHUTTER_Pos              (16)                                              /*!< CCAP_T::CTL: SHUTTER Position              */
+#define CCAP_CTL_SHUTTER_Msk              (0x1ul << CCAP_CTL_SHUTTER_Pos)                    /*!< CCAP_T::CTL: SHUTTER Mask                  */
+
+#define CCAP_CTL_MY4_SWAP_Pos             (17)                                              /*!< CCAP_T::CTL: MY4_SWAP Position              */
+#define CCAP_CTL_MY4_SWAP_Msk             (0x1ul << CCAP_CTL_MY4_SWAP_Pos)                   /*!< CCAP_T::CTL: MY4_SWAP Mask                  */
+
+#define CCAP_CTL_MY8_MY4_Pos              (18)                                              /*!< CCAP_T::CTL: MY8_MY4 Position              */
+#define CCAP_CTL_MY8_MY4_Msk              (0x1ul << CCAP_CTL_MY8_MY4_Pos)                    /*!< CCAP_T::CTL: MY8_MY4 Mask                  */
+
+#define CCAP_CTL_Luma_Y_One_Pos           (19)                                              /*!< CCAP_T::CTL: Luma_Y_One Position              */
+#define CCAP_CTL_Luma_Y_One_Msk           (0x1ul << CCAP_CTL_Luma_Y_One_Pos)                 /*!< CCAP_T::CTL: Luma_Y_One Mask                  */
+
+#define CCAP_CTL_UPDATE_Pos               (20)                                              /*!< CCAP_T::CTL: UPDATE Position               */
+#define CCAP_CTL_UPDATE_Msk               (0x1ul << CCAP_CTL_UPDATE_Pos)                     /*!< CCAP_T::CTL: UPDATE Mask                   */
+
+#define CCAP_CTL_VPRST_Pos                (24)                                              /*!< CCAP_T::CTL: VPRST Position                */
+#define CCAP_CTL_VPRST_Msk                (0x1ul << CCAP_CTL_VPRST_Pos)                      /*!< CCAP_T::CTL: VPRST Mask                    */
+
+#define CCAP_PAR_INFMT_Pos                (0)                                               /*!< CCAP_T::PAR: INFMT Position                */
+#define CCAP_PAR_INFMT_Msk                (0x1ul << CCAP_PAR_INFMT_Pos)                      /*!< CCAP_T::PAR: INFMT Mask                    */
+
+#define CCAP_PAR_SENTYPE_Pos              (1)                                               /*!< CCAP_T::PAR: SENTYPE Position              */
+#define CCAP_PAR_SENTYPE_Msk              (0x1ul << CCAP_PAR_SENTYPE_Pos)                    /*!< CCAP_T::PAR: SENTYPE Mask                  */
+
+#define CCAP_PAR_INDATORD_Pos             (2)                                               /*!< CCAP_T::PAR: INDATORD Position             */
+#define CCAP_PAR_INDATORD_Msk             (0x3ul << CCAP_PAR_INDATORD_Pos)                   /*!< CCAP_T::PAR: INDATORD Mask                 */
+
+#define CCAP_PAR_OUTFMT_Pos               (4)                                               /*!< CCAP_T::PAR: OUTFMT Position               */
+#define CCAP_PAR_OUTFMT_Msk               (0x3ul << CCAP_PAR_OUTFMT_Pos)                     /*!< CCAP_T::PAR: OUTFMT Mask                   */
+
+#define CCAP_PAR_RANGE_Pos                (6)                                               /*!< CCAP_T::PAR: RANGE Position                */
+#define CCAP_PAR_RANGE_Msk                (0x1ul << CCAP_PAR_RANGE_Pos)                      /*!< CCAP_T::PAR: RANGE Mask                    */
+
+#define CCAP_PAR_PLNFMT_Pos               (7)                                               /*!< CCAP_T::PAR: PLNFMT Position               */
+#define CCAP_PAR_PLNFMT_Msk               (0x1ul << CCAP_PAR_PLNFMT_Pos)                     /*!< CCAP_T::PAR: PLNFMT Mask                   */
+
+#define CCAP_PAR_PCLKP_Pos                (8)                                               /*!< CCAP_T::PAR: PCLKP Position                */
+#define CCAP_PAR_PCLKP_Msk                (0x1ul << CCAP_PAR_PCLKP_Pos)                      /*!< CCAP_T::PAR: PCLKP Mask                    */
+
+#define CCAP_PAR_HSP_Pos                  (9)                                               /*!< CCAP_T::PAR: HSP Position                  */
+#define CCAP_PAR_HSP_Msk                  (0x1ul << CCAP_PAR_HSP_Pos)                        /*!< CCAP_T::PAR: HSP Mask                      */
+
+#define CCAP_PAR_VSP_Pos                  (10)                                              /*!< CCAP_T::PAR: VSP Position                  */
+#define CCAP_PAR_VSP_Msk                  (0x1ul << CCAP_PAR_VSP_Pos)                        /*!< CCAP_T::PAR: VSP Mask                      */
+
+#define CCAP_PAR_COLORCTL_Pos             (11)                                              /*!< CCAP_T::PAR: COLORCTL Position             */
+#define CCAP_PAR_COLORCTL_Msk             (0x3ul << CCAP_PAR_COLORCTL_Pos)                   /*!< CCAP_T::PAR: COLORCTL Mask                 */
+
+#define CCAP_PAR_FBB_Pos                  (18)                                              /*!< CCAP_T::PAR: FBB Position                  */
+#define CCAP_PAR_FBB_Msk                  (0x1ul << CCAP_PAR_FBB_Pos)                        /*!< CCAP_T::PAR: FBB Mask                      */
+
+#define CCAP_INT_VINTF_Pos                (0)                                               /*!< CCAP_T::INT: VINTF Position                */
+#define CCAP_INT_VINTF_Msk                (0x1ul << CCAP_INT_VINTF_Pos)                      /*!< CCAP_T::INT: VINTF Mask                    */
+
+#define CCAP_INT_MEINTF_Pos               (1)                                               /*!< CCAP_T::INT: MEINTF Position               */
+#define CCAP_INT_MEINTF_Msk               (0x1ul << CCAP_INT_MEINTF_Pos)                     /*!< CCAP_T::INT: MEINTF Mask                   */
+
+#define CCAP_INT_ADDRMINTF_Pos            (3)                                               /*!< CCAP_T::INT: ADDRMINTF Position            */
+#define CCAP_INT_ADDRMINTF_Msk            (0x1ul << CCAP_INT_ADDRMINTF_Pos)                  /*!< CCAP_T::INT: ADDRMINTF Mask                */
+
+#define CCAP_INT_MDINTF_Pos               (4)                                               /*!< CCAP_T::INT: MDINTF Position               */
+#define CCAP_INT_MDINTF_Msk               (0x1ul << CCAP_INT_MDINTF_Pos)                     /*!< CCAP_T::INT: MDINTF Mask                   */
+
+#define CCAP_INT_VIEN_Pos                 (16)                                              /*!< CCAP_T::INT: VIEN Position                 */
+#define CCAP_INT_VIEN_Msk                 (0x1ul << CCAP_INT_VIEN_Pos)                       /*!< CCAP_T::INT: VIEN Mask                     */
+
+#define CCAP_INT_MEIEN_Pos                (17)                                              /*!< CCAP_T::INT: MEIEN Position                */
+#define CCAP_INT_MEIEN_Msk                (0x1ul << CCAP_INT_MEIEN_Pos)                      /*!< CCAP_T::INT: MEIEN Mask                    */
+
+#define CCAP_INT_ADDRMIEN_Pos             (19)                                              /*!< CCAP_T::INT: ADDRMIEN Position             */
+#define CCAP_INT_ADDRMIEN_Msk             (0x1ul << CCAP_INT_ADDRMIEN_Pos)                   /*!< CCAP_T::INT: ADDRMIEN Mask                 */
+
+#define CCAP_CWSP_CWSADDRH_Pos            (0)                                               /*!< CCAP_T::CWSP: CWSADDRH Position            */
+#define CCAP_CWSP_CWSADDRH_Msk            (0xffful << CCAP_CWSP_CWSADDRH_Pos)                /*!< CCAP_T::CWSP: CWSADDRH Mask                */
+
+#define CCAP_CWSP_CWSADDRV_Pos            (16)                                              /*!< CCAP_T::CWSP: CWSADDRV Position            */
+#define CCAP_CWSP_CWSADDRV_Msk            (0x7fful << CCAP_CWSP_CWSADDRV_Pos)                /*!< CCAP_T::CWSP: CWSADDRV Mask                */
+
+#define CCAP_CWS_CWW_Pos                  (0)                                               /*!< CCAP_T::CWS: CWW Position                 */
+#define CCAP_CWS_CWW_Msk                  (0xffful << CCAP_CWS_CWW_Pos)                      /*!< CCAP_T::CWS: CWW Mask                     */
+#define CCAP_CWS_CWH_Pos                  (16)                                              /*!< CCAP_T::CWS: CIWH Position                 */
+#define CCAP_CWS_CWH_Msk                  (0x7fful << CCAP_CWS_CWH_Pos)                      /*!< CCAP_T::CWS: CIWH Mask                     */
+
+#define CCAP_PKTSL_PKTSHML_Pos            (0)                                               /*!< CCAP_T::PKTSL: PKTSHML Position            */
+#define CCAP_PKTSL_PKTSHML_Msk            (0xfful << CCAP_PKTSL_PKTSHML_Pos)                 /*!< CCAP_T::PKTSL: PKTSHML Mask                */
+
+#define CCAP_PKTSL_PKTSHNL_Pos            (8)                                               /*!< CCAP_T::PKTSL: PKTSHNL Position            */
+#define CCAP_PKTSL_PKTSHNL_Msk            (0xfful << CCAP_PKTSL_PKTSHNL_Pos)                 /*!< CCAP_T::PKTSL: PKTSHNL Mask                */
+
+#define CCAP_PKTSL_PKTSVML_Pos            (16)                                              /*!< CCAP_T::PKTSL: PKTSVML Position            */
+#define CCAP_PKTSL_PKTSVML_Msk            (0xfful << CCAP_PKTSL_PKTSVML_Pos)                 /*!< CCAP_T::PKTSL: PKTSVML Mask                */
+
+#define CCAP_PKTSL_PKTSVNL_Pos            (24)                                              /*!< CCAP_T::PKTSL: PKTSVNL Position            */
+#define CCAP_PKTSL_PKTSVNL_Msk            (0xfful << CCAP_PKTSL_PKTSVNL_Pos)                 /*!< CCAP_T::PKTSL: PKTSVNL Mask                */
+
+#define CCAP_FRCTL_FRM_Pos                (0)                                               /*!< CCAP_T::FRCTL: FRM Position                */
+#define CCAP_FRCTL_FRM_Msk                (0x3ful << CCAP_FRCTL_FRM_Pos)                     /*!< CCAP_T::FRCTL: FRM Mask                    */
+
+#define CCAP_FRCTL_FRN_Pos                (8)                                               /*!< CCAP_T::FRCTL: FRN Position                */
+#define CCAP_FRCTL_FRN_Msk                (0x3ful << CCAP_FRCTL_FRN_Pos)                     /*!< CCAP_T::FRCTL: FRN Mask                    */
+
+#define CCAP_STRIDE_PKTSTRIDE_Pos         (0)                                               /*!< CCAP_T::STRIDE: PKTSTRIDE Position         */
+#define CCAP_STRIDE_PKTSTRIDE_Msk         (0x3ffful << CCAP_STRIDE_PKTSTRIDE_Pos)            /*!< CCAP_T::STRIDE: PKTSTRIDE Mask             */
+
+#define CCAP_STRIDE_PLNSTRIDE_Pos         (16)                                              /*!< CCAP_T::STRIDE: PLNSTRIDE Position         */
+#define CCAP_STRIDE_PLNSTRIDE_Msk         (0x3ffful << CCAP_STRIDE_PLNSTRIDE_Pos)            /*!< CCAP_T::STRIDE: PLNSTRIDE Mask             */
+
+#define CCAP_FIFOTH_PLNVFTH_Pos           (0)                                               /*!< CCAP_T::FIFOTH: PLNVFTH Position           */
+#define CCAP_FIFOTH_PLNVFTH_Msk           (0xful << CCAP_FIFOTH_PLNVFTH_Pos)                 /*!< CCAP_T::FIFOTH: PLNVFTH Mask               */
+
+#define CCAP_FIFOTH_PLNUFTH_Pos           (8)                                               /*!< CCAP_T::FIFOTH: PLNUFTH Position           */
+#define CCAP_FIFOTH_PLNUFTH_Msk           (0xful << CCAP_FIFOTH_PLNUFTH_Pos)                 /*!< CCAP_T::FIFOTH: PLNUFTH Mask               */
+
+#define CCAP_FIFOTH_PLNYFTH_Pos           (16)                                              /*!< CCAP_T::FIFOTH: PLNYFTH Position           */
+#define CCAP_FIFOTH_PLNYFTH_Msk           (0x1ful << CCAP_FIFOTH_PLNYFTH_Pos)                /*!< CCAP_T::FIFOTH: PLNYFTH Mask               */
+
+#define CCAP_FIFOTH_PKTFTH_Pos            (24)                                              /*!< CCAP_T::FIFOTH: PKTFTH Position            */
+#define CCAP_FIFOTH_PKTFTH_Msk            (0x1ful << CCAP_FIFOTH_PKTFTH_Pos)                 /*!< CCAP_T::FIFOTH: PKTFTH Mask                */
+
+#define CCAP_FIFOTH_OVF_Pos               (31)                                              /*!< CCAP_T::FIFOTH: OVF Position               */
+#define CCAP_FIFOTH_OVF_Msk               (0x1ul << CCAP_FIFOTH_OVF_Pos)                     /*!< CCAP_T::FIFOTH: OVF Mask                   */
+
+#define CCAP_CMPADDR_CMPADDR_Pos          (0)                                               /*!< CCAP_T::CMPADDR: CMPADDR Position          */
+#define CCAP_CMPADDR_CMPADDR_Msk          (0xfffffffful << CCAP_CMPADDR_CMPADDR_Pos)         /*!< CCAP_T::CMPADDR: CMPADDR Mask              */
+
+#define CCAP_PKTSM_PKTSHMH_Pos            (0)                                               /*!< CCAP_T::PKTSM: PKTSHMH Position            */
+#define CCAP_PKTSM_PKTSHMH_Msk            (0xfful << CCAP_PKTSM_PKTSHMH_Pos)                 /*!< CCAP_T::PKTSM: PKTSHMH Mask                */
+
+#define CCAP_PKTSM_PKTSHNH_Pos            (8)                                               /*!< CCAP_T::PKTSM: PKTSHNH Position            */
+#define CCAP_PKTSM_PKTSHNH_Msk            (0xfful << CCAP_PKTSM_PKTSHNH_Pos)                 /*!< CCAP_T::PKTSM: PKTSHNH Mask                */
+
+#define CCAP_PKTSM_PKTSVMH_Pos            (16)                                              /*!< CCAP_T::PKTSM: PKTSVMH Position            */
+#define CCAP_PKTSM_PKTSVMH_Msk            (0xfful << CCAP_PKTSM_PKTSVMH_Pos)                 /*!< CCAP_T::PKTSM: PKTSVMH Mask                */
+
+#define CCAP_PKTSM_PKTSVNH_Pos            (24)                                              /*!< CCAP_T::PKTSM: PKTSVNH Position            */
+#define CCAP_PKTSM_PKTSVNH_Msk            (0xfful << CCAP_PKTSM_PKTSVNH_Pos)                 /*!< CCAP_T::PKTSM: PKTSVNH Mask                */
+
+#define CCAP_PKTBA0_BASEADDR_Pos          (0)                                               /*!< CCAP_T::PKTBA0: BASEADDR Position          */
+#define CCAP_PKTBA0_BASEADDR_Msk          (0xfffffffful << CCAP_PKTBA0_BASEADDR_Pos)         /*!< CCAP_T::PKTBA0: BASEADDR Mask              */
+
+/**@}*/ /* CCAP_CONST */
+/**@}*/ /* end of CCAP register group */
+/**@}*/ /* end of REGISTER group */
+
+#if defined ( __CC_ARM   )
+#pragma no_anon_unions
+#endif
+
+#endif /* __CCAP_REG_H__ */

+ 1698 - 0
dap_link/lib/free-dap/platform/m484/include/clk_reg.h

@@ -0,0 +1,1698 @@
+/**************************************************************************//**
+ * @file     clk_reg.h
+ * @version  V1.00
+ * @brief    CLK register definition header file
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __CLK_REG_H__
+#define __CLK_REG_H__
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/**
+   @addtogroup REGISTER Control Register
+   @{
+*/
+
+/**
+    @addtogroup CLK System Clock Controller(CLK)
+    Memory Mapped Structure for CLK Controller
+@{ */
+
+typedef struct
+{
+
+
+    /**
+     * @var CLK_T::PWRCTL
+     * Offset: 0x00  System Power-down Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |HXTEN     |HXT Enable Bit (Write Protect)
+     * |        |          |The bit default value is set by flash controller user configuration register CONFIG0 [26]
+     * |        |          |When the default clock source is from HXT, this bit is set to 1 automatically.
+     * |        |          |0 = 4~24 MHz external high speed crystal (HXT) Disabled.
+     * |        |          |1 = 4~24 MHz external high speed crystal (HXT) Enabled.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[1]     |LXTEN     |LXT Enable Bit (Write Protect)
+     * |        |          |0 = 32.768 kHz external low speed crystal (LXT) Disabled.
+     * |        |          |1 = 32.768 kHz external low speed crystal (LXT) Enabled.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[2]     |HIRCEN    |HIRC Enable Bit (Write Protect)
+     * |        |          |0 = 12 MHz internal high speed RC oscillator (HIRC) Disabled.
+     * |        |          |1 = 12 MHz internal high speed RC oscillator (HIRC) Enabled.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[3]     |LIRCEN    |LIRC Enable Bit (Write Protect)
+     * |        |          |0 = 10 kHz internal low speed RC oscillator (LIRC) Disabled.
+     * |        |          |1 = 10 kHz internal low speed RC oscillator (LIRC) Enabled.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[4]     |PDWKDLY   |Enable the Wake-up Delay Counter (Write Protect)
+     * |        |          |When the chip wakes up from Power-down mode, the clock control will delay certain clock cycles to wait system clock stable.
+     * |        |          |The delayed clock cycle is 4096 clock cycles when chip works at 4~24 MHz external high speed crystal oscillator (HXT), and 256 clock cycles when chip works at 12 MHz internal high speed RC oscillator (HIRC).
+     * |        |          |0 = Clock cycles delay Disabled.
+     * |        |          |1 = Clock cycles delay Enabled.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[5]     |PDWKIEN   |Power-down Mode Wake-up Interrupt Enable Bit (Write Protect)
+     * |        |          |0 = Power-down mode wake-up interrupt Disabled.
+     * |        |          |1 = Power-down mode wake-up interrupt Enabled.
+     * |        |          |Note1: The interrupt will occur when both PDWKIF and PDWKIEN are high.
+     * |        |          |Note2: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[6]     |PDWKIF    |Power-down Mode Wake-up Interrupt Status
+     * |        |          |Set by "Power-down wake-up event", it indicates that resume from Power-down mode.
+     * |        |          |The flag is set if any wake-up source is occurred. Refer Power Modes and Wake-up Sources chapter.
+     * |        |          |Note1: Write 1 to clear the bit to 0.
+     * |        |          |Note2: This bit works only if PDWKIEN (CLK_PWRCTL[5]) set to 1.
+     * |[7]     |PDEN      |System Power-down Enable (Write Protect)
+     * |        |          |When this bit is set to 1, Power-down mode is enabled and chip keeps active till the CPU sleep mode is also active and then the chip enters Power-down mode.
+     * |        |          |When chip wakes up from Power-down mode, this bit is auto cleared
+     * |        |          |Users need to set this bit again for next Power-down.
+     * |        |          |In Power-down mode, HXT and the HIRC will be disabled in this mode, but LXT and LIRC are not controlled by Power-down mode.
+     * |        |          |In Power-down mode, the PLL and system clock are disabled, and ignored the clock source selection
+     * |        |          |The clocks of peripheral are not controlled by Power-down mode, if the peripheral clock source is from LXT or LIRC.
+     * |        |          |0 = Chip will not enter Power-down mode after CPU sleep command WFI.
+     * |        |          |1 = Chip enters Power-down mode after CPU sleep command WFI.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[11:10] |HXTGAIN   |HXT Gain Control Bit (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |Gain control is used to enlarge the gain of crystal to make sure crystal work normally
+     * |        |          |If gain control is enabled, crystal will consume more power than gain control off.
+     * |        |          |00 = HXT frequency is lower than from 8 MHz.
+     * |        |          |01 = HXT frequency is from 8 MHz to 12 MHz.
+     * |        |          |10 = HXT frequency is from 12 MHz to 16 MHz.
+     * |        |          |11 = HXT frequency is higher than 16 MHz.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[12]    |HXTSELTYP |HXT Crystal Type Select Bit (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |0 = Select INV type.
+     * |        |          |1 = Select GM type.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[13]    |HXTTBEN   |HXT Crystal TURBO Mode (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |0 = HXT Crystal TURBO mode disabled.
+     * |        |          |1 = HXT Crystal TURBO mode enabled.
+     * |[17:16] |HIRCSTBS  |HIRC Stable Count Select (Write Protect)
+     * |        |          |00 = HIRC stable count is 64 clocks.
+     * |        |          |01 = HIRC stable count is 24 clocks.
+     * |        |          |others = Reserved.
+     * |[18]    |HIRCEN    |HIRC48M Enable Bit (Write Protect)
+     * |        |          |0 = 48 MHz internal high speed RC oscillator (HIRC) Disabled.
+     * |        |          |1 = 48 MHz internal high speed RC oscillator (HIRC) Enabled.
+     * @var CLK_T::AHBCLK
+     * Offset: 0x04  AHB Devices Clock Enable Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[1]     |PDMACKEN  |PDMA Controller Clock Enable Bit
+     * |        |          |0 = PDMA peripheral clock Disabled.
+     * |        |          |1 = PDMA peripheral clock Enabled.
+     * |[2]     |ISPCKEN   |Flash ISP Controller Clock Enable Bit
+     * |        |          |0 = Flash ISP peripheral clock Disabled.
+     * |        |          |1 = Flash ISP peripheral clock Enabled.
+     * |[3]     |EBICKEN   |EBI Controller Clock Enable Bit
+     * |        |          |0 = EBI peripheral clock Disabled.
+     * |        |          |1 = EBI peripheral clock Enabled.
+     * |[5]     |EMACCKEN  |Ethernet Controller Clock Enable Bit
+     * |        |          |0 = Ethernet Controller engine clock Disabled.
+     * |        |          |1 = Ethernet Controller engine clock Enabled.
+     * |[6]     |SDH0CKEN  |SD0 Controller Clock Enable Bit
+     * |        |          |0 = SD0 engine clock Disabled.
+     * |        |          |1 = SD0 engine clock Enabled.
+     * |[7]     |CRCCKEN   |CRC Generator Controller Clock Enable Bit
+     * |        |          |0 = CRC peripheral clock Disabled.
+     * |        |          |1 = CRC peripheral clock Enabled.
+     * |[10]    |HSUSBDCKEN|HSUSB Device Clock Enable Bit
+     * |        |          |0 = HSUSB device controller's clock Disabled.
+     * |        |          |1 = HSUSB device controller's clock Enabled.
+     * |[12]    |CRPTCKEN  |Cryptographic Accelerator Clock Enable Bit
+     * |        |          |0 = Cryptographic Accelerator clock Disabled.
+     * |        |          |1 = Cryptographic Accelerator clock Enabled.
+     * |[14]    |SPIMCKEN  |SPIM Controller Clock Enable Bit
+     * |        |          |0 = SPIM controller clock Disabled.
+     * |        |          |1 = SPIM controller clock Enabled.
+     * |[15]    |FMCIDLE   |Flash Memory Controller Clock Enable Bit in IDLE Mode
+     * |        |          |0 = FMC clock Disabled when chip is under IDLE mode.
+     * |        |          |1 = FMC clock Enabled when chip is under IDLE mode.
+     * |[16]    |USBHCKEN  |USB HOST Controller Clock Enable Bit
+     * |        |          |0 = USB HOST peripheral clock Disabled.
+     * |        |          |1 = USB HOST peripheral clock Enabled.
+     * |[17]    |SDH1CKEN  |SD1 Controller Clock Enable Bit
+     * |        |          |0 = SD1 engine clock Disabled.
+     * |        |          |1 = SD1 engine clock Enabled.
+     * @var CLK_T::APBCLK0
+     * Offset: 0x08  APB Devices Clock Enable Control Register 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |WDTCKEN   |Watchdog Timer Clock Enable Bit (Write Protect)
+     * |        |          |0 = Watchdog timer clock Disabled.
+     * |        |          |1 = Watchdog timer clock Enabled.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[1]     |RTCCKEN   |Real-time-clock APB Interface Clock Enable Bit
+     * |        |          |This bit is used to control the RTC APB clock only
+     * |        |          |The RTC peripheral clock source is selected from RTCSEL(CLK_CLKSEL3[8])
+     * |        |          |It can be selected to 32.768 kHz external low speed crystal or 10 kHz internal low speed RC oscillator (LIRC).
+     * |        |          |0 = RTC clock Disabled.
+     * |        |          |1 = RTC clock Enabled.
+     * |[2]     |TMR0CKEN  |Timer0 Clock Enable Bit
+     * |        |          |0 = Timer0 clock Disabled.
+     * |        |          |1 = Timer0 clock Enabled.
+     * |[3]     |TMR1CKEN  |Timer1 Clock Enable Bit
+     * |        |          |0 = Timer1 clock Disabled.
+     * |        |          |1 = Timer1 clock Enabled.
+     * |[4]     |TMR2CKEN  |Timer2 Clock Enable Bit
+     * |        |          |0 = Timer2 clock Disabled.
+     * |        |          |1 = Timer2 clock Enabled.
+     * |[5]     |TMR3CKEN  |Timer3 Clock Enable Bit
+     * |        |          |0 = Timer3 clock Disabled.
+     * |        |          |1 = Timer3 clock Enabled.
+     * |[6]     |CLKOCKEN  |CLKO Clock Enable Bit
+     * |        |          |0 = CLKO clock Disabled.
+     * |        |          |1 = CLKO clock Enabled.
+     * |[7]     |ACMP01CKEN|Analog Comparator 0/1 Clock Enable Bit
+     * |        |          |0 = Analog comparator 0/1 clock Disabled.
+     * |        |          |1 = Analog comparator 0/1 clock Enabled.
+     * |[8]     |I2C0CKEN  |I2C0 Clock Enable Bit
+     * |        |          |0 = I2C0 clock Disabled.
+     * |        |          |1 = I2C0 clock Enabled.
+     * |[9]     |I2C1CKEN  |I2C1 Clock Enable Bit
+     * |        |          |0 = I2C1 clock Disabled.
+     * |        |          |1 = I2C1 clock Enabled.
+     * |[10]    |I2C2CKEN  |I2C2 Clock Enable Bit
+     * |        |          |0 = I2C2 clock Disabled.
+     * |        |          |1 = I2C2 clock Enabled.
+     * |[12]    |QSPI0CKEN  |QSPI0 Clock Enable Bit
+     * |        |          |0 = QSPI0 clock Disabled.
+     * |        |          |1 = QSPI0 clock Enabled.
+     * |[13]    |SPI0CKEN  |SPI0 Clock Enable Bit
+     * |        |          |0 = SPI0 clock Disabled.
+     * |        |          |1 = SPI0 clock Enabled.
+     * |[14]    |SPI1CKEN  |SPI1 Clock Enable Bit
+     * |        |          |0 = SPI1 clock Disabled.
+     * |        |          |1 = SPI1 clock Enabled.
+     * |[15]    |SPI2CKEN  |SPI2 Clock Enable Bit
+     * |        |          |0 = SPI2 clock Disabled.
+     * |        |          |1 = SPI2 clock Enabled.
+     * |[16]    |UART0CKEN |UART0 Clock Enable Bit
+     * |        |          |0 = UART0 clock Disabled.
+     * |        |          |1 = UART0 clock Enabled.
+     * |[17]    |UART1CKEN |UART1 Clock Enable Bit
+     * |        |          |0 = UART1 clock Disabled.
+     * |        |          |1 = UART1 clock Enabled.
+     * |[18]    |UART2CKEN |UART2 Clock Enable Bit
+     * |        |          |0 = UART2 clock Disabled.
+     * |        |          |1 = UART2 clock Enabled.
+     * |[19]    |UART3CKEN |UART3 Clock Enable Bit
+     * |        |          |0 = UART3 clock Disabled.
+     * |        |          |1 = UART3 clock Enabled.
+     * |[20]    |UART4CKEN |UART4 Clock Enable Bit
+     * |        |          |0 = UART4 clock Disabled.
+     * |        |          |1 = UART4 clock Enabled.
+     * |[21]    |UART5CKEN |UART5 Clock Enable Bit
+     * |        |          |0 = UART5 clock Disabled.
+     * |        |          |1 = UART5 clock Enabled.
+     * |[24]    |CAN0CKEN  |CAN0 Clock Enable Bit
+     * |        |          |0 = CAN0 clock Disabled.
+     * |        |          |1 = CAN0 clock Enabled.
+     * |[25]    |CAN1CKEN  |CAN1 Clock Enable Bit
+     * |        |          |0 = CAN1 clock Disabled.
+     * |        |          |1 = CAN1 clock Enabled.
+     * |[26]    |OTGCKEN   |USB OTG Clock Enable Bit
+     * |        |          |0 = USB OTG clock Disabled.
+     * |        |          |1 = USB OTG clock Enabled.
+     * |[27]    |USBDCKEN  |USB Device Clock Enable Bit
+     * |        |          |0 = USB Device clock Disabled.
+     * |        |          |1 = USB Device clock Enabled.
+     * |[28]    |EADCCKEN  |Enhanced Analog-digital-converter (EADC) Clock Enable Bit
+     * |        |          |0 = EADC clock Disabled.
+     * |        |          |1 = EADC clock Enabled.
+     * |[29]    |I2S0CKEN  |I2S0 Clock Enable Bit
+     * |        |          |0 = I2S0 Clock Disabled.
+     * |        |          |1 = I2S0 Clock Enabled.
+     * |[30]    |HSOTGCKEN |HSUSB OTG Clock Enable Bit
+     * |        |          |0 = HSUSB OTG clock Disabled.
+     * |        |          |1 = HSUSB OTG clock Enabled.
+     * @var CLK_T::APBCLK1
+     * Offset: 0x0C  APB Devices Clock Enable Control Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |SC0CKEN   |SC0 Clock Enable Bit
+     * |        |          |0 = SC0 clock Disabled.
+     * |        |          |1 = SC0 clock Enabled.
+     * |[1]     |SC1CKEN   |SC1 Clock Enable Bit
+     * |        |          |0 = SC1 clock Disabled.
+     * |        |          |1 = SC1 clock Enabled.
+     * |[2]     |SC2CKEN   |SC2 Clock Enable Bit
+     * |        |          |0 = SC2 clock Disabled.
+     * |        |          |1 = SC2 clock Enabled.
+     * |[6]     |SPI3CKEN  |SPI3 Clock Enable Bit
+     * |        |          |0 = SPI3 clock Disabled.
+     * |        |          |1 = SPI3 clock Enabled.
+     * |[8]     |USCI0CKEN |USCI0 Clock Enable Bit
+     * |        |          |0 = USCI0 clock Disabled.
+     * |        |          |1 = USCI0 clock Enabled.
+     * |[9]     |USCI1CKEN |USCI1 Clock Enable Bit
+     * |        |          |0 = USCI1 clock Disabled.
+     * |        |          |1 = USCI1 clock Enabled.
+     * |[12]    |DACCKEN   |DAC Clock Enable Bit
+     * |        |          |0 = DAC clock Disabled.
+     * |        |          |1 = DAC clock Enabled.
+     * |[16]    |EPWM0CKEN |EPWM0 Clock Enable Bit
+     * |        |          |0 = EPWM0 clock Disabled.
+     * |        |          |1 = EPWM0 clock Enabled.
+     * |[17]    |EPWM1CKEN |EPWM1 Clock Enable Bit
+     * |        |          |0 = EPWM1 clock Disabled.
+     * |        |          |1 = EPWM1 clock Enabled.
+     * |[18]    |BPWM0CKEN |BPWM0 Clock Enable Bit
+     * |        |          |0 = BPWM0 clock Disabled.
+     * |        |          |1 = BPWM0 clock Enabled.
+     * |[19]    |BPWM1CKEN |BPWM1 Clock Enable Bit
+     * |        |          |0 = BPWM1 clock Disabled.
+     * |        |          |1 = BPWM1 clock Enabled.
+     * |[22]    |QEI0CKEN  |QEI0 Clock Enable Bit
+     * |        |          |0 = QEI0 clock Disabled.
+     * |        |          |1 = QEI0 clock Enabled.
+     * |[23]    |QEI1CKEN  |QEI1 Clock Enable Bit
+     * |        |          |0 = QEI1 clock Disabled.
+     * |        |          |1 = QEI1 clock Enabled.
+     * |[26]    |ECAP0CKEN |ECAP0 Clock Enable Bit
+     * |        |          |0 = ECAP0 clock Disabled.
+     * |        |          |1 = ECAP0 clock Enabled.
+     * |[27]    |ECAP1CKEN |ECAP1 Clock Enable Bit
+     * |        |          |0 = ECAP1 clock Disabled.
+     * |        |          |1 = ECAP1 clock Enabled.
+     * |[30]    |OPACKEN   |OP Amplifier (OPA) Clock Enable Bit
+     * |        |          |0 = OPA clock Disabled.
+     * |        |          |1 = OPA clock Enabled.
+     * @var CLK_T::CLKSEL0
+     * Offset: 0x10  Clock Source Select Control Register 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[2:0]   |HCLKSEL   |HCLK Clock Source Selection (Write Protect)
+     * |        |          |Before clock switching, the related clock sources (both pre-select and new-select) must be turned on.
+     * |        |          |The default value is reloaded from the value of CFOSC (CONFIG0[26]) in user configuration register of Flash controller by any reset
+     * |        |          |Therefore the default value is either 000b or 111b.
+     * |        |          |000 = Clock source from HXT.
+     * |        |          |001 = Clock source from LXT.
+     * |        |          |010 = Clock source from PLL.
+     * |        |          |011 = Clock source from LIRC.
+     * |        |          |111 = Clock source from HIRC.
+     * |        |          |Other = Reserved.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[5:3]   |STCLKSEL  |Cortex-M4 SysTick Clock Source Selection (Write Protect)
+     * |        |          |If SYST_CTRL[2]=0, SysTick uses listed clock source below.
+     * |        |          |000 = Clock source from HXT.
+     * |        |          |001 = Clock source from LXT.
+     * |        |          |010 = Clock source from HXT/2.
+     * |        |          |011 = Clock source from HCLK/2.
+     * |        |          |111 = Clock source from HIRC/2.
+     * |        |          |Note: if SysTick clock source is not from HCLK (i.e
+     * |        |          |SYST_CTRL[2] = 0), SysTick clock source must less than or equal to HCLK/2.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[8]     |USBSEL    |USB Clock Source Selection (Write Protect)
+     * |        |          |0 = Clock source from RC48M.
+     * |        |          |1 = Clock source from PLL.
+     * |[21:20] |SDH0SEL   |SD0 Engine Clock Source Selection (Write Protect)
+     * |        |          |00 = Clock source from HXT clock.
+     * |        |          |01 = Clock source from PLL clock.
+     * |        |          |10 = Clock source from HCLK.
+     * |        |          |11 = Clock source from HIRC clock.
+     * |[23:22] |SDH1SEL   |SD1 Engine Clock Source Selection (Write Protect)
+     * |        |          |00 = Clock source from HXT clock.
+     * |        |          |01 = Clock source from PLL clock.
+     * |        |          |10 = Clock source from HCLK.
+     * |        |          |11 = Clock source from HIRC clock.
+     * @var CLK_T::CLKSEL1
+     * Offset: 0x14  Clock Source Select Control Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[1:0]   |WDTSEL    |Watchdog Timer Clock Source Selection (Write Protect)
+     * |        |          |00 = Reserved.
+     * |        |          |01 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |10 = Clock source from HCLK/2048.
+     * |        |          |11 = Clock source from 10 kHz internal low speed RC oscillator (LIRC).
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[10:8]  |TMR0SEL   |TIMER0 Clock Source Selection
+     * |        |          |000 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |001 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |010 = Clock source from PCLK0.
+     * |        |          |011 = Clock source from external clock TM0 pin.
+     * |        |          |101 = Clock source from 10 kHz internal low speed RC oscillator (LIRC).
+     * |        |          |111 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |        |          |Others = Reserved.
+     * |[14:12] |TMR1SEL   |TIMER1 Clock Source Selection
+     * |        |          |000 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |001 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |010 = Clock source from PCLK0.
+     * |        |          |011 = Clock source from external clock TM1 pin.
+     * |        |          |101 = Clock source from 10 kHz internal low speed RC oscillator (LIRC).
+     * |        |          |111 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |        |          |Others = Reserved.
+     * |[18:16] |TMR2SEL   |TIMER2 Clock Source Selection
+     * |        |          |000 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |001 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |010 = Clock source from PCLK1.
+     * |        |          |011 = Clock source from external clock TM2 pin.
+     * |        |          |101 = Clock source from 10 kHz internal low speed RC oscillator (LIRC).
+     * |        |          |111 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |        |          |Others = Reserved.
+     * |[22:20] |TMR3SEL   |TIMER3 Clock Source Selection
+     * |        |          |000 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |001 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |010 = Clock source from PCLK1.
+     * |        |          |011 = Clock source from external clock TM3 pin.
+     * |        |          |101 = Clock source from 10 kHz internal low speed RC oscillator (LIRC).
+     * |        |          |111 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |        |          |Others = Reserved.
+     * |[25:24] |UART0SEL  |UART0 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[27:26] |UART1SEL  |UART1 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[29:28] |CLKOSEL   |Clock Divider Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |10 = Clock source from HCLK.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[31:30] |WWDTSEL   |Window Watchdog Timer Clock Source Selection
+     * |        |          |10 = Clock source from HCLK/2048.
+     * |        |          |11 = Clock source from 10 kHz internal low speed RC oscillator (LIRC).
+     * |        |          |Others = Reserved.
+     * @var CLK_T::CLKSEL2
+     * Offset: 0x18  Clock Source Select Control Register 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |EPWM0SEL  |EPWM0 Clock Source Selection
+     * |        |          |The peripheral clock source of EPWM0 is defined by EPWM0SEL.
+     * |        |          |0 = Clock source from PLL.
+     * |        |          |1 = Clock source from PCLK0.
+     * |[1]     |EPWM1SEL  |EPWM1 Clock Source Selection
+     * |        |          |The peripheral clock source of EPWM1 is defined by EPWM1SEL.
+     * |        |          |0 = Clock source from PLL.
+     * |        |          |1 = Clock source from PCLK1.
+     * |[3:2]   |QSPI0SEL   |QSPI0 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK0.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[5:4]   |SPI0SEL   |SPI0 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK1.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[7:6]   |SPI1SEL   |SPI1 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK0.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[8]     |BPWM0SEL  |BPWM0 Clock Source Selection
+     * |        |          |The peripheral clock source of BPWM0 is defined by BPWM0SEL.
+     * |        |          |0 = Clock source from PLL.
+     * |        |          |1 = Clock source from PCLK0.
+     * |[9]     |BPWM1SEL  |BPWM1 Clock Source Selection
+     * |        |          |The peripheral clock source of BPWM1 is defined by BPWM1SEL.
+     * |        |          |0 = Clock source from PLL.
+     * |        |          |1 = Clock source from PCLK1.
+     * |[11:10] |SPI2SEL   |SPI2 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK1.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[13:12] |SPI3SEL   |SPI3 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK0.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * @var CLK_T::CLKSEL3
+     * Offset: 0x1C  Clock Source Select Control Register 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[1:0]   |SC0SEL    |SC0 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK0.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[3:2]   |SC1SEL    |SC0 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK1.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[5:4]   |SC2SEL    |SC2 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from PCLK0.
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[8]     |RTCSEL    |RTC Clock Source Selection
+     * |        |          |0 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |1 = Clock source from 10 kHz internal low speed RC oscillator (LIRC).
+     * |[17:16] |I2S0SEL   |I2S0 Clock Source Selection
+     * |        |          |00 = Clock source from HXT clock.
+     * |        |          |01 = Clock source from PLL clock.
+     * |        |          |10 = Clock source from PCLK.
+     * |        |          |11 = Clock source from HIRC clock.
+     * |[25:24] |UART2SEL  |UART2 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[27:26] |UART3SEL  |UART3 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[29:28] |UART4SEL  |UART4 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * |[31:30] |UART5SEL  |UART5 Clock Source Selection
+     * |        |          |00 = Clock source from 4~24 MHz external high speed crystal oscillator (HXT).
+     * |        |          |01 = Clock source from PLL.
+     * |        |          |10 = Clock source from 32.768 kHz external low speed crystal oscillator (LXT).
+     * |        |          |11 = Clock source from 12 MHz internal high speed RC oscillator (HIRC).
+     * @var CLK_T::CLKDIV0
+     * Offset: 0x20  Clock Divider Number Register 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |HCLKDIV   |HCLK Clock Divide Number From HCLK Clock Source
+     * |        |          |HCLK clock frequency = (HCLK clock source frequency) / (HCLKDIV + 1).
+     * |[7:4]   |USBDIV    |USB Clock Divide Number From PLL Clock
+     * |        |          |USB clock frequency = (PLL frequency) / (USBDIV + 1).
+     * |[11:8]  |UART0DIV  |UART0 Clock Divide Number From UART0 Clock Source
+     * |        |          |UART0 clock frequency = (UART0 clock source frequency) / (UART0DIV + 1).
+     * |[15:12] |UART1DIV  |UART1 Clock Divide Number From UART1 Clock Source
+     * |        |          |UART1 clock frequency = (UART1 clock source frequency) / (UART1DIV + 1).
+     * |[23:16] |EADCDIV   |EADC Clock Divide Number From EADC Clock Source
+     * |        |          |EADC clock frequency = (EADC clock source frequency) / (EADCDIV + 1).
+     * |[31:24] |SDH0DIV   |SD0 Clock Divide Number From SD0 Clock Source
+     * |        |          |SD0 clock frequency = (SD0 clock source frequency) / (SDH0DIV + 1).
+     * @var CLK_T::CLKDIV1
+     * Offset: 0x24  Clock Divider Number Register 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[7:0]   |SC0DIV    |SC0 Clock Divide Number From SC0 Clock Source
+     * |        |          |SC0 clock frequency = (SC0 clock source frequency ) / (SC0DIV + 1).
+     * |[15:8]  |SC1DIV    |SC1 Clock Divide Number From SC1 Clock Source
+     * |        |          |SC1 clock frequency = (SC1 clock source frequency ) / (SC1DIV + 1).
+     * |[23:16] |SC2DIV    |SC2 Clock Divide Number From SC2 Clock Source
+     * |        |          |SC2 clock frequency = (SC2 clock source frequency ) / (SC2DIV + 1).
+     * @var CLK_T::CLKDIV3
+     * Offset: 0x2C  Clock Divider Number Register 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[23:16] |EMACDIV   |Ethernet Clock Divide Number Form HCLK
+     * |        |          |EMAC MDCLK clock frequency = (HCLK) / (EMACDIV + 1).
+     * |[31:24] |SDH1DIV   |SD1 Clock Divide Number From SD1 Clock Source
+     * |        |          |SD1 clock frequency = (SD1 clock source frequency) / (SDH1DIV + 1).
+     * @var CLK_T::CLKDIV4
+     * Offset: 0x30  Clock Divider Number Register 4
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |UART2DIV  |UART2 Clock Divide Number From UART2 Clock Source
+     * |        |          |UART2 clock frequency = (UART2 clock source frequency) / (UART2DIV + 1).
+     * |[7:4]   |UART3DIV  |UART3 Clock Divide Number From UART3 Clock Source
+     * |        |          |UART3 clock frequency = (UART3 clock source frequency) / (UART3DIV + 1).
+     * |[11:8]  |UART4DIV  |UART4 Clock Divide Number From UART4 Clock Source
+     * |        |          |UART4 clock frequency = (UART4 clock source frequency) / (UART4DIV + 1).
+     * |[15:12] |UART5DIV  |UART5 Clock Divide Number From UART5 Clock Source
+     * |        |          |UART5 clock frequency = (UART5 clock source frequency) / (UART5DIV + 1).
+     * @var CLK_T::PCLKDIV
+     * Offset: 0x34  APB Clock Divider Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[2:0]   |APB0DIV   |APB0 Clock Divider
+     * |        |          |APB0 clock can be divided from HCLK
+     * |        |          |000: PCLK0 = HCLK.
+     * |        |          |001: PCLK0 = 1/2 HCLK.
+     * |        |          |010: PCLK0 = 1/4 HCLK.
+     * |        |          |011: PCLK0 = 1/8 HCLK.
+     * |        |          |100: PCLK0 = 1/16 HCLK.
+     * |        |          |Others: Reserved.
+     * |[6:4]   |APB1DIV   |APB1 Clock Divider
+     * |        |          |APB1 clock can be divided from HCLK
+     * |        |          |000: PCLK1 = HCLK.
+     * |        |          |001: PCLK1 = 1/2 HCLK.
+     * |        |          |010: PCLK1 = 1/4 HCLK.
+     * |        |          |011: PCLK1 = 1/8 HCLK.
+     * |        |          |100: PCLK1 = 1/16 HCLK.
+     * |        |          |Others: Reserved.
+     * @var CLK_T::PLLCTL
+     * Offset: 0x40  PLL Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[8:0]   |FBDIV     |PLL Feedback Divider Control (Write Protect)
+     * |        |          |Refer to the formulas below the table.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[13:9]  |INDIV     |PLL Input Divider Control (Write Protect)
+     * |        |          |Refer to the formulas below the table.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[15:14] |OUTDIV    |PLL Output Divider Control (Write Protect)
+     * |        |          |Refer to the formulas below the table.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[16]    |PD        |Power-down Mode (Write Protect)
+     * |        |          |If set the PDEN bit to 1 in CLK_PWRCTL register, the PLL will enter Power-down mode, too.
+     * |        |          |0 = PLL is in normal mode.
+     * |        |          |1 = PLL is in Power-down mode (default).
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[17]    |BP        |PLL Bypass Control (Write Protect)
+     * |        |          |0 = PLL is in normal mode (default).
+     * |        |          |1 = PLL clock output is same as PLL input clock FIN.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[18]    |OE        |PLL OE (FOUT Enable) Pin Control (Write Protect)
+     * |        |          |0 = PLL FOUT Enabled.
+     * |        |          |1 = PLL FOUT is fixed low.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[19]    |PLLSRC    |PLL Source Clock Selection (Write Protect)
+     * |        |          |0 = PLL source clock from 4~24 MHz external high-speed crystal oscillator (HXT).
+     * |        |          |1 = PLL source clock from 12 MHz internal high-speed oscillator (HIRC).
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[23]    |STBSEL    |PLL Stable Counter Selection (Write Protect)
+     * |        |          |0 = PLL stable time is 6144 PLL source clock (suitable for source clock is equal to or less than 12 MHz).
+     * |        |          |1 = PLL stable time is 12288 PLL source clock (suitable for source clock is larger than 12 MHz).
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * @var CLK_T::STATUS
+     * Offset: 0x50  Clock Status Monitor Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |HXTSTB    |HXT Clock Source Stable Flag (Read Only)
+     * |        |          |0 = 4~24 MHz external high speed crystal oscillator (HXT) clock is not stable or disabled.
+     * |        |          |1 = 4~24 MHz external high speed crystal oscillator (HXT) clock is stable and enabled.
+     * |[1]     |LXTSTB    |LXT Clock Source Stable Flag (Read Only)
+     * |        |          |0 = 32.768 kHz external low speed crystal oscillator (LXT) clock is not stable or disabled.
+     * |        |          |1 = 32.768 kHz external low speed crystal oscillator (LXT) clock is stabled and enabled.
+     * |[2]     |PLLSTB    |Internal PLL Clock Source Stable Flag (Read Only)
+     * |        |          |0 = Internal PLL clock is not stable or disabled.
+     * |        |          |1 = Internal PLL clock is stable and enabled.
+     * |[3]     |LIRCSTB   |LIRC Clock Source Stable Flag (Read Only)
+     * |        |          |0 = 10 kHz internal low speed RC oscillator (LIRC) clock is not stable or disabled.
+     * |        |          |1 = 10 kHz internal low speed RC oscillator (LIRC) clock is stable and enabled.
+     * |[4]     |HIRCSTB   |HIRC Clock Source Stable Flag (Read Only)
+     * |        |          |0 = 12 MHz internal high speed RC oscillator (HIRC) clock is not stable or disabled.
+     * |        |          |1 = 12 MHz internal high speed RC oscillator (HIRC) clock is stable and enabled.
+     * |        |          |Note: This bit is read only.
+     * |[6]     |HIRC48MSTB|HIRC 48MHz Clock Source Stable Flag (Read Only)
+     * |        |          |0 = 48 MHz internal high speed RC oscillator (HIRC) clock is not stable or disabled.
+     * |        |          |1 = 48 MHz internal high speed RC oscillator (HIRC) clock is stable and enabled.
+     * |        |          |Note: This bit is read only.
+     * |[7]     |CLKSFAIL  |Clock Switching Fail Flag (Read Only)
+     * |        |          |This bit is updated when software switches system clock source
+     * |        |          |If switch target clock is stable, this bit will be set to 0
+     * |        |          |If switch target clock is not stable, this bit will be set to 1.
+     * |        |          |0 = Clock switching success.
+     * |        |          |1 = Clock switching failure.
+     * |        |          |Note: Write 1 to clear the bit to 0.
+     * @var CLK_T::CLKOCTL
+     * Offset: 0x60  Clock Output Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |FREQSEL   |Clock Output Frequency Selection
+     * |        |          |The formula of output frequency is
+     * |        |          |Fout = Fin/2(N+1).
+     * |        |          |Fin is the input clock frequency.
+     * |        |          |Fout is the frequency of divider output clock.
+     * |        |          |N is the 4-bit value of FREQSEL[3:0].
+     * |[4]     |CLKOEN    |Clock Output Enable Bit
+     * |        |          |0 = Clock Output function Disabled.
+     * |        |          |1 = Clock Output function Enabled.
+     * |[5]     |DIV1EN    |Clock Output Divide One Enable Bit
+     * |        |          |0 = Clock Output will output clock with source frequency divided by FREQSEL.
+     * |        |          |1 = Clock Output will output clock with source frequency.
+     * |[6]     |CLK1HZEN  |Clock Output 1Hz Enable Bit
+     * |        |          |0 = 1 Hz clock output for 32.768 kHz frequency compensation Disabled.
+     * |        |          |1 = 1 Hz clock output for 32.768 kHz frequency compensation Enabled.
+     * @var CLK_T::CLKDCTL
+     * Offset: 0x70  Clock Fail Detector Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[4]     |HXTFDEN   |HXT Clock Fail Detector Enable Bit
+     * |        |          |0 = 4~24 MHz external high speed crystal oscillator (HXT) clock fail detector Disabled.
+     * |        |          |1 = 4~24 MHz external high speed crystal oscillator (HXT) clock fail detector Enabled.
+     * |[5]     |HXTFIEN   |HXT Clock Fail Interrupt Enable Bit
+     * |        |          |0 = 4~24 MHz external high speed crystal oscillator (HXT) clock fail interrupt Disabled.
+     * |        |          |1 = 4~24 MHz external high speed crystal oscillator (HXT) clock fail interrupt Enabled.
+     * |[12]    |LXTFDEN   |LXT Clock Fail Detector Enable Bit
+     * |        |          |0 = 32.768 kHz external low speed crystal oscillator (LXT) clock fail detector Disabled.
+     * |        |          |1 = 32.768 kHz external low speed crystal oscillator (LXT) clock fail detector Enabled.
+     * |[13]    |LXTFIEN   |LXT Clock Fail Interrupt Enable Bit
+     * |        |          |0 = 32.768 kHz external low speed crystal oscillator (LXT) clock fail interrupt Disabled.
+     * |        |          |1 = 32.768 kHz external low speed crystal oscillator (LXT) clock fail interrupt Enabled.
+     * |[16]    |HXTFQDEN  |HXT Clock Frequency Range Detector Enable Bit
+     * |        |          |0 = 4~24 MHz external high speed crystal oscillator (HXT) clock frequency range detector Disabled.
+     * |        |          |1 = 4~24 MHz external high speed crystal oscillator (HXT) clock frequency range detector Enabled.
+     * |[17]    |HXTFQIEN  |HXT Clock Frequency Range Detector Interrupt Enable Bit
+     * |        |          |0 = 4~24 MHz external high speed crystal oscillator (HXT) clock frequency range detector fail interrupt Disabled.
+     * |        |          |1 = 4~24 MHz external high speed crystal oscillator (HXT) clock frequency range detector fail interrupt Enabled.
+     * @var CLK_T::CLKDSTS
+     * Offset: 0x74  Clock Fail Detector Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |HXTFIF    |HXT Clock Fail Interrupt Flag
+     * |        |          |0 = 4~24 MHz external high speed crystal oscillator (HXT) clock is normal.
+     * |        |          |1 = 4~24 MHz external high speed crystal oscillator (HXT) clock stops.
+     * |        |          |Note: Write 1 to clear the bit to 0.
+     * |[1]     |LXTFIF    |LXT Clock Fail Interrupt Flag
+     * |        |          |0 = 32.768 kHz external low speed crystal oscillator (LXT) clock is normal.
+     * |        |          |1 = 32.768 kHz external low speed crystal oscillator (LXT) stops.
+     * |        |          |Note: Write 1 to clear the bit to 0.
+     * |[8]     |HXTFQIF   |HXT Clock Frequency Range Detector Interrupt Flag
+     * |        |          |0 = 4~24 MHz external high speed crystal oscillator (HXT) clock frequency is normal.
+     * |        |          |1 = 4~24 MHz external high speed crystal oscillator (HXT) clock frequency is abnormal.
+     * |        |          |Note: Write 1 to clear the bit to 0.
+     * @var CLK_T::CDUPB
+     * Offset: 0x78  Clock Frequency Range Detector Upper Boundary Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[9:0]   |UPERBD    |HXT Clock Frequency Range Detector Upper Boundary Value
+     * |        |          |The bits define the maximum value of frequency range detector window.
+     * |        |          |When HXT frequency higher than this maximum frequency value, the HXT Clock Frequency Range Detector Interrupt Flag will set to 1.
+     * @var CLK_T::CDLOWB
+     * Offset: 0x7C  Clock Frequency Range Detector Lower Boundary Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[9:0]   |LOWERBD   |HXT Clock Frequency Range Detector Lower Boundary Value
+     * |        |          |The bits define the minimum value of frequency range detector window.
+     * |        |          |When HXT frequency lower than this minimum frequency value, the HXT Clock Frequency Range Detector Interrupt Flag will set to 1.
+     * @var CLK_T::PMUCTL
+     * Offset: 0x90  Power Manager Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[2:0]   |PDMSEL    |Power-down Mode Selection (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |These bits control chip power-down mode grade selection when CPU execute WFI/WFE instruction.
+     * |        |          |000 = Power-down mode is selected. (PD)
+     * |        |          |001 = Low leakage Power-down mode is selected (LLPD).
+     * |        |          |010 =Fast wake-up Power-down mode is selected (FWPD).
+     * |        |          |011 = Reserved.
+     * |        |          |100 = Standby Power-down mode 0 is selected (SPD0) (SRAM retention).
+     * |        |          |101 = Standby Power-down mode 1 is selected (SPD1).
+     * |        |          |110 = Deep Power-down mode is selected (DPD).
+     * |        |          |111 = Reserved.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[3]     |DPDHOLDEN |Deep-Power-Down Mode GPIO Hold Enable
+     * |        |          |0 = When GPIO enters deep power-down mode, all I/O status are tri-state.
+     * |        |          |1 = When GPIO enters deep power-down mode, all I/O status are hold to keep normal operating status.
+     * |        |          |    After chip was waked up from deep power-down mode, the I/O are still keep hold status until user set CLK_IOPDCTL[0]
+     * |        |          |    to release I/O hold status.
+     * |[8]     |WKTMREN   |Wake-up Timer Enable (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |0 = Wake-up timer disable at DPD/SPD mode.
+     * |        |          |1 = Wake-up timer enabled at DPD/SPD mode.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[11:9]  |WKTMRIS   |Wake-up Timer Time-out Interval Select (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |These bits control wake-up timer time-out interval when chip at DPD/SPD mode.
+     * |        |          |000 = Time-out interval is 128 OSC10K clocks (12.8 ms).
+     * |        |          |001 = Time-out interval is 256 OSC10K clocks (25.6 ms).
+     * |        |          |010 = Time-out interval is 512 OSC10K clocks (51.2 ms).
+     * |        |          |011 = Time-out interval is 1024 OSC10K clocks (102.4ms).
+     * |        |          |100 = Time-out interval is 4096 OSC10K clocks (409.6ms).
+     * |        |          |101 = Time-out interval is 8192 OSC10K clocks (819.2ms).
+     * |        |          |110 = Time-out interval is 16384 OSC10K clocks (1638.4ms).
+     * |        |          |111 = Time-out interval is 65536 OSC10K clocks (6553.6ms).
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[17:16] |WKPINEN   |Wake-up Pin Enable (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |00 = Wake-up pin disable at Deep Power-down mode.
+     * |        |          |01 = Wake-up pin rising edge enabled at Deep Power-down mode.
+     * |        |          |10 = Wake-up pin falling edge enabled at Deep Power-down mode.
+     * |        |          |11 = Wake-up pin both edge enabled at Deep Power-down mode.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[18]    |ACMPSPWK  |ACMP Standby Power-down Mode Wake-up Enable (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |0 = ACMP wake-up disable at Standby Power-down mode.
+     * |        |          |1 = ACMP wake-up enabled at Standby Power-down mode.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * |[23]    |RTCWKEN   |RTC Wake-up Enable (Write Protect)
+     * |        |          |This is a protected register. Please refer to open lock sequence to program it.
+     * |        |          |0 = RTC wake-up disable at Deep Power-down mode or Standby Power-down mode.
+     * |        |          |1 = RTC wake-up enabled at Deep Power-down mode or Standby Power-down mode.
+     * |        |          |Note: This bit is write protected. Refer to the SYS_REGLCTL register.
+     * @var CLK_T::PMUSTS
+     * Offset: 0x94  Power Manager Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |PINWK     |Pin Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wake-up of chip from Deep Power-down mode was requested by a transition of the WAKEUP pin (GPC.0)
+     * |        |          |This flag is cleared when DPD mode is entered.
+     * |[1]     |TMRWK     |Timer Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wake-up of chip from Deep Power-down mode (DPD) or Standby Power-down (SPD) mode was requested by wakeup timer time-out
+     * |        |          |This flag is cleared when DPD or SPD mode is entered.
+     * |[2]     |RTCWK     |RTC Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wakeup of device from Deep Power-down mode (DPD) or Standby Power-down (SPD) mode was requested with a RTC alarm, tick time or tamper happened
+     * |        |          |This flag is cleared when DPD or SPD mode is entered.
+     * |[8]     |GPAWK     |GPA Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wake-up of chip from Standby Power-down mode was requested by a transition of selected one GPA group pins
+     * |        |          |This flag is cleared when SPD mode is entered.
+     * |[9]     |GPBWK     |GPB Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wake-up of chip from Standby Power-down mode was requested by a transition of selected one GPB group pins
+     * |        |          |This flag is cleared when SPD mode is entered.
+     * |[10]    |GPCWK     |GPC Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wake-up of chip from Standby Power-down mode was requested by a transition of selected one GPC group pins
+     * |        |          |This flag is cleared when SPD mode is entered.
+     * |[11]    |GPDWK     |GPD Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wake-up of chip from Standby Power-down mode was requested by a transition of selected one GPD group pins
+     * |        |          |This flag is cleared when SPD mode is entered.
+     * |[12]    |LVRWK     |LVR Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wakeup of device from Standby Power-down mode was requested with a LVR happened
+     * |        |          |This flag is cleared when SPD mode is entered.
+     * |[13]    |BODWK     |BOD Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wakeup of device from Standby Power-down mode (SPD) was requested with a BOD happened
+     * |        |          |This flag is cleared when SPD mode is entered.
+     * |[14]    |ACMPWK    |ACMP Wake-up Flag (Read Only)
+     * |        |          |This flag indicates that wakeup of device from Standby Power-down mode (SPD) was requested with a ACMP transition
+     * |        |          |This flag is cleared when SPD mode is entered.
+     * |[31]    |CLRWK     |Clear Wake-up Flag
+     * |        |          |0 = No clear.
+     * |        |          |1 = Clear all wake-up flag.
+     * @var CLK_T::LDOCTL
+     * Offset: 0x98  LDO Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[18]    |PDBIASEN  |Power-down Bias Enable Bit
+     * |        |          |0 = Reserved.
+     * |        |          |1 = Power-down bias enabled.
+     * |        |          |Note: This bit should set to 1 before chip enter power-down mode.
+     * @var CLK_T::SWKDBCTL
+     * Offset: 0x9C  Standby Power-down Wake-up De-bounce Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[3:0]   |SWKDBCLKSEL|Standby Power-down Wake-up De-bounce Sampling Cycle Selection
+     * |        |          |0000 = Sample wake-up input once per 1 clocks.
+     * |        |          |0001 = Sample wake-up input once per 2 clocks.
+     * |        |          |0010 = Sample wake-up input once per 4 clocks.
+     * |        |          |0011 = Sample wake-up input once per 8 clocks.
+     * |        |          |0100 = Sample wake-up input once per 16 clocks.
+     * |        |          |0101 = Sample wake-up input once per 32 clocks.
+     * |        |          |0110 = Sample wake-up input once per 64 clocks.
+     * |        |          |0111 = Sample wake-up input once per 128 clocks.
+     * |        |          |1000 = Sample wake-up input once per 256 clocks.
+     * |        |          |1001 = Sample wake-up input once per 2*256 clocks.
+     * |        |          |1010 = Sample wake-up input once per 4*256 clocks.
+     * |        |          |1011 = Sample wake-up input once per 8*256 clocks.
+     * |        |          |1100 = Sample wake-up input once per 16*256 clocks.
+     * |        |          |1101 = Sample wake-up input once per 32*256 clocks.
+     * |        |          |1110 = Sample wake-up input once per 64*256 clocks.
+     * |        |          |1111 = Sample wake-up input once per 128*256 clocks.
+     * |        |          |Note: De-bounce counter clock source is the 10 kHz internal low speed RC oscillator (LIRC).
+     * @var CLK_T::PASWKCTL
+     * Offset: 0xA0  GPA Standby Power-down Wake-up Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |WKEN      |Standby Power-down Pin Wake-up Enable Bit
+     * |        |          |0 = GPA group pin wake-up function disabled.
+     * |        |          |1 = GPA group pin wake-up function enabled.
+     * |[1]     |PRWKEN    |Pin Rising Edge Wake-up Enable Bit
+     * |        |          |0 = GPA group pin rising edge wake-up function disabled.
+     * |        |          |1 = GPA group pin rising edge wake-up function enabled.
+     * |[2]     |PFWKEN    |Pin Falling Edge Wake-up Enable Bit
+     * |        |          |0 = GPA group pin falling edge wake-up function disabled.
+     * |        |          |1 = GPA group pin falling edge wake-up function enabled.
+     * |[7:4]   |WKPSEL    |GPA Standby Power-down Wake-up Pin Select
+     * |        |          |0000 = GPA.0 wake-up function enabled.
+     * |        |          |0001 = GPA.1 wake-up function enabled.
+     * |        |          |0010 = GPA.2 wake-up function enabled.
+     * |        |          |0011 = GPA.3 wake-up function enabled.
+     * |        |          |0100 = GPA.4 wake-up function enabled.
+     * |        |          |0101 = GPA.5 wake-up function enabled.
+     * |        |          |0110 = GPA.6 wake-up function enabled.
+     * |        |          |0111 = GPA.7 wake-up function enabled.
+     * |        |          |1000 = GPA.8 wake-up function enabled.
+     * |        |          |1001 = GPA.9 wake-up function enabled.
+     * |        |          |1010 = GPA.10 wake-up function enabled.
+     * |        |          |1011 = GPA.11 wake-up function enabled.
+     * |        |          |1100 = GPA.12 wake-up function enabled.
+     * |        |          |1101 = GPA.13 wake-up function enabled.
+     * |        |          |1110 = GPA.14 wake-up function enabled.
+     * |        |          |1111 = GPA.15 wake-up function enabled.
+     * |[8]     |DBEN      |GPA Input Signal De-bounce Enable Bit
+     * |        |          |The DBEN bit is used to enable the de-bounce function for each corresponding IO
+     * |        |          |If the input signal pulse width cannot be sampled by continuous two de-bounce sample cycle, the input signal transition is seen as the signal bounce and will not trigger the wake-up
+     * |        |          |The de-bounce clock source is the 10 kHz internal low speed RC oscillator.
+     * |        |          |0 = Standby power-down wake-up pin De-bounce function disable.
+     * |        |          |1 = Standby power-down wake-up pin De-bounce function enable.
+     * |        |          |The de-bounce function is valid only for edge triggered.
+     * @var CLK_T::PBSWKCTL
+     * Offset: 0xA4  GPB Standby Power-down Wake-up Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |WKEN      |Standby Power-down Pin Wake-up Enable Bit
+     * |        |          |0 = GPB group pin wake-up function disabled.
+     * |        |          |1 = GPB group pin wake-up function enabled.
+     * |[1]     |PRWKEN    |Pin Rising Edge Wake-up Enable Bit
+     * |        |          |0 = GPB group pin rising edge wake-up function disabled.
+     * |        |          |1 = GPB group pin rising edge wake-up function enabled.
+     * |[2]     |PFWKEN    |Pin Falling Edge Wake-up Enable Bit
+     * |        |          |0 = GPB group pin falling edge wake-up function disabled.
+     * |        |          |1 = GPB group pin falling edge wake-up function enabled.
+     * |[7:4]   |WKPSEL    |GPB Standby Power-down Wake-up Pin Select
+     * |        |          |0000 = GPB.0 wake-up function enabled.
+     * |        |          |0001 = GPB.1 wake-up function enabled.
+     * |        |          |0010 = GPB.2 wake-up function enabled.
+     * |        |          |0011 = GPB.3 wake-up function enabled.
+     * |        |          |0100 = GPB.4 wake-up function enabled.
+     * |        |          |0101 = GPB.5 wake-up function enabled.
+     * |        |          |0110 = GPB.6 wake-up function enabled.
+     * |        |          |0111 = GPB.7 wake-up function enabled.
+     * |        |          |1000 = GPB.8 wake-up function enabled.
+     * |        |          |1001 = GPB.9 wake-up function enabled.
+     * |        |          |1010 = GPB.10 wake-up function enabled.
+     * |        |          |1011 = GPB.11 wake-up function enabled.
+     * |        |          |1100 = GPB.12 wake-up function enabled.
+     * |        |          |1101 = GPB.13 wake-up function enabled.
+     * |        |          |1110 = GPB.14 wake-up function enabled.
+     * |        |          |1111 = GPB.15 wake-up function enabled.
+     * |[8]     |DBEN      |GPB Input Signal De-bounce Enable Bit
+     * |        |          |The DBEN bit is used to enable the de-bounce function for each corresponding IO
+     * |        |          |If the input signal pulse width cannot be sampled by continuous two de-bounce sample cycle, the input signal transition is seen as the signal bounce and will not trigger the wake-up
+     * |        |          |The de-bounce clock source is the 10 kHz internal low speed RC oscillator.
+     * |        |          |0 = Standby power-down wake-up pin De-bounce function disable.
+     * |        |          |1 = Standby power-down wake-up pin De-bounce function enable.
+     * |        |          |The de-bounce function is valid only for edge triggered.
+     * @var CLK_T::PCSWKCTL
+     * Offset: 0xA8  GPC Standby Power-down Wake-up Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |WKEN      |Standby Power-down Pin Wake-up Enable Bit
+     * |        |          |0 = GPC group pin wake-up function disabled.
+     * |        |          |1 = GPC group pin wake-up function enabled.
+     * |[1]     |PRWKEN    |Pin Rising Edge Wake-up Enable Bit
+     * |        |          |0 = GPC group pin rising edge wake-up function disabled.
+     * |        |          |1 = GPC group pin rising edge wake-up function enabled.
+     * |[2]     |PFWKEN    |Pin Falling Edge Wake-up Enable Bit
+     * |        |          |0 = GPC group pin falling edge wake-up function disabled.
+     * |        |          |1 = GPC group pin falling edge wake-up function enabled.
+     * |[7:4]   |WKPSEL    |GPC Standby Power-down Wake-up Pin Select
+     * |        |          |0000 = GPC.0 wake-up function enabled.
+     * |        |          |0001 = GPC.1 wake-up function enabled.
+     * |        |          |0010 = GPC.2 wake-up function enabled.
+     * |        |          |0011 = GPC.3 wake-up function enabled.
+     * |        |          |0100 = GPC.4 wake-up function enabled.
+     * |        |          |0101 = GPC.5 wake-up function enabled.
+     * |        |          |0110 = GPC.6 wake-up function enabled.
+     * |        |          |0111 = GPC.7 wake-up function enabled.
+     * |        |          |1000 = GPC.8 wake-up function enabled.
+     * |        |          |1001 = GPC.9 wake-up function enabled.
+     * |        |          |1010 = GPC.10 wake-up function enabled.
+     * |        |          |1011 = GPC.11 wake-up function enabled.
+     * |        |          |1100 = GPC.12 wake-up function enabled.
+     * |        |          |1101 = GPC.13 wake-up function enabled.
+     * |        |          |1110 = GPC.14 wake-up function enabled.
+     * |        |          |1111 = GPC.15 wake-up function enabled.
+     * |[8]     |DBEN      |GPC Input Signal De-bounce Enable Bit
+     * |        |          |The DBEN bit is used to enable the de-bounce function for each corresponding IO
+     * |        |          |If the input signal pulse width cannot be sampled by continuous two de-bounce sample cycle, the input signal transition is seen as the signal bounce and will not trigger the wake-up
+     * |        |          |The de-bounce clock source is the 10 kHz internal low speed RC oscillator.
+     * |        |          |0 = Standby power-down wake-up pin De-bounce function disable.
+     * |        |          |1 = Standby power-down wake-up pin De-bounce function enable.
+     * |        |          |The de-bounce function is valid only for edge triggered.
+     * @var CLK_T::PDSWKCTL
+     * Offset: 0xAC  GPD Standby Power-down Wake-up Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |WKEN      |Standby Power-down Pin Wake-up Enable Bit
+     * |        |          |0 = GPD group pin wake-up function disabled.
+     * |        |          |1 = GPD group pin wake-up function enabled.
+     * |[1]     |PRWKEN    |Pin Rising Edge Wake-up Enable Bit
+     * |        |          |0 = GPD group pin rising edge wake-up function disabled.
+     * |        |          |1 = GPD group pin rising edge wake-up function enabled.
+     * |[2]     |PFWKEN    |Pin Falling Edge Wake-up Enable Bit
+     * |        |          |0 = GPD group pin falling edge wake-up function disabled.
+     * |        |          |1 = GPD group pin falling edge wake-up function enabled.
+     * |[7:4]   |WKPSEL    |GPD Standby Power-down Wake-up Pin Select
+     * |        |          |0000 = GPD.0 wake-up function enabled.
+     * |        |          |0001 = GPD.1 wake-up function enabled.
+     * |        |          |0010 = GPD.2 wake-up function enabled.
+     * |        |          |0011 = GPD.3 wake-up function enabled.
+     * |        |          |0100 = GPD.4 wake-up function enabled.
+     * |        |          |0101 = GPD.5 wake-up function enabled.
+     * |        |          |0110 = GPD.6 wake-up function enabled.
+     * |        |          |0111 = GPD.7 wake-up function enabled.
+     * |        |          |1000 = GPD.8 wake-up function enabled.
+     * |        |          |1001 = GPD.9 wake-up function enabled.
+     * |        |          |1010 = GPD.10 wake-up function enabled.
+     * |        |          |1011 = GPD.11 wake-up function enabled.
+     * |        |          |1100 = GPD.12 wake-up function enabled.
+     * |        |          |1101 = GPD.13 wake-up function enabled.
+     * |        |          |1110 = GPD.14 wake-up function enabled.
+     * |        |          |1111 = GPD.15 wake-up function enabled.
+     * |[8]     |DBEN      |GPD Input Signal De-bounce Enable Bit
+     * |        |          |The DBEN bit is used to enable the de-bounce function for each corresponding IO
+     * |        |          |If the input signal pulse width cannot be sampled by continuous two de-bounce sample cycle, the input signal transition is seen as the signal bounce and will not trigger the wake-up
+     * |        |          |The de-bounce clock source is the 10 kHz internal low speed RC oscillator.
+     * |        |          |0 = Standby power-down wake-up pin De-bounce function disable.
+     * |        |          |1 = Standby power-down wake-up pin De-bounce function enable.
+     * |        |          |The de-bounce function is valid only for edge triggered.
+     * @var CLK_T::IOPDCTL
+     * Offset: 0xB0  GPIO Standby Power-down Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |IOHR      |GPIO Hold Release
+     * |        |          |When GPIO enter standby power-down mode, all I/O status are hold to keep normal operating status
+     * |        |          |After chip was waked up from standby power-down mode, the I/O are still keep hold status until user set this bit to release I/O hold status.
+     * |        |          |This bit is auto cleared by hardware.
+     */
+    __IO uint32_t PWRCTL;                /*!< [0x0000] System Power-down Control Register                               */
+    __IO uint32_t AHBCLK;                /*!< [0x0004] AHB Devices Clock Enable Control Register                        */
+    __IO uint32_t APBCLK0;               /*!< [0x0008] APB Devices Clock Enable Control Register 0                      */
+    __IO uint32_t APBCLK1;               /*!< [0x000c] APB Devices Clock Enable Control Register 1                      */
+    __IO uint32_t CLKSEL0;               /*!< [0x0010] Clock Source Select Control Register 0                           */
+    __IO uint32_t CLKSEL1;               /*!< [0x0014] Clock Source Select Control Register 1                           */
+    __IO uint32_t CLKSEL2;               /*!< [0x0018] Clock Source Select Control Register 2                           */
+    __IO uint32_t CLKSEL3;               /*!< [0x001c] Clock Source Select Control Register 3                           */
+    __IO uint32_t CLKDIV0;               /*!< [0x0020] Clock Divider Number Register 0                                  */
+    __IO uint32_t CLKDIV1;               /*!< [0x0024] Clock Divider Number Register 1                                  */
+    __IO uint32_t CLKDIV2;               /*!< [0x0028] Clock Divider Number Register 2                                  */
+    __IO uint32_t CLKDIV3;               /*!< [0x002c] Clock Divider Number Register 3                                  */
+    __IO uint32_t CLKDIV4;               /*!< [0x0030] Clock Divider Number Register 4                                  */
+    __IO uint32_t PCLKDIV;               /*!< [0x0034] APB Clock Divider Register                                       */
+    /** @cond HIDDEN_SYMBOLS */
+    __I  uint32_t RESERVE1[2];
+    /** @endcond */
+    __IO uint32_t PLLCTL;                /*!< [0x0040] PLL Control Register                                             */
+    /** @cond HIDDEN_SYMBOLS */
+    __I  uint32_t RESERVE2[3];
+    /** @endcond */
+    __I  uint32_t STATUS;                /*!< [0x0050] Clock Status Monitor Register                                    */
+    /** @cond HIDDEN_SYMBOLS */
+    __I  uint32_t RESERVE3[3];
+    /** @endcond */
+    __IO uint32_t CLKOCTL;               /*!< [0x0060] Clock Output Control Register                                    */
+    /** @cond HIDDEN_SYMBOLS */
+    __I  uint32_t RESERVE4[3];
+    /** @endcond */
+    __IO uint32_t CLKDCTL;               /*!< [0x0070] Clock Fail Detector Control Register                             */
+    __IO uint32_t CLKDSTS;               /*!< [0x0074] Clock Fail Detector Status Register                              */
+    __IO uint32_t CDUPB;                 /*!< [0x0078] Clock Frequency Range Detector Upper Boundary Register           */
+    __IO uint32_t CDLOWB;                /*!< [0x007c] Clock Frequency Range Detector Lower Boundary Register           */
+    /** @cond HIDDEN_SYMBOLS */
+    __I  uint32_t RESERVE5[4];
+    /** @endcond */
+    __IO uint32_t PMUCTL;                /*!< [0x0090] Power Manager Control Register                                   */
+    __IO uint32_t PMUSTS;                /*!< [0x0094] Power Manager Status Register                                    */
+    __IO uint32_t LDOCTL;                /*!< [0x0098] LDO Control Register                                             */
+    __IO uint32_t SWKDBCTL;              /*!< [0x009c] Standby Power-down Wake-up De-bounce Control Register            */
+    __IO uint32_t PASWKCTL;              /*!< [0x00a0] GPA Standby Power-down Wake-up Control Register                  */
+    __IO uint32_t PBSWKCTL;              /*!< [0x00a4] GPB Standby Power-down Wake-up Control Register                  */
+    __IO uint32_t PCSWKCTL;              /*!< [0x00a8] GPC Standby Power-down Wake-up Control Register                  */
+    __IO uint32_t PDSWKCTL;              /*!< [0x00ac] GPD Standby Power-down Wake-up Control Register                  */
+    __IO uint32_t IOPDCTL;               /*!< [0x00b0] GPIO Standby Power-down Control Register                         */
+
+} CLK_T;
+
+/**
+    @addtogroup CLK_CONST CLK Bit Field Definition
+    Constant Definitions for CLK Controller
+@{ */
+
+#define CLK_PWRCTL_HXTEN_Pos             (0)                                               /*!< CLK_T::PWRCTL: HXTEN Position          */
+#define CLK_PWRCTL_HXTEN_Msk             (0x1ul << CLK_PWRCTL_HXTEN_Pos)                   /*!< CLK_T::PWRCTL: HXTEN Mask              */
+
+#define CLK_PWRCTL_LXTEN_Pos             (1)                                               /*!< CLK_T::PWRCTL: LXTEN Position          */
+#define CLK_PWRCTL_LXTEN_Msk             (0x1ul << CLK_PWRCTL_LXTEN_Pos)                   /*!< CLK_T::PWRCTL: LXTEN Mask              */
+
+#define CLK_PWRCTL_HIRCEN_Pos            (2)                                               /*!< CLK_T::PWRCTL: HIRCEN Position         */
+#define CLK_PWRCTL_HIRCEN_Msk            (0x1ul << CLK_PWRCTL_HIRCEN_Pos)                  /*!< CLK_T::PWRCTL: HIRCEN Mask             */
+
+#define CLK_PWRCTL_LIRCEN_Pos            (3)                                               /*!< CLK_T::PWRCTL: LIRCEN Position         */
+#define CLK_PWRCTL_LIRCEN_Msk            (0x1ul << CLK_PWRCTL_LIRCEN_Pos)                  /*!< CLK_T::PWRCTL: LIRCEN Mask             */
+
+#define CLK_PWRCTL_PDWKDLY_Pos           (4)                                               /*!< CLK_T::PWRCTL: PDWKDLY Position        */
+#define CLK_PWRCTL_PDWKDLY_Msk           (0x1ul << CLK_PWRCTL_PDWKDLY_Pos)                 /*!< CLK_T::PWRCTL: PDWKDLY Mask            */
+
+#define CLK_PWRCTL_PDWKIEN_Pos           (5)                                               /*!< CLK_T::PWRCTL: PDWKIEN Position        */
+#define CLK_PWRCTL_PDWKIEN_Msk           (0x1ul << CLK_PWRCTL_PDWKIEN_Pos)                 /*!< CLK_T::PWRCTL: PDWKIEN Mask            */
+
+#define CLK_PWRCTL_PDWKIF_Pos            (6)                                               /*!< CLK_T::PWRCTL: PDWKIF Position         */
+#define CLK_PWRCTL_PDWKIF_Msk            (0x1ul << CLK_PWRCTL_PDWKIF_Pos)                  /*!< CLK_T::PWRCTL: PDWKIF Mask             */
+
+#define CLK_PWRCTL_PDEN_Pos              (7)                                               /*!< CLK_T::PWRCTL: PDEN Position           */
+#define CLK_PWRCTL_PDEN_Msk              (0x1ul << CLK_PWRCTL_PDEN_Pos)                    /*!< CLK_T::PWRCTL: PDEN Mask               */
+
+#define CLK_PWRCTL_HXTGAIN_Pos           (10)                                              /*!< CLK_T::PWRCTL: HXTGAIN Position        */
+#define CLK_PWRCTL_HXTGAIN_Msk           (0x3ul << CLK_PWRCTL_HXTGAIN_Pos)                 /*!< CLK_T::PWRCTL: HXTGAIN Mask            */
+
+#define CLK_PWRCTL_HXTSELTYP_Pos         (12)                                              /*!< CLK_T::PWRCTL: HXTSELTYP Position      */
+#define CLK_PWRCTL_HXTSELTYP_Msk         (0x1ul << CLK_PWRCTL_HXTSELTYP_Pos)               /*!< CLK_T::PWRCTL: HXTSELTYP Mask          */
+
+#define CLK_PWRCTL_HXTTBEN_Pos           (13)                                              /*!< CLK_T::PWRCTL: HXTTBEN Position        */
+#define CLK_PWRCTL_HXTTBEN_Msk           (0x1ul << CLK_PWRCTL_HXTTBEN_Pos)                 /*!< CLK_T::PWRCTL: HXTTBEN Mask            */
+
+#define CLK_PWRCTL_HIRCSTBS_Pos          (16)                                              /*!< CLK_T::PWRCTL: HIRCSTBS Position       */
+#define CLK_PWRCTL_HIRCSTBS_Msk          (0x3ul << CLK_PWRCTL_HIRCSTBS_Pos)                /*!< CLK_T::PWRCTL: HIRCSTBS Mask           */
+
+#define CLK_PWRCTL_HIRC48MEN_Pos         (18)                                              /*!< CLK_T::PWRCTL: HIRC48MEN Position      */
+#define CLK_PWRCTL_HIRC48MEN_Msk         (0x1ul << CLK_PWRCTL_HIRC48MEN_Pos)               /*!< CLK_T::PWRCTL: HIRC48MEN Mask          */
+
+#define CLK_AHBCLK_PDMACKEN_Pos          (1)                                               /*!< CLK_T::AHBCLK: PDMACKEN Position       */
+#define CLK_AHBCLK_PDMACKEN_Msk          (0x1ul << CLK_AHBCLK_PDMACKEN_Pos)                /*!< CLK_T::AHBCLK: PDMACKEN Mask           */
+
+#define CLK_AHBCLK_ISPCKEN_Pos           (2)                                               /*!< CLK_T::AHBCLK: ISPCKEN Position        */
+#define CLK_AHBCLK_ISPCKEN_Msk           (0x1ul << CLK_AHBCLK_ISPCKEN_Pos)                 /*!< CLK_T::AHBCLK: ISPCKEN Mask            */
+
+#define CLK_AHBCLK_EBICKEN_Pos           (3)                                               /*!< CLK_T::AHBCLK: EBICKEN Position        */
+#define CLK_AHBCLK_EBICKEN_Msk           (0x1ul << CLK_AHBCLK_EBICKEN_Pos)                 /*!< CLK_T::AHBCLK: EBICKEN Mask            */
+
+#define CLK_AHBCLK_EMACCKEN_Pos          (5)                                               /*!< CLK_T::AHBCLK: EMACCKEN Position       */
+#define CLK_AHBCLK_EMACCKEN_Msk          (0x1ul << CLK_AHBCLK_EMACCKEN_Pos)                /*!< CLK_T::AHBCLK: EMACCKEN Mask           */
+
+#define CLK_AHBCLK_SDH0CKEN_Pos          (6)                                               /*!< CLK_T::AHBCLK: SDH0CKEN Position       */
+#define CLK_AHBCLK_SDH0CKEN_Msk          (0x1ul << CLK_AHBCLK_SDH0CKEN_Pos)                /*!< CLK_T::AHBCLK: SDH0CKEN Mask           */
+
+#define CLK_AHBCLK_CRCCKEN_Pos           (7)                                               /*!< CLK_T::AHBCLK: CRCCKEN Position        */
+#define CLK_AHBCLK_CRCCKEN_Msk           (0x1ul << CLK_AHBCLK_CRCCKEN_Pos)                 /*!< CLK_T::AHBCLK: CRCCKEN Mask            */
+
+#define CLK_AHBCLK_CCAPCKEN_Pos          (8)                                               /*!< CLK_T::AHBCLK: CCAPCKEN Position       */
+#define CLK_AHBCLK_CCAPCKEN_Msk          (0x1ul << CLK_AHBCLK_CCAPCKEN_Pos)                /*!< CLK_T::AHBCLK: CCAPCKEN Mask           */
+
+#define CLK_AHBCLK_SENCKEN_Pos           (9)                                               /*!< CLK_T::AHBCLK: SENCKEN Position        */
+#define CLK_AHBCLK_SENCKEN_Msk           (0x1ul << CLK_AHBCLK_SENCKEN_Pos)                 /*!< CLK_T::AHBCLK: SENCKEN Mask            */
+
+#define CLK_AHBCLK_HSUSBDCKEN_Pos        (10)                                              /*!< CLK_T::AHBCLK: HSUSBDCKEN Position     */
+#define CLK_AHBCLK_HSUSBDCKEN_Msk        (0x1ul << CLK_AHBCLK_HSUSBDCKEN_Pos)              /*!< CLK_T::AHBCLK: HSUSBDCKEN Mask         */
+
+#define CLK_AHBCLK_CRPTCKEN_Pos          (12)                                              /*!< CLK_T::AHBCLK: CRPTCKEN Position       */
+#define CLK_AHBCLK_CRPTCKEN_Msk          (0x1ul << CLK_AHBCLK_CRPTCKEN_Pos)                /*!< CLK_T::AHBCLK: CRPTCKEN Mask           */
+
+#define CLK_AHBCLK_SPIMCKEN_Pos          (14)                                              /*!< CLK_T::AHBCLK: SPIMCKEN Position       */
+#define CLK_AHBCLK_SPIMCKEN_Msk          (0x1ul << CLK_AHBCLK_SPIMCKEN_Pos)                /*!< CLK_T::AHBCLK: SPIMCKEN Mask           */
+
+#define CLK_AHBCLK_FMCIDLE_Pos           (15)                                              /*!< CLK_T::AHBCLK: FMCIDLE Position        */
+#define CLK_AHBCLK_FMCIDLE_Msk           (0x1ul << CLK_AHBCLK_FMCIDLE_Pos)                 /*!< CLK_T::AHBCLK: FMCIDLE Mask            */
+
+#define CLK_AHBCLK_USBHCKEN_Pos          (16)                                              /*!< CLK_T::AHBCLK: USBHCKEN Position       */
+#define CLK_AHBCLK_USBHCKEN_Msk          (0x1ul << CLK_AHBCLK_USBHCKEN_Pos)                /*!< CLK_T::AHBCLK: USBHCKEN Mask           */
+
+#define CLK_AHBCLK_SDH1CKEN_Pos          (17)                                              /*!< CLK_T::AHBCLK: SDH1CKEN Position       */
+#define CLK_AHBCLK_SDH1CKEN_Msk          (0x1ul << CLK_AHBCLK_SDH1CKEN_Pos)                /*!< CLK_T::AHBCLK: SDH1CKEN Mask           */
+
+#define CLK_APBCLK0_WDTCKEN_Pos          (0)                                               /*!< CLK_T::APBCLK0: WDTCKEN Position       */
+#define CLK_APBCLK0_WDTCKEN_Msk          (0x1ul << CLK_APBCLK0_WDTCKEN_Pos)                /*!< CLK_T::APBCLK0: WDTCKEN Mask           */
+
+#define CLK_APBCLK0_RTCCKEN_Pos          (1)                                               /*!< CLK_T::APBCLK0: RTCCKEN Position       */
+#define CLK_APBCLK0_RTCCKEN_Msk          (0x1ul << CLK_APBCLK0_RTCCKEN_Pos)                /*!< CLK_T::APBCLK0: RTCCKEN Mask           */
+
+#define CLK_APBCLK0_TMR0CKEN_Pos         (2)                                               /*!< CLK_T::APBCLK0: TMR0CKEN Position      */
+#define CLK_APBCLK0_TMR0CKEN_Msk         (0x1ul << CLK_APBCLK0_TMR0CKEN_Pos)               /*!< CLK_T::APBCLK0: TMR0CKEN Mask          */
+
+#define CLK_APBCLK0_TMR1CKEN_Pos         (3)                                               /*!< CLK_T::APBCLK0: TMR1CKEN Position      */
+#define CLK_APBCLK0_TMR1CKEN_Msk         (0x1ul << CLK_APBCLK0_TMR1CKEN_Pos)               /*!< CLK_T::APBCLK0: TMR1CKEN Mask          */
+
+#define CLK_APBCLK0_TMR2CKEN_Pos         (4)                                               /*!< CLK_T::APBCLK0: TMR2CKEN Position      */
+#define CLK_APBCLK0_TMR2CKEN_Msk         (0x1ul << CLK_APBCLK0_TMR2CKEN_Pos)               /*!< CLK_T::APBCLK0: TMR2CKEN Mask          */
+
+#define CLK_APBCLK0_TMR3CKEN_Pos         (5)                                               /*!< CLK_T::APBCLK0: TMR3CKEN Position      */
+#define CLK_APBCLK0_TMR3CKEN_Msk         (0x1ul << CLK_APBCLK0_TMR3CKEN_Pos)               /*!< CLK_T::APBCLK0: TMR3CKEN Mask          */
+
+#define CLK_APBCLK0_CLKOCKEN_Pos         (6)                                               /*!< CLK_T::APBCLK0: CLKOCKEN Position      */
+#define CLK_APBCLK0_CLKOCKEN_Msk         (0x1ul << CLK_APBCLK0_CLKOCKEN_Pos)               /*!< CLK_T::APBCLK0: CLKOCKEN Mask          */
+
+#define CLK_APBCLK0_ACMP01CKEN_Pos       (7)                                               /*!< CLK_T::APBCLK0: ACMP01CKEN Position    */
+#define CLK_APBCLK0_ACMP01CKEN_Msk       (0x1ul << CLK_APBCLK0_ACMP01CKEN_Pos)             /*!< CLK_T::APBCLK0: ACMP01CKEN Mask        */
+
+#define CLK_APBCLK0_I2C0CKEN_Pos         (8)                                               /*!< CLK_T::APBCLK0: I2C0CKEN Position      */
+#define CLK_APBCLK0_I2C0CKEN_Msk         (0x1ul << CLK_APBCLK0_I2C0CKEN_Pos)               /*!< CLK_T::APBCLK0: I2C0CKEN Mask          */
+
+#define CLK_APBCLK0_I2C1CKEN_Pos         (9)                                               /*!< CLK_T::APBCLK0: I2C1CKEN Position      */
+#define CLK_APBCLK0_I2C1CKEN_Msk         (0x1ul << CLK_APBCLK0_I2C1CKEN_Pos)               /*!< CLK_T::APBCLK0: I2C1CKEN Mask          */
+
+#define CLK_APBCLK0_I2C2CKEN_Pos         (10)                                              /*!< CLK_T::APBCLK0: I2C2CKEN Position      */
+#define CLK_APBCLK0_I2C2CKEN_Msk         (0x1ul << CLK_APBCLK0_I2C2CKEN_Pos)               /*!< CLK_T::APBCLK0: I2C2CKEN Mask          */
+
+#define CLK_APBCLK0_QSPI0CKEN_Pos        (12)                                              /*!< CLK_T::APBCLK0: QSPI0CKEN Position     */
+#define CLK_APBCLK0_QSPI0CKEN_Msk        (0x1ul << CLK_APBCLK0_QSPI0CKEN_Pos)              /*!< CLK_T::APBCLK0: QSPI0CKEN Mask         */
+
+#define CLK_APBCLK0_SPI0CKEN_Pos         (13)                                              /*!< CLK_T::APBCLK0: SPI0CKEN Position      */
+#define CLK_APBCLK0_SPI0CKEN_Msk         (0x1ul << CLK_APBCLK0_SPI0CKEN_Pos)               /*!< CLK_T::APBCLK0: SPI0CKEN Mask          */
+
+#define CLK_APBCLK0_SPI1CKEN_Pos         (14)                                              /*!< CLK_T::APBCLK0: SPI1CKEN Position      */
+#define CLK_APBCLK0_SPI1CKEN_Msk         (0x1ul << CLK_APBCLK0_SPI1CKEN_Pos)               /*!< CLK_T::APBCLK0: SPI1CKEN Mask          */
+
+#define CLK_APBCLK0_SPI2CKEN_Pos         (15)                                              /*!< CLK_T::APBCLK0: SPI2CKEN Position      */
+#define CLK_APBCLK0_SPI2CKEN_Msk         (0x1ul << CLK_APBCLK0_SPI2CKEN_Pos)               /*!< CLK_T::APBCLK0: SPI2CKEN Mask          */
+
+#define CLK_APBCLK0_UART0CKEN_Pos        (16)                                              /*!< CLK_T::APBCLK0: UART0CKEN Position     */
+#define CLK_APBCLK0_UART0CKEN_Msk        (0x1ul << CLK_APBCLK0_UART0CKEN_Pos)              /*!< CLK_T::APBCLK0: UART0CKEN Mask         */
+
+#define CLK_APBCLK0_UART1CKEN_Pos        (17)                                              /*!< CLK_T::APBCLK0: UART1CKEN Position     */
+#define CLK_APBCLK0_UART1CKEN_Msk        (0x1ul << CLK_APBCLK0_UART1CKEN_Pos)              /*!< CLK_T::APBCLK0: UART1CKEN Mask         */
+
+#define CLK_APBCLK0_UART2CKEN_Pos        (18)                                              /*!< CLK_T::APBCLK0: UART2CKEN Position     */
+#define CLK_APBCLK0_UART2CKEN_Msk        (0x1ul << CLK_APBCLK0_UART2CKEN_Pos)              /*!< CLK_T::APBCLK0: UART2CKEN Mask         */
+
+#define CLK_APBCLK0_UART3CKEN_Pos        (19)                                              /*!< CLK_T::APBCLK0: UART3CKEN Position     */
+#define CLK_APBCLK0_UART3CKEN_Msk        (0x1ul << CLK_APBCLK0_UART3CKEN_Pos)              /*!< CLK_T::APBCLK0: UART3CKEN Mask         */
+
+#define CLK_APBCLK0_UART4CKEN_Pos        (20)                                              /*!< CLK_T::APBCLK0: UART4CKEN Position     */
+#define CLK_APBCLK0_UART4CKEN_Msk        (0x1ul << CLK_APBCLK0_UART4CKEN_Pos)              /*!< CLK_T::APBCLK0: UART4CKEN Mask         */
+
+#define CLK_APBCLK0_UART5CKEN_Pos        (21)                                              /*!< CLK_T::APBCLK0: UART5CKEN Position     */
+#define CLK_APBCLK0_UART5CKEN_Msk        (0x1ul << CLK_APBCLK0_UART5CKEN_Pos)              /*!< CLK_T::APBCLK0: UART5CKEN Mask         */
+
+#define CLK_APBCLK0_UART6CKEN_Pos        (22)                                              /*!< CLK_T::APBCLK0: UART6CKEN Position     */
+#define CLK_APBCLK0_UART6CKEN_Msk        (0x1ul << CLK_APBCLK0_UART6CKEN_Pos)              /*!< CLK_T::APBCLK0: UART6CKEN Mask         */
+
+#define CLK_APBCLK0_UART7CKEN_Pos        (23)                                              /*!< CLK_T::APBCLK0: UART7CKEN Position     */
+#define CLK_APBCLK0_UART7CKEN_Msk        (0x1ul << CLK_APBCLK0_UART7CKEN_Pos)              /*!< CLK_T::APBCLK0: UART7CKEN Mask         */
+
+#define CLK_APBCLK0_CAN0CKEN_Pos         (24)                                              /*!< CLK_T::APBCLK0: CAN0CKEN Position      */
+#define CLK_APBCLK0_CAN0CKEN_Msk         (0x1ul << CLK_APBCLK0_CAN0CKEN_Pos)               /*!< CLK_T::APBCLK0: CAN0CKEN Mask          */
+
+#define CLK_APBCLK0_CAN1CKEN_Pos         (25)                                              /*!< CLK_T::APBCLK0: CAN1CKEN Position      */
+#define CLK_APBCLK0_CAN1CKEN_Msk         (0x1ul << CLK_APBCLK0_CAN1CKEN_Pos)               /*!< CLK_T::APBCLK0: CAN1CKEN Mask          */
+
+#define CLK_APBCLK0_OTGCKEN_Pos          (26)                                              /*!< CLK_T::APBCLK0: OTGCKEN Position       */
+#define CLK_APBCLK0_OTGCKEN_Msk          (0x1ul << CLK_APBCLK0_OTGCKEN_Pos)                /*!< CLK_T::APBCLK0: OTGCKEN Mask           */
+
+#define CLK_APBCLK0_USBDCKEN_Pos         (27)                                              /*!< CLK_T::APBCLK0: USBDCKEN Position      */
+#define CLK_APBCLK0_USBDCKEN_Msk         (0x1ul << CLK_APBCLK0_USBDCKEN_Pos)               /*!< CLK_T::APBCLK0: USBDCKEN Mask          */
+
+#define CLK_APBCLK0_EADCCKEN_Pos         (28)                                              /*!< CLK_T::APBCLK0: EADCCKEN Position      */
+#define CLK_APBCLK0_EADCCKEN_Msk         (0x1ul << CLK_APBCLK0_EADCCKEN_Pos)               /*!< CLK_T::APBCLK0: EADCCKEN Mask          */
+
+#define CLK_APBCLK0_I2S0CKEN_Pos         (29)                                              /*!< CLK_T::APBCLK0: I2S0CKEN Position      */
+#define CLK_APBCLK0_I2S0CKEN_Msk         (0x1ul << CLK_APBCLK0_I2S0CKEN_Pos)               /*!< CLK_T::APBCLK0: I2S0CKEN Mask          */
+
+#define CLK_APBCLK0_HSOTGCKEN_Pos        (30)                                              /*!< CLK_T::APBCLK0: HSOTGCKEN Position     */
+#define CLK_APBCLK0_HSOTGCKEN_Msk        (0x1ul << CLK_APBCLK0_HSOTGCKEN_Pos)              /*!< CLK_T::APBCLK0: HSOTGCKEN Mask         */
+
+#define CLK_APBCLK1_SC0CKEN_Pos          (0)                                               /*!< CLK_T::APBCLK1: SC0CKEN Position       */
+#define CLK_APBCLK1_SC0CKEN_Msk          (0x1ul << CLK_APBCLK1_SC0CKEN_Pos)                /*!< CLK_T::APBCLK1: SC0CKEN Mask           */
+
+#define CLK_APBCLK1_SC1CKEN_Pos          (1)                                               /*!< CLK_T::APBCLK1: SC1CKEN Position       */
+#define CLK_APBCLK1_SC1CKEN_Msk          (0x1ul << CLK_APBCLK1_SC1CKEN_Pos)                /*!< CLK_T::APBCLK1: SC1CKEN Mask           */
+
+#define CLK_APBCLK1_SC2CKEN_Pos          (2)                                               /*!< CLK_T::APBCLK1: SC2CKEN Position       */
+#define CLK_APBCLK1_SC2CKEN_Msk          (0x1ul << CLK_APBCLK1_SC2CKEN_Pos)                /*!< CLK_T::APBCLK1: SC2CKEN Mask           */
+
+#define CLK_APBCLK1_QSPI1CKEN_Pos        (4)                                               /*!< CLK_T::APBCLK1: QSPI1CKEN Position     */
+#define CLK_APBCLK1_QSPI1CKEN_Msk        (0x1ul << CLK_APBCLK1_QSPI1CKEN_Pos)              /*!< CLK_T::APBCLK1: QSPI1CKEN Mask         */
+
+#define CLK_APBCLK1_SPI3CKEN_Pos         (6)                                               /*!< CLK_T::APBCLK1: SPI3CKEN Position      */
+#define CLK_APBCLK1_SPI3CKEN_Msk         (0x1ul << CLK_APBCLK1_SPI3CKEN_Pos)               /*!< CLK_T::APBCLK1: SPI3CKEN Mask          */
+
+#define CLK_APBCLK1_USCI0CKEN_Pos        (8)                                               /*!< CLK_T::APBCLK1: USCI0CKEN Position     */
+#define CLK_APBCLK1_USCI0CKEN_Msk        (0x1ul << CLK_APBCLK1_USCI0CKEN_Pos)              /*!< CLK_T::APBCLK1: USCI0CKEN Mask         */
+
+#define CLK_APBCLK1_USCI1CKEN_Pos        (9)                                               /*!< CLK_T::APBCLK1: USCI1CKEN Position     */
+#define CLK_APBCLK1_USCI1CKEN_Msk        (0x1ul << CLK_APBCLK1_USCI1CKEN_Pos)              /*!< CLK_T::APBCLK1: USCI1CKEN Mask         */
+
+#define CLK_APBCLK1_DACCKEN_Pos          (12)                                              /*!< CLK_T::APBCLK1: DACCKEN Position       */
+#define CLK_APBCLK1_DACCKEN_Msk          (0x1ul << CLK_APBCLK1_DACCKEN_Pos)                /*!< CLK_T::APBCLK1: DACCKEN Mask           */
+
+#define CLK_APBCLK1_EPWM0CKEN_Pos        (16)                                              /*!< CLK_T::APBCLK1: EPWM0CKEN Position     */
+#define CLK_APBCLK1_EPWM0CKEN_Msk        (0x1ul << CLK_APBCLK1_EPWM0CKEN_Pos)              /*!< CLK_T::APBCLK1: EPWM0CKEN Mask         */
+
+#define CLK_APBCLK1_EPWM1CKEN_Pos        (17)                                              /*!< CLK_T::APBCLK1: EPWM1CKEN Position     */
+#define CLK_APBCLK1_EPWM1CKEN_Msk        (0x1ul << CLK_APBCLK1_EPWM1CKEN_Pos)              /*!< CLK_T::APBCLK1: EPWM1CKEN Mask         */
+
+#define CLK_APBCLK1_BPWM0CKEN_Pos        (18)                                              /*!< CLK_T::APBCLK1: BPWM0CKEN Position     */
+#define CLK_APBCLK1_BPWM0CKEN_Msk        (0x1ul << CLK_APBCLK1_BPWM0CKEN_Pos)              /*!< CLK_T::APBCLK1: BPWM0CKEN Mask         */
+
+#define CLK_APBCLK1_BPWM1CKEN_Pos        (19)                                              /*!< CLK_T::APBCLK1: BPWM1CKEN Position     */
+#define CLK_APBCLK1_BPWM1CKEN_Msk        (0x1ul << CLK_APBCLK1_BPWM1CKEN_Pos)              /*!< CLK_T::APBCLK1: BPWM1CKEN Mask         */
+
+#define CLK_APBCLK1_QEI0CKEN_Pos         (22)                                              /*!< CLK_T::APBCLK1: QEI0CKEN Position      */
+#define CLK_APBCLK1_QEI0CKEN_Msk         (0x1ul << CLK_APBCLK1_QEI0CKEN_Pos)               /*!< CLK_T::APBCLK1: QEI0CKEN Mask          */
+
+#define CLK_APBCLK1_QEI1CKEN_Pos         (23)                                              /*!< CLK_T::APBCLK1: QEI1CKEN Position      */
+#define CLK_APBCLK1_QEI1CKEN_Msk         (0x1ul << CLK_APBCLK1_QEI1CKEN_Pos)               /*!< CLK_T::APBCLK1: QEI1CKEN Mask          */
+
+#define CLK_APBCLK1_TRNGCKEN_Pos         (25)                                              /*!< CLK_T::APBCLK1: TRNGCKEN Position     */
+#define CLK_APBCLK1_TRNGCKEN_Msk         (0x1ul << CLK_APBCLK1_TRNGCKEN_Pos)               /*!< CLK_T::APBCLK1: TRNGCKEN Mask         */
+
+#define CLK_APBCLK1_ECAP0CKEN_Pos        (26)                                              /*!< CLK_T::APBCLK1: ECAP0CKEN Position     */
+#define CLK_APBCLK1_ECAP0CKEN_Msk        (0x1ul << CLK_APBCLK1_ECAP0CKEN_Pos)              /*!< CLK_T::APBCLK1: ECAP0CKEN Mask         */
+
+#define CLK_APBCLK1_ECAP1CKEN_Pos        (27)                                              /*!< CLK_T::APBCLK1: ECAP1CKEN Position     */
+#define CLK_APBCLK1_ECAP1CKEN_Msk        (0x1ul << CLK_APBCLK1_ECAP1CKEN_Pos)              /*!< CLK_T::APBCLK1: ECAP1CKEN Mask         */
+
+#define CLK_APBCLK1_CAN2CKEN_Pos         (28)                                              /*!< CLK_T::APBCLK1: CAN2CKEN Position      */
+#define CLK_APBCLK1_CAN2CKEN_Msk         (0x1ul << CLK_APBCLK1_CAN2CKEN_Pos)               /*!< CLK_T::APBCLK1: CAN2CKEN Mask          */
+
+#define CLK_APBCLK1_OPACKEN_Pos          (30)                                              /*!< CLK_T::APBCLK1: OPACKEN Position       */
+#define CLK_APBCLK1_OPACKEN_Msk          (0x1ul << CLK_APBCLK1_OPACKEN_Pos)                /*!< CLK_T::APBCLK1: OPACKEN Mask           */
+
+#define CLK_APBCLK1_EADC1CKEN_Pos        (31)                                              /*!< CLK_T::APBCLK1: EADC1CKEN Position     */
+#define CLK_APBCLK1_EADC1CKEN_Msk        (0x1ul << CLK_APBCLK1_EADC1CKEN_Pos)              /*!< CLK_T::APBCLK1: EADC1CKEN Mask         */
+
+#define CLK_CLKSEL0_HCLKSEL_Pos          (0)                                               /*!< CLK_T::CLKSEL0: HCLKSEL Position       */
+#define CLK_CLKSEL0_HCLKSEL_Msk          (0x7ul << CLK_CLKSEL0_HCLKSEL_Pos)                /*!< CLK_T::CLKSEL0: HCLKSEL Mask           */
+
+#define CLK_CLKSEL0_STCLKSEL_Pos         (3)                                               /*!< CLK_T::CLKSEL0: STCLKSEL Position      */
+#define CLK_CLKSEL0_STCLKSEL_Msk         (0x7ul << CLK_CLKSEL0_STCLKSEL_Pos)               /*!< CLK_T::CLKSEL0: STCLKSEL Mask          */
+
+#define CLK_CLKSEL0_USBSEL_Pos           (8)                                               /*!< CLK_T::CLKSEL0: PCLK0SEL Position      */
+#define CLK_CLKSEL0_USBSEL_Msk           (0x1ul << CLK_CLKSEL0_USBSEL_Pos)                 /*!< CLK_T::CLKSEL0: PCLK0SEL Mask          */
+
+#define CLK_CLKSEL0_CCAPSEL_Pos          (16)                                              /*!< CLK_T::CLKSEL0: CCAPSEL Position      */
+#define CLK_CLKSEL0_CCAPSEL_Msk          (0x3ul << CLK_CLKSEL0_CCAPSEL_Pos)                /*!< CLK_T::CLKSEL0: CCAPSEL Mask          */
+
+#define CLK_CLKSEL0_SDH0SEL_Pos          (20)                                              /*!< CLK_T::CLKSEL0: SDH0SEL Position       */
+#define CLK_CLKSEL0_SDH0SEL_Msk          (0x3ul << CLK_CLKSEL0_SDH0SEL_Pos)                /*!< CLK_T::CLKSEL0: SDH0SEL Mask           */
+
+#define CLK_CLKSEL0_SDH1SEL_Pos          (22)                                              /*!< CLK_T::CLKSEL0: SDH1SEL Position       */
+#define CLK_CLKSEL0_SDH1SEL_Msk          (0x3ul << CLK_CLKSEL0_SDH1SEL_Pos)                /*!< CLK_T::CLKSEL0: SDH1SEL Mask           */
+
+#define CLK_CLKSEL1_WDTSEL_Pos           (0)                                               /*!< CLK_T::CLKSEL1: WDTSEL Position        */
+#define CLK_CLKSEL1_WDTSEL_Msk           (0x3ul << CLK_CLKSEL1_WDTSEL_Pos)                 /*!< CLK_T::CLKSEL1: WDTSEL Mask            */
+
+#define CLK_CLKSEL1_TMR0SEL_Pos          (8)                                               /*!< CLK_T::CLKSEL1: TMR0SEL Position       */
+#define CLK_CLKSEL1_TMR0SEL_Msk          (0x7ul << CLK_CLKSEL1_TMR0SEL_Pos)                /*!< CLK_T::CLKSEL1: TMR0SEL Mask           */
+
+#define CLK_CLKSEL1_TMR1SEL_Pos          (12)                                              /*!< CLK_T::CLKSEL1: TMR1SEL Position       */
+#define CLK_CLKSEL1_TMR1SEL_Msk          (0x7ul << CLK_CLKSEL1_TMR1SEL_Pos)                /*!< CLK_T::CLKSEL1: TMR1SEL Mask           */
+
+#define CLK_CLKSEL1_TMR2SEL_Pos          (16)                                              /*!< CLK_T::CLKSEL1: TMR2SEL Position       */
+#define CLK_CLKSEL1_TMR2SEL_Msk          (0x7ul << CLK_CLKSEL1_TMR2SEL_Pos)                /*!< CLK_T::CLKSEL1: TMR2SEL Mask           */
+
+#define CLK_CLKSEL1_TMR3SEL_Pos          (20)                                              /*!< CLK_T::CLKSEL1: TMR3SEL Position       */
+#define CLK_CLKSEL1_TMR3SEL_Msk          (0x7ul << CLK_CLKSEL1_TMR3SEL_Pos)                /*!< CLK_T::CLKSEL1: TMR3SEL Mask           */
+
+#define CLK_CLKSEL1_UART0SEL_Pos         (24)                                              /*!< CLK_T::CLKSEL1: UART0SEL Position      */
+#define CLK_CLKSEL1_UART0SEL_Msk         (0x3ul << CLK_CLKSEL1_UART0SEL_Pos)               /*!< CLK_T::CLKSEL1: UART0SEL Mask          */
+
+#define CLK_CLKSEL1_UART1SEL_Pos         (26)                                              /*!< CLK_T::CLKSEL1: UART1SEL Position      */
+#define CLK_CLKSEL1_UART1SEL_Msk         (0x3ul << CLK_CLKSEL1_UART1SEL_Pos)               /*!< CLK_T::CLKSEL1: UART1SEL Mask          */
+
+#define CLK_CLKSEL1_CLKOSEL_Pos          (28)                                              /*!< CLK_T::CLKSEL1: CLKOSEL Position       */
+#define CLK_CLKSEL1_CLKOSEL_Msk          (0x3ul << CLK_CLKSEL1_CLKOSEL_Pos)                /*!< CLK_T::CLKSEL1: CLKOSEL Mask           */
+
+#define CLK_CLKSEL1_WWDTSEL_Pos          (30)                                              /*!< CLK_T::CLKSEL1: WWDTSEL Position       */
+#define CLK_CLKSEL1_WWDTSEL_Msk          (0x3ul << CLK_CLKSEL1_WWDTSEL_Pos)                /*!< CLK_T::CLKSEL1: WWDTSEL Mask           */
+
+#define CLK_CLKSEL2_EPWM0SEL_Pos         (0)                                               /*!< CLK_T::CLKSEL2: EPWM0SEL Position      */
+#define CLK_CLKSEL2_EPWM0SEL_Msk         (0x1ul << CLK_CLKSEL2_EPWM0SEL_Pos)               /*!< CLK_T::CLKSEL2: EPWM0SEL Mask          */
+
+#define CLK_CLKSEL2_EPWM1SEL_Pos         (1)                                               /*!< CLK_T::CLKSEL2: EPWM1SEL Position      */
+#define CLK_CLKSEL2_EPWM1SEL_Msk         (0x1ul << CLK_CLKSEL2_EPWM1SEL_Pos)               /*!< CLK_T::CLKSEL2: EPWM1SEL Mask          */
+
+#define CLK_CLKSEL2_QSPI0SEL_Pos         (2)                                               /*!< CLK_T::CLKSEL2: QSPI0SEL Position      */
+#define CLK_CLKSEL2_QSPI0SEL_Msk         (0x3ul << CLK_CLKSEL2_QSPI0SEL_Pos)               /*!< CLK_T::CLKSEL2: QSPI0SEL Mask          */
+
+#define CLK_CLKSEL2_SPI0SEL_Pos          (4)                                               /*!< CLK_T::CLKSEL2: SPI0SEL Position       */
+#define CLK_CLKSEL2_SPI0SEL_Msk          (0x3ul << CLK_CLKSEL2_SPI0SEL_Pos)                /*!< CLK_T::CLKSEL2: SPI0SEL Mask           */
+
+#define CLK_CLKSEL2_SPI1SEL_Pos          (6)                                               /*!< CLK_T::CLKSEL2: SPI1SEL Position       */
+#define CLK_CLKSEL2_SPI1SEL_Msk          (0x3ul << CLK_CLKSEL2_SPI1SEL_Pos)                /*!< CLK_T::CLKSEL2: SPI1SEL Mask           */
+
+#define CLK_CLKSEL2_BPWM0SEL_Pos         (8)                                               /*!< CLK_T::CLKSEL2: BPWM0SEL Position      */
+#define CLK_CLKSEL2_BPWM0SEL_Msk         (0x1ul << CLK_CLKSEL2_BPWM0SEL_Pos)               /*!< CLK_T::CLKSEL2: BPWM0SEL Mask          */
+
+#define CLK_CLKSEL2_BPWM1SEL_Pos         (9)                                               /*!< CLK_T::CLKSEL2: BPWM1SEL Position      */
+#define CLK_CLKSEL2_BPWM1SEL_Msk         (0x1ul << CLK_CLKSEL2_BPWM1SEL_Pos)               /*!< CLK_T::CLKSEL2: BPWM1SEL Mask          */
+
+#define CLK_CLKSEL2_SPI2SEL_Pos          (10)                                              /*!< CLK_T::CLKSEL2: SPI2SEL Position       */
+#define CLK_CLKSEL2_SPI2SEL_Msk          (0x3ul << CLK_CLKSEL2_SPI2SEL_Pos)                /*!< CLK_T::CLKSEL2: SPI2SEL Mask           */
+
+#define CLK_CLKSEL2_SPI3SEL_Pos          (12)                                              /*!< CLK_T::CLKSEL2: SPI3SEL Position       */
+#define CLK_CLKSEL2_SPI3SEL_Msk          (0x3ul << CLK_CLKSEL2_SPI3SEL_Pos)                /*!< CLK_T::CLKSEL2: SPI3SEL Mask           */
+
+#define CLK_CLKSEL3_SC0SEL_Pos           (0)                                               /*!< CLK_T::CLKSEL3: SC0SEL Position        */
+#define CLK_CLKSEL3_SC0SEL_Msk           (0x3ul << CLK_CLKSEL3_SC0SEL_Pos)                 /*!< CLK_T::CLKSEL3: SC0SEL Mask            */
+
+#define CLK_CLKSEL3_SC1SEL_Pos           (2)                                               /*!< CLK_T::CLKSEL3: SC1SEL Position        */
+#define CLK_CLKSEL3_SC1SEL_Msk           (0x3ul << CLK_CLKSEL3_SC1SEL_Pos)                 /*!< CLK_T::CLKSEL3: SC1SEL Mask            */
+
+#define CLK_CLKSEL3_SC2SEL_Pos           (4)                                               /*!< CLK_T::CLKSEL3: SC2SEL Position        */
+#define CLK_CLKSEL3_SC2SEL_Msk           (0x3ul << CLK_CLKSEL3_SC2SEL_Pos)                 /*!< CLK_T::CLKSEL3: SC2SEL Mask            */
+
+#define CLK_CLKSEL3_RTCSEL_Pos           (8)                                               /*!< CLK_T::CLKSEL3: RTCSEL Position        */
+#define CLK_CLKSEL3_RTCSEL_Msk           (0x1ul << CLK_CLKSEL3_RTCSEL_Pos)                 /*!< CLK_T::CLKSEL3: RTCSEL Mask            */
+
+#define CLK_CLKSEL3_QSPI1SEL_Pos         (12)                                              /*!< CLK_T::CLKSEL3: QSPI1SEL Position      */
+#define CLK_CLKSEL3_QSPI1SEL_Msk         (0x3ul << CLK_CLKSEL3_QSPI1SEL_Pos)               /*!< CLK_T::CLKSEL3: QSPI1SEL Mask          */
+
+#define CLK_CLKSEL3_I2S0SEL_Pos          (16)                                              /*!< CLK_T::CLKSEL3: I2S0SEL Position       */
+#define CLK_CLKSEL3_I2S0SEL_Msk          (0x3ul << CLK_CLKSEL3_I2S0SEL_Pos)                /*!< CLK_T::CLKSEL3: I2S0SEL Mask           */
+
+#define CLK_CLKSEL3_UART6SEL_Pos         (20)                                              /*!< CLK_T::CLKSEL3: UART6SEL Position      */
+#define CLK_CLKSEL3_UART6SEL_Msk         (0x3ul << CLK_CLKSEL3_UART6SEL_Pos)               /*!< CLK_T::CLKSEL3: UART6SEL Mask          */
+
+#define CLK_CLKSEL3_UART7SEL_Pos         (22)                                              /*!< CLK_T::CLKSEL3: UART7SEL Position      */
+#define CLK_CLKSEL3_UART7SEL_Msk         (0x3ul << CLK_CLKSEL3_UART7SEL_Pos)               /*!< CLK_T::CLKSEL3: UART7SEL Mask          */
+
+#define CLK_CLKSEL3_UART2SEL_Pos         (24)                                              /*!< CLK_T::CLKSEL3: UART2SEL Position      */
+#define CLK_CLKSEL3_UART2SEL_Msk         (0x3ul << CLK_CLKSEL3_UART2SEL_Pos)               /*!< CLK_T::CLKSEL3: UART2SEL Mask          */
+
+#define CLK_CLKSEL3_UART3SEL_Pos         (26)                                              /*!< CLK_T::CLKSEL3: UART3SEL Position      */
+#define CLK_CLKSEL3_UART3SEL_Msk         (0x3ul << CLK_CLKSEL3_UART3SEL_Pos)               /*!< CLK_T::CLKSEL3: UART3SEL Mask          */
+
+#define CLK_CLKSEL3_UART4SEL_Pos         (28)                                              /*!< CLK_T::CLKSEL3: UART4SEL Position      */
+#define CLK_CLKSEL3_UART4SEL_Msk         (0x3ul << CLK_CLKSEL3_UART4SEL_Pos)               /*!< CLK_T::CLKSEL3: UART4SEL Mask          */
+
+#define CLK_CLKSEL3_UART5SEL_Pos         (30)                                              /*!< CLK_T::CLKSEL3: UART5SEL Position      */
+#define CLK_CLKSEL3_UART5SEL_Msk         (0x3ul << CLK_CLKSEL3_UART5SEL_Pos)               /*!< CLK_T::CLKSEL3: UART5SEL Mask          */
+
+#define CLK_CLKDIV0_HCLKDIV_Pos          (0)                                               /*!< CLK_T::CLKDIV0: HCLKDIV Position       */
+#define CLK_CLKDIV0_HCLKDIV_Msk          (0xful << CLK_CLKDIV0_HCLKDIV_Pos)                /*!< CLK_T::CLKDIV0: HCLKDIV Mask           */
+
+#define CLK_CLKDIV0_USBDIV_Pos           (4)                                               /*!< CLK_T::CLKDIV0: USBDIV Position        */
+#define CLK_CLKDIV0_USBDIV_Msk           (0xful << CLK_CLKDIV0_USBDIV_Pos)                 /*!< CLK_T::CLKDIV0: USBDIV Mask            */
+
+#define CLK_CLKDIV0_UART0DIV_Pos         (8)                                               /*!< CLK_T::CLKDIV0: UART0DIV Position      */
+#define CLK_CLKDIV0_UART0DIV_Msk         (0xful << CLK_CLKDIV0_UART0DIV_Pos)               /*!< CLK_T::CLKDIV0: UART0DIV Mask          */
+
+#define CLK_CLKDIV0_UART1DIV_Pos         (12)                                              /*!< CLK_T::CLKDIV0: UART1DIV Position      */
+#define CLK_CLKDIV0_UART1DIV_Msk         (0xful << CLK_CLKDIV0_UART1DIV_Pos)               /*!< CLK_T::CLKDIV0: UART1DIV Mask          */
+
+#define CLK_CLKDIV0_EADCDIV_Pos          (16)                                              /*!< CLK_T::CLKDIV0: EADCDIV Position       */
+#define CLK_CLKDIV0_EADCDIV_Msk          (0xfful << CLK_CLKDIV0_EADCDIV_Pos)               /*!< CLK_T::CLKDIV0: EADCDIV Mask           */
+
+#define CLK_CLKDIV0_SDH0DIV_Pos          (24)                                              /*!< CLK_T::CLKDIV0: SDH0DIV Position       */
+#define CLK_CLKDIV0_SDH0DIV_Msk          (0xfful << CLK_CLKDIV0_SDH0DIV_Pos)               /*!< CLK_T::CLKDIV0: SDH0DIV Mask           */
+
+#define CLK_CLKDIV1_SC0DIV_Pos           (0)                                               /*!< CLK_T::CLKDIV1: SC0DIV Position        */
+#define CLK_CLKDIV1_SC0DIV_Msk           (0xfful << CLK_CLKDIV1_SC0DIV_Pos)                /*!< CLK_T::CLKDIV1: SC0DIV Mask            */
+
+#define CLK_CLKDIV1_SC1DIV_Pos           (8)                                               /*!< CLK_T::CLKDIV1: SC1DIV Position        */
+#define CLK_CLKDIV1_SC1DIV_Msk           (0xfful << CLK_CLKDIV1_SC1DIV_Pos)                /*!< CLK_T::CLKDIV1: SC1DIV Mask            */
+
+#define CLK_CLKDIV1_SC2DIV_Pos           (16)                                              /*!< CLK_T::CLKDIV1: SC2DIV Position        */
+#define CLK_CLKDIV1_SC2DIV_Msk           (0xfful << CLK_CLKDIV1_SC2DIV_Pos)                /*!< CLK_T::CLKDIV1: SC2DIV Mask            */
+
+#define CLK_CLKDIV2_I2SDIV_Pos           (0)                                               /*!< CLK_T::CLKDIV2: I2SDIV Position        */
+#define CLK_CLKDIV2_I2SDIV_Msk           (0xful << CLK_CLKDIV2_I2SDIV_Pos)                 /*!< CLK_T::CLKDIV2: I2SDIV Mask            */
+
+#define CLK_CLKDIV2_EADC1DIV_Pos         (24)                                              /*!< CLK_T::CLKDIV2: EADC1DIV Position      */
+#define CLK_CLKDIV2_EADC1DIV_Msk         (0xfful << CLK_CLKDIV2_EADC1DIV_Pos)              /*!< CLK_T::CLKDIV2: EADC1DIV Mask          */
+
+#define CLK_CLKDIV3_CCAPDIV_Pos          (0)                                               /*!< CLK_T::CLKDIV3: CCAPDIV Position       */
+#define CLK_CLKDIV3_CCAPDIV_Msk          (0xfful << CLK_CLKDIV3_CCAPDIV_Pos)               /*!< CLK_T::CLKDIV3: CCAPDIV Mask           */
+
+#define CLK_CLKDIV3_VSENSEDIV_Pos        (8)                                               /*!< CLK_T::CLKDIV3: VSENSEDIV Position     */
+#define CLK_CLKDIV3_VSENSEDIV_Msk        (0xfful << CLK_CLKDIV3_VSENSEDIV_Pos)             /*!< CLK_T::CLKDIV3: VSENSEDIV Mask         */
+
+#define CLK_CLKDIV3_EMACDIV_Pos          (16)                                              /*!< CLK_T::CLKDIV3: EMACDIV Position       */
+#define CLK_CLKDIV3_EMACDIV_Msk          (0xfful << CLK_CLKDIV3_EMACDIV_Pos)               /*!< CLK_T::CLKDIV3: EMACDIV Mask           */
+
+#define CLK_CLKDIV3_SDH1DIV_Pos          (24)                                              /*!< CLK_T::CLKDIV3: SDH1DIV Position       */
+#define CLK_CLKDIV3_SDH1DIV_Msk          (0xfful << CLK_CLKDIV3_SDH1DIV_Pos)               /*!< CLK_T::CLKDIV3: SDH1DIV Mask           */
+
+#define CLK_CLKDIV4_UART2DIV_Pos         (0)                                               /*!< CLK_T::CLKDIV4: UART2DIV Position      */
+#define CLK_CLKDIV4_UART2DIV_Msk         (0xful << CLK_CLKDIV4_UART2DIV_Pos)               /*!< CLK_T::CLKDIV4: UART2DIV Mask          */
+
+#define CLK_CLKDIV4_UART3DIV_Pos         (4)                                               /*!< CLK_T::CLKDIV4: UART3DIV Position      */
+#define CLK_CLKDIV4_UART3DIV_Msk         (0xful << CLK_CLKDIV4_UART3DIV_Pos)               /*!< CLK_T::CLKDIV4: UART3DIV Mask          */
+
+#define CLK_CLKDIV4_UART4DIV_Pos         (8)                                               /*!< CLK_T::CLKDIV4: UART4DIV Position      */
+#define CLK_CLKDIV4_UART4DIV_Msk         (0xful << CLK_CLKDIV4_UART4DIV_Pos)               /*!< CLK_T::CLKDIV4: UART4DIV Mask          */
+
+#define CLK_CLKDIV4_UART5DIV_Pos         (12)                                              /*!< CLK_T::CLKDIV4: UART5DIV Position      */
+#define CLK_CLKDIV4_UART5DIV_Msk         (0xful << CLK_CLKDIV4_UART5DIV_Pos)               /*!< CLK_T::CLKDIV4: UART5DIV Mask          */
+
+#define CLK_CLKDIV4_UART6DIV_Pos         (16)                                              /*!< CLK_T::CLKDIV4: UART6DIV Position      */
+#define CLK_CLKDIV4_UART6DIV_Msk         (0xful << CLK_CLKDIV4_UART6DIV_Pos)               /*!< CLK_T::CLKDIV4: UART6DIV Mask          */
+
+#define CLK_CLKDIV4_UART7DIV_Pos         (20)                                              /*!< CLK_T::CLKDIV4: UART7DIV Position      */
+#define CLK_CLKDIV4_UART7DIV_Msk         (0xful << CLK_CLKDIV4_UART7DIV_Pos)               /*!< CLK_T::CLKDIV4: UART7DIV Mask          */
+
+#define CLK_PCLKDIV_APB0DIV_Pos          (0)                                               /*!< CLK_T::PCLKDIV: APB0DIV Position       */
+#define CLK_PCLKDIV_APB0DIV_Msk          (0x7ul << CLK_PCLKDIV_APB0DIV_Pos)                /*!< CLK_T::PCLKDIV: APB0DIV Mask           */
+
+#define CLK_PCLKDIV_APB1DIV_Pos          (4)                                               /*!< CLK_T::PCLKDIV: APB1DIV Position       */
+#define CLK_PCLKDIV_APB1DIV_Msk          (0x7ul << CLK_PCLKDIV_APB1DIV_Pos)                /*!< CLK_T::PCLKDIV: APB1DIV Mask           */
+
+#define CLK_PLLCTL_FBDIV_Pos             (0)                                               /*!< CLK_T::PLLCTL: FBDIV Position          */
+#define CLK_PLLCTL_FBDIV_Msk             (0x1fful << CLK_PLLCTL_FBDIV_Pos)                 /*!< CLK_T::PLLCTL: FBDIV Mask              */
+
+#define CLK_PLLCTL_INDIV_Pos             (9)                                               /*!< CLK_T::PLLCTL: INDIV Position          */
+#define CLK_PLLCTL_INDIV_Msk             (0x1ful << CLK_PLLCTL_INDIV_Pos)                  /*!< CLK_T::PLLCTL: INDIV Mask              */
+
+#define CLK_PLLCTL_OUTDIV_Pos            (14)                                              /*!< CLK_T::PLLCTL: OUTDIV Position         */
+#define CLK_PLLCTL_OUTDIV_Msk            (0x3ul << CLK_PLLCTL_OUTDIV_Pos)                  /*!< CLK_T::PLLCTL: OUTDIV Mask             */
+
+#define CLK_PLLCTL_PD_Pos                (16)                                              /*!< CLK_T::PLLCTL: PD Position             */
+#define CLK_PLLCTL_PD_Msk                (0x1ul << CLK_PLLCTL_PD_Pos)                      /*!< CLK_T::PLLCTL: PD Mask                 */
+
+#define CLK_PLLCTL_BP_Pos                (17)                                              /*!< CLK_T::PLLCTL: BP Position             */
+#define CLK_PLLCTL_BP_Msk                (0x1ul << CLK_PLLCTL_BP_Pos)                      /*!< CLK_T::PLLCTL: BP Mask                 */
+
+#define CLK_PLLCTL_OE_Pos                (18)                                              /*!< CLK_T::PLLCTL: OE Position             */
+#define CLK_PLLCTL_OE_Msk                (0x1ul << CLK_PLLCTL_OE_Pos)                      /*!< CLK_T::PLLCTL: OE Mask                 */
+
+#define CLK_PLLCTL_PLLSRC_Pos            (19)                                              /*!< CLK_T::PLLCTL: PLLSRC Position         */
+#define CLK_PLLCTL_PLLSRC_Msk            (0x1ul << CLK_PLLCTL_PLLSRC_Pos)                  /*!< CLK_T::PLLCTL: PLLSRC Mask             */
+
+#define CLK_PLLCTL_STBSEL_Pos            (23)                                              /*!< CLK_T::PLLCTL: STBSEL Position         */
+#define CLK_PLLCTL_STBSEL_Msk            (0x1ul << CLK_PLLCTL_STBSEL_Pos)                  /*!< CLK_T::PLLCTL: STBSEL Mask             */
+
+#define CLK_STATUS_HXTSTB_Pos            (0)                                               /*!< CLK_T::STATUS: HXTSTB Position         */
+#define CLK_STATUS_HXTSTB_Msk            (0x1ul << CLK_STATUS_HXTSTB_Pos)                  /*!< CLK_T::STATUS: HXTSTB Mask             */
+
+#define CLK_STATUS_LXTSTB_Pos            (1)                                               /*!< CLK_T::STATUS: LXTSTB Position         */
+#define CLK_STATUS_LXTSTB_Msk            (0x1ul << CLK_STATUS_LXTSTB_Pos)                  /*!< CLK_T::STATUS: LXTSTB Mask             */
+
+#define CLK_STATUS_PLLSTB_Pos            (2)                                               /*!< CLK_T::STATUS: PLLSTB Position         */
+#define CLK_STATUS_PLLSTB_Msk            (0x1ul << CLK_STATUS_PLLSTB_Pos)                  /*!< CLK_T::STATUS: PLLSTB Mask             */
+
+#define CLK_STATUS_LIRCSTB_Pos           (3)                                               /*!< CLK_T::STATUS: LIRCSTB Position        */
+#define CLK_STATUS_LIRCSTB_Msk           (0x1ul << CLK_STATUS_LIRCSTB_Pos)                 /*!< CLK_T::STATUS: LIRCSTB Mask            */
+
+#define CLK_STATUS_HIRCSTB_Pos           (4)                                               /*!< CLK_T::STATUS: HIRCSTB Position        */
+#define CLK_STATUS_HIRCSTB_Msk           (0x1ul << CLK_STATUS_HIRCSTB_Pos)                 /*!< CLK_T::STATUS: HIRCSTB Mask            */
+
+#define CLK_STATUS_HIRC48MSTB_Pos        (6)                                               /*!< CLK_T::STATUS: HIRC48MSTB Position     */
+#define CLK_STATUS_HIRC48MSTB_Msk        (0x1ul << CLK_STATUS_HIRC48MSTB_Pos)              /*!< CLK_T::STATUS: HIRC48MSTB Mask         */
+
+#define CLK_STATUS_CLKSFAIL_Pos          (7)                                               /*!< CLK_T::STATUS: CLKSFAIL Position       */
+#define CLK_STATUS_CLKSFAIL_Msk          (0x1ul << CLK_STATUS_CLKSFAIL_Pos)                /*!< CLK_T::STATUS: CLKSFAIL Mask           */
+
+#define CLK_CLKOCTL_FREQSEL_Pos          (0)                                               /*!< CLK_T::CLKOCTL: FREQSEL Position       */
+#define CLK_CLKOCTL_FREQSEL_Msk          (0xful << CLK_CLKOCTL_FREQSEL_Pos)                /*!< CLK_T::CLKOCTL: FREQSEL Mask           */
+
+#define CLK_CLKOCTL_CLKOEN_Pos           (4)                                               /*!< CLK_T::CLKOCTL: CLKOEN Position        */
+#define CLK_CLKOCTL_CLKOEN_Msk           (0x1ul << CLK_CLKOCTL_CLKOEN_Pos)                 /*!< CLK_T::CLKOCTL: CLKOEN Mask            */
+
+#define CLK_CLKOCTL_DIV1EN_Pos           (5)                                               /*!< CLK_T::CLKOCTL: DIV1EN Position        */
+#define CLK_CLKOCTL_DIV1EN_Msk           (0x1ul << CLK_CLKOCTL_DIV1EN_Pos)                 /*!< CLK_T::CLKOCTL: DIV1EN Mask            */
+
+#define CLK_CLKOCTL_CLK1HZEN_Pos         (6)                                               /*!< CLK_T::CLKOCTL: CLK1HZEN Position      */
+#define CLK_CLKOCTL_CLK1HZEN_Msk         (0x1ul << CLK_CLKOCTL_CLK1HZEN_Pos)               /*!< CLK_T::CLKOCTL: CLK1HZEN Mask          */
+
+#define CLK_CLKDCTL_HXTFDEN_Pos          (4)                                               /*!< CLK_T::CLKDCTL: HXTFDEN Position       */
+#define CLK_CLKDCTL_HXTFDEN_Msk          (0x1ul << CLK_CLKDCTL_HXTFDEN_Pos)                /*!< CLK_T::CLKDCTL: HXTFDEN Mask           */
+
+#define CLK_CLKDCTL_HXTFIEN_Pos          (5)                                               /*!< CLK_T::CLKDCTL: HXTFIEN Position       */
+#define CLK_CLKDCTL_HXTFIEN_Msk          (0x1ul << CLK_CLKDCTL_HXTFIEN_Pos)                /*!< CLK_T::CLKDCTL: HXTFIEN Mask           */
+
+#define CLK_CLKDCTL_LXTFDEN_Pos          (12)                                              /*!< CLK_T::CLKDCTL: LXTFDEN Position       */
+#define CLK_CLKDCTL_LXTFDEN_Msk          (0x1ul << CLK_CLKDCTL_LXTFDEN_Pos)                /*!< CLK_T::CLKDCTL: LXTFDEN Mask           */
+
+#define CLK_CLKDCTL_LXTFIEN_Pos          (13)                                              /*!< CLK_T::CLKDCTL: LXTFIEN Position       */
+#define CLK_CLKDCTL_LXTFIEN_Msk          (0x1ul << CLK_CLKDCTL_LXTFIEN_Pos)                /*!< CLK_T::CLKDCTL: LXTFIEN Mask           */
+
+#define CLK_CLKDCTL_HXTFQDEN_Pos         (16)                                              /*!< CLK_T::CLKDCTL: HXTFQDEN Position      */
+#define CLK_CLKDCTL_HXTFQDEN_Msk         (0x1ul << CLK_CLKDCTL_HXTFQDEN_Pos)               /*!< CLK_T::CLKDCTL: HXTFQDEN Mask          */
+
+#define CLK_CLKDCTL_HXTFQIEN_Pos         (17)                                              /*!< CLK_T::CLKDCTL: HXTFQIEN Position      */
+#define CLK_CLKDCTL_HXTFQIEN_Msk         (0x1ul << CLK_CLKDCTL_HXTFQIEN_Pos)               /*!< CLK_T::CLKDCTL: HXTFQIEN Mask          */
+
+#define CLK_CLKDSTS_HXTFIF_Pos           (0)                                               /*!< CLK_T::CLKDSTS: HXTFIF Position        */
+#define CLK_CLKDSTS_HXTFIF_Msk           (0x1ul << CLK_CLKDSTS_HXTFIF_Pos)                 /*!< CLK_T::CLKDSTS: HXTFIF Mask            */
+
+#define CLK_CLKDSTS_LXTFIF_Pos           (1)                                               /*!< CLK_T::CLKDSTS: LXTFIF Position        */
+#define CLK_CLKDSTS_LXTFIF_Msk           (0x1ul << CLK_CLKDSTS_LXTFIF_Pos)                 /*!< CLK_T::CLKDSTS: LXTFIF Mask            */
+
+#define CLK_CLKDSTS_HXTFQIF_Pos          (8)                                               /*!< CLK_T::CLKDSTS: HXTFQIF Position       */
+#define CLK_CLKDSTS_HXTFQIF_Msk          (0x1ul << CLK_CLKDSTS_HXTFQIF_Pos)                /*!< CLK_T::CLKDSTS: HXTFQIF Mask           */
+
+#define CLK_CDUPB_UPERBD_Pos             (0)                                               /*!< CLK_T::CDUPB: UPERBD Position          */
+#define CLK_CDUPB_UPERBD_Msk             (0x3fful << CLK_CDUPB_UPERBD_Pos)                 /*!< CLK_T::CDUPB: UPERBD Mask              */
+
+#define CLK_CDLOWB_LOWERBD_Pos           (0)                                               /*!< CLK_T::CDLOWB: LOWERBD Position        */
+#define CLK_CDLOWB_LOWERBD_Msk           (0x3fful << CLK_CDLOWB_LOWERBD_Pos)               /*!< CLK_T::CDLOWB: LOWERBD Mask            */
+
+#define CLK_PMUCTL_PDMSEL_Pos            (0)                                               /*!< CLK_T::PMUCTL: PDMSEL Position         */
+#define CLK_PMUCTL_PDMSEL_Msk            (0x7ul << CLK_PMUCTL_PDMSEL_Pos)                  /*!< CLK_T::PMUCTL: PDMSEL Mask             */
+
+#define CLK_PMUCTL_DPDHOLDEN_Pos         (3)                                               /*!< CLK_T::PMUCTL: DPDHOLDEN Position      */
+#define CLK_PMUCTL_DPDHOLDEN_Msk         (0x1ul << CLK_PMUCTL_DPDHOLDEN_Pos)               /*!< CLK_T::PMUCTL: DPDHOLDEN Mask          */
+
+#define CLK_PMUCTL_SRETSEL_Pos           (4)                                               /*!< CLK_T::PMUCTL: SRETSEL Position        */
+#define CLK_PMUCTL_SRETSEL_Msk           (0x7ul << CLK_PMUCTL_SRETSEL_Pos)                 /*!< CLK_T::PMUCTL: SRETSEL Mask            */
+
+#define CLK_PMUCTL_WKTMREN_Pos           (8)                                               /*!< CLK_T::PMUCTL: WKTMREN Position        */
+#define CLK_PMUCTL_WKTMREN_Msk           (0x1ul << CLK_PMUCTL_WKTMREN_Pos)                 /*!< CLK_T::PMUCTL: WKTMREN Mask            */
+
+#define CLK_PMUCTL_WKTMRIS_Pos           (9)                                               /*!< CLK_T::PMUCTL: WKTMRIS Position        */
+#define CLK_PMUCTL_WKTMRIS_Msk           (0xful << CLK_PMUCTL_WKTMRIS_Pos)                 /*!< CLK_T::PMUCTL: WKTMRIS Mask            */
+
+#define CLK_PMUCTL_WKPINEN_Pos           (16)                                              /*!< CLK_T::PMUCTL: WKPINEN Position        */
+#define CLK_PMUCTL_WKPINEN_Msk           (0x3ul << CLK_PMUCTL_WKPINEN_Pos)                 /*!< CLK_T::PMUCTL: WKPINEN Mask            */
+
+#define CLK_PMUCTL_ACMPSPWK_Pos          (18)                                              /*!< CLK_T::PMUCTL: ACMPSPWK Position       */
+#define CLK_PMUCTL_ACMPSPWK_Msk          (0x1ul << CLK_PMUCTL_ACMPSPWK_Pos)                /*!< CLK_T::PMUCTL: ACMPSPWK Mask           */
+
+#define CLK_PMUCTL_RTCWKEN_Pos           (23)                                              /*!< CLK_T::PMUCTL: RTCWKEN Position        */
+#define CLK_PMUCTL_RTCWKEN_Msk           (0x1ul << CLK_PMUCTL_RTCWKEN_Pos)                 /*!< CLK_T::PMUCTL: RTCWKEN Mask            */
+
+#define CLK_PMUCTL_WKPINEN1_Pos          (24)                                              /*!< CLK_T::PMUCTL: WKPINEN1 Position       */
+#define CLK_PMUCTL_WKPINEN1_Msk          (0x3ul << CLK_PMUCTL_WKPINEN1_Pos)                /*!< CLK_T::PMUCTL: WKPINEN1 Mask           */
+
+#define CLK_PMUCTL_WKPINEN2_Pos          (26)                                              /*!< CLK_T::PMUCTL: WKPINEN2 Position       */
+#define CLK_PMUCTL_WKPINEN2_Msk          (0x3ul << CLK_PMUCTL_WKPINEN2_Pos)                /*!< CLK_T::PMUCTL: WKPINEN2 Mask           */
+
+#define CLK_PMUCTL_WKPINEN3_Pos          (28)                                              /*!< CLK_T::PMUCTL: WKPINEN3 Position       */
+#define CLK_PMUCTL_WKPINEN3_Msk          (0x3ul << CLK_PMUCTL_WKPINEN3_Pos)                /*!< CLK_T::PMUCTL: WKPINEN3 Mask           */
+
+#define CLK_PMUCTL_WKPINEN4_Pos          (30)                                              /*!< CLK_T::PMUCTL: WKPINEN4 Position       */
+#define CLK_PMUCTL_WKPINEN4_Msk          (0x3ul << CLK_PMUCTL_WKPINEN4_Pos)                /*!< CLK_T::PMUCTL: WKPINEN4 Mask           */
+
+#define CLK_PMUSTS_PINWK_Pos             (0)                                               /*!< CLK_T::PMUSTS: PINWK Position          */
+#define CLK_PMUSTS_PINWK_Msk             (0x1ul << CLK_PMUSTS_PINWK_Pos)                   /*!< CLK_T::PMUSTS: PINWK Mask              */
+
+#define CLK_PMUSTS_TMRWK_Pos             (1)                                               /*!< CLK_T::PMUSTS: TMRWK Position          */
+#define CLK_PMUSTS_TMRWK_Msk             (0x1ul << CLK_PMUSTS_TMRWK_Pos)                   /*!< CLK_T::PMUSTS: TMRWK Mask              */
+
+#define CLK_PMUSTS_RTCWK_Pos             (2)                                               /*!< CLK_T::PMUSTS: RTCWK Position          */
+#define CLK_PMUSTS_RTCWK_Msk             (0x1ul << CLK_PMUSTS_RTCWK_Pos)                   /*!< CLK_T::PMUSTS: RTCWK Mask              */
+
+#define CLK_PMUSTS_PINWK1_Pos            (3)                                               /*!< CLK_T::PMUSTS: PINWK1 Position         */
+#define CLK_PMUSTS_PINWK1_Msk            (0x1ul << CLK_PMUSTS_PINWK1_Pos)                  /*!< CLK_T::PMUSTS: PINWK1 Mask             */
+
+#define CLK_PMUSTS_PINWK2_Pos            (4)                                               /*!< CLK_T::PMUSTS: PINWK2 Position         */
+#define CLK_PMUSTS_PINWK2_Msk            (0x1ul << CLK_PMUSTS_PINWK2_Pos)                  /*!< CLK_T::PMUSTS: PINWK2 Mask             */
+
+#define CLK_PMUSTS_PINWK3_Pos            (5)                                               /*!< CLK_T::PMUSTS: PINWK3 Position         */
+#define CLK_PMUSTS_PINWK3_Msk            (0x1ul << CLK_PMUSTS_PINWK3_Pos)                  /*!< CLK_T::PMUSTS: PINWK3 Mask             */
+
+#define CLK_PMUSTS_PINWK4_Pos            (6)                                               /*!< CLK_T::PMUSTS: PINWK4 Position         */
+#define CLK_PMUSTS_PINWK4_Msk            (0x1ul << CLK_PMUSTS_PINWK4_Pos)                  /*!< CLK_T::PMUSTS: PINWK4 Mask             */
+
+#define CLK_PMUSTS_GPAWK_Pos             (8)                                               /*!< CLK_T::PMUSTS: GPAWK Position          */
+#define CLK_PMUSTS_GPAWK_Msk             (0x1ul << CLK_PMUSTS_GPAWK_Pos)                   /*!< CLK_T::PMUSTS: GPAWK Mask              */
+
+#define CLK_PMUSTS_GPBWK_Pos             (9)                                               /*!< CLK_T::PMUSTS: GPBWK Position          */
+#define CLK_PMUSTS_GPBWK_Msk             (0x1ul << CLK_PMUSTS_GPBWK_Pos)                   /*!< CLK_T::PMUSTS: GPBWK Mask              */
+
+#define CLK_PMUSTS_GPCWK_Pos             (10)                                              /*!< CLK_T::PMUSTS: GPCWK Position          */
+#define CLK_PMUSTS_GPCWK_Msk             (0x1ul << CLK_PMUSTS_GPCWK_Pos)                   /*!< CLK_T::PMUSTS: GPCWK Mask              */
+
+#define CLK_PMUSTS_GPDWK_Pos             (11)                                              /*!< CLK_T::PMUSTS: GPDWK Position          */
+#define CLK_PMUSTS_GPDWK_Msk             (0x1ul << CLK_PMUSTS_GPDWK_Pos)                   /*!< CLK_T::PMUSTS: GPDWK Mask              */
+
+#define CLK_PMUSTS_LVRWK_Pos             (12)                                              /*!< CLK_T::PMUSTS: LVRWK Position          */
+#define CLK_PMUSTS_LVRWK_Msk             (0x1ul << CLK_PMUSTS_LVRWK_Pos)                   /*!< CLK_T::PMUSTS: LVRWK Mask              */
+
+#define CLK_PMUSTS_BODWK_Pos             (13)                                              /*!< CLK_T::PMUSTS: BODWK Position          */
+#define CLK_PMUSTS_BODWK_Msk             (0x1ul << CLK_PMUSTS_BODWK_Pos)                   /*!< CLK_T::PMUSTS: BODWK Mask              */
+
+#define CLK_PMUSTS_ACMPWK_Pos            (14)                                              /*!< CLK_T::PMUSTS: ACMPWK Position         */
+#define CLK_PMUSTS_ACMPWK_Msk            (0x1ul << CLK_PMUSTS_ACMPWK_Pos)                  /*!< CLK_T::PMUSTS: ACMPWK Mask             */
+
+#define CLK_PMUSTS_CLRWK_Pos             (31)                                              /*!< CLK_T::PMUSTS: CLRWK Position          */
+#define CLK_PMUSTS_CLRWK_Msk             (0x1ul << CLK_PMUSTS_CLRWK_Pos)                   /*!< CLK_T::PMUSTS: CLRWK Mask              */
+
+#define CLK_LDOCTL_PDBIASEN_Pos          (18)                                              /*!< CLK_T::LDOCTL: PDBIASEN Position       */
+#define CLK_LDOCTL_PDBIASEN_Msk          (0x1ul << CLK_LDOCTL_PDBIASEN_Pos)                /*!< CLK_T::LDOCTL: PDBIASEN Mask           */
+
+#define CLK_SWKDBCTL_SWKDBCLKSEL_Pos     (0)                                               /*!< CLK_T::SWKDBCTL: SWKDBCLKSEL Position  */
+#define CLK_SWKDBCTL_SWKDBCLKSEL_Msk     (0xful << CLK_SWKDBCTL_SWKDBCLKSEL_Pos)           /*!< CLK_T::SWKDBCTL: SWKDBCLKSEL Mask      */
+
+#define CLK_PASWKCTL_WKEN_Pos            (0)                                               /*!< CLK_T::PASWKCTL: WKEN Position         */
+#define CLK_PASWKCTL_WKEN_Msk            (0x1ul << CLK_PASWKCTL_WKEN_Pos)                  /*!< CLK_T::PASWKCTL: WKEN Mask             */
+
+#define CLK_PASWKCTL_PRWKEN_Pos          (1)                                               /*!< CLK_T::PASWKCTL: PRWKEN Position       */
+#define CLK_PASWKCTL_PRWKEN_Msk          (0x1ul << CLK_PASWKCTL_PRWKEN_Pos)                /*!< CLK_T::PASWKCTL: PRWKEN Mask           */
+
+#define CLK_PASWKCTL_PFWKEN_Pos          (2)                                               /*!< CLK_T::PASWKCTL: PFWKEN Position       */
+#define CLK_PASWKCTL_PFWKEN_Msk          (0x1ul << CLK_PASWKCTL_PFWKEN_Pos)                /*!< CLK_T::PASWKCTL: PFWKEN Mask           */
+
+#define CLK_PASWKCTL_WKPSEL_Pos          (4)                                               /*!< CLK_T::PASWKCTL: WKPSEL Position       */
+#define CLK_PASWKCTL_WKPSEL_Msk          (0xful << CLK_PASWKCTL_WKPSEL_Pos)                /*!< CLK_T::PASWKCTL: WKPSEL Mask           */
+
+#define CLK_PASWKCTL_DBEN_Pos            (8)                                               /*!< CLK_T::PASWKCTL: DBEN Position         */
+#define CLK_PASWKCTL_DBEN_Msk            (0x1ul << CLK_PASWKCTL_DBEN_Pos)                  /*!< CLK_T::PASWKCTL: DBEN Mask             */
+
+#define CLK_PBSWKCTL_WKEN_Pos            (0)                                               /*!< CLK_T::PBSWKCTL: WKEN Position         */
+#define CLK_PBSWKCTL_WKEN_Msk            (0x1ul << CLK_PBSWKCTL_WKEN_Pos)                  /*!< CLK_T::PBSWKCTL: WKEN Mask             */
+
+#define CLK_PBSWKCTL_PRWKEN_Pos          (1)                                               /*!< CLK_T::PBSWKCTL: PRWKEN Position       */
+#define CLK_PBSWKCTL_PRWKEN_Msk          (0x1ul << CLK_PBSWKCTL_PRWKEN_Pos)                /*!< CLK_T::PBSWKCTL: PRWKEN Mask           */
+
+#define CLK_PBSWKCTL_PFWKEN_Pos          (2)                                               /*!< CLK_T::PBSWKCTL: PFWKEN Position       */
+#define CLK_PBSWKCTL_PFWKEN_Msk          (0x1ul << CLK_PBSWKCTL_PFWKEN_Pos)                /*!< CLK_T::PBSWKCTL: PFWKEN Mask           */
+
+#define CLK_PBSWKCTL_WKPSEL_Pos          (4)                                               /*!< CLK_T::PBSWKCTL: WKPSEL Position       */
+#define CLK_PBSWKCTL_WKPSEL_Msk          (0xful << CLK_PBSWKCTL_WKPSEL_Pos)                /*!< CLK_T::PBSWKCTL: WKPSEL Mask           */
+
+#define CLK_PBSWKCTL_DBEN_Pos            (8)                                               /*!< CLK_T::PBSWKCTL: DBEN Position         */
+#define CLK_PBSWKCTL_DBEN_Msk            (0x1ul << CLK_PBSWKCTL_DBEN_Pos)                  /*!< CLK_T::PBSWKCTL: DBEN Mask             */
+
+#define CLK_PCSWKCTL_WKEN_Pos            (0)                                               /*!< CLK_T::PCSWKCTL: WKEN Position         */
+#define CLK_PCSWKCTL_WKEN_Msk            (0x1ul << CLK_PCSWKCTL_WKEN_Pos)                  /*!< CLK_T::PCSWKCTL: WKEN Mask             */
+
+#define CLK_PCSWKCTL_PRWKEN_Pos          (1)                                               /*!< CLK_T::PCSWKCTL: PRWKEN Position       */
+#define CLK_PCSWKCTL_PRWKEN_Msk          (0x1ul << CLK_PCSWKCTL_PRWKEN_Pos)                /*!< CLK_T::PCSWKCTL: PRWKEN Mask           */
+
+#define CLK_PCSWKCTL_PFWKEN_Pos          (2)                                               /*!< CLK_T::PCSWKCTL: PFWKEN Position       */
+#define CLK_PCSWKCTL_PFWKEN_Msk          (0x1ul << CLK_PCSWKCTL_PFWKEN_Pos)                /*!< CLK_T::PCSWKCTL: PFWKEN Mask           */
+
+#define CLK_PCSWKCTL_WKPSEL_Pos          (4)                                               /*!< CLK_T::PCSWKCTL: WKPSEL Position       */
+#define CLK_PCSWKCTL_WKPSEL_Msk          (0xful << CLK_PCSWKCTL_WKPSEL_Pos)                /*!< CLK_T::PCSWKCTL: WKPSEL Mask           */
+
+#define CLK_PCSWKCTL_DBEN_Pos            (8)                                               /*!< CLK_T::PCSWKCTL: DBEN Position         */
+#define CLK_PCSWKCTL_DBEN_Msk            (0x1ul << CLK_PCSWKCTL_DBEN_Pos)                  /*!< CLK_T::PCSWKCTL: DBEN Mask             */
+
+#define CLK_PDSWKCTL_WKEN_Pos            (0)                                               /*!< CLK_T::PDSWKCTL: WKEN Position         */
+#define CLK_PDSWKCTL_WKEN_Msk            (0x1ul << CLK_PDSWKCTL_WKEN_Pos)                  /*!< CLK_T::PDSWKCTL: WKEN Mask             */
+
+#define CLK_PDSWKCTL_PRWKEN_Pos          (1)                                               /*!< CLK_T::PDSWKCTL: PRWKEN Position       */
+#define CLK_PDSWKCTL_PRWKEN_Msk          (0x1ul << CLK_PDSWKCTL_PRWKEN_Pos)                /*!< CLK_T::PDSWKCTL: PRWKEN Mask           */
+
+#define CLK_PDSWKCTL_PFWKEN_Pos          (2)                                               /*!< CLK_T::PDSWKCTL: PFWKEN Position       */
+#define CLK_PDSWKCTL_PFWKEN_Msk          (0x1ul << CLK_PDSWKCTL_PFWKEN_Pos)                /*!< CLK_T::PDSWKCTL: PFWKEN Mask           */
+
+#define CLK_PDSWKCTL_WKPSEL_Pos          (4)                                               /*!< CLK_T::PDSWKCTL: WKPSEL Position       */
+#define CLK_PDSWKCTL_WKPSEL_Msk          (0xful << CLK_PDSWKCTL_WKPSEL_Pos)                /*!< CLK_T::PDSWKCTL: WKPSEL Mask           */
+
+#define CLK_PDSWKCTL_DBEN_Pos            (8)                                               /*!< CLK_T::PDSWKCTL: DBEN Position         */
+#define CLK_PDSWKCTL_DBEN_Msk            (0x1ul << CLK_PDSWKCTL_DBEN_Pos)                  /*!< CLK_T::PDSWKCTL: DBEN Mask             */
+
+#define CLK_IOPDCTL_IOHR_Pos             (0)                                               /*!< CLK_T::IOPDCTL: IOHR Position          */
+#define CLK_IOPDCTL_IOHR_Msk             (0x1ul << CLK_IOPDCTL_IOHR_Pos)                   /*!< CLK_T::IOPDCTL: IOHR Mask              */
+
+/**@}*/ /* CLK_CONST */
+/**@}*/ /* end of CLK register group */
+/**@}*/ /* end of REGISTER group */
+
+#if defined ( __CC_ARM   )
+#pragma no_anon_unions
+#endif
+
+#endif /* __CLK_REG_H__ */

+ 1692 - 0
dap_link/lib/free-dap/platform/m484/include/core_cm4.h

@@ -0,0 +1,1692 @@
+/**************************************************************************//**
+ * @file     core_cm4.h
+ * @brief    CMSIS Cortex-M4 Core Peripheral Access Layer Header File
+ * @version  V3.00
+ * @date     03. February 2012
+ *
+ * @note
+ * Copyright (C) 2009-2012 ARM Limited. All rights reserved.
+ *
+ * @par
+ * ARM Limited (ARM) is supplying this software for use with Cortex-M
+ * processor based microcontrollers.  This file can be freely distributed
+ * within development tools that are supporting such ARM based processors.
+ *
+ * @par
+ * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+ *
+ ******************************************************************************/
+ /**
+ * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a>
+ */
+#if defined ( __ICCARM__ )
+ #pragma system_include  /* treat file as system include file for MISRA check */
+#endif
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#ifndef __CORE_CM4_H_GENERIC
+#define __CORE_CM4_H_GENERIC
+
+/** \page CMSIS_MISRA_Exceptions  MISRA-C:2004 Compliance Exceptions
+  CMSIS violates the following MISRA-C:2004 rules:
+  
+   \li Required Rule 8.5, object/function definition in header file.<br>
+     Function definitions in header files are used to allow 'inlining'. 
+
+   \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
+     Unions are used for effective representation of core registers.
+   
+   \li Advisory Rule 19.7, Function-like macro defined.<br>
+     Function-like macros are used to allow more efficient code. 
+ */
+
+
+/*******************************************************************************
+ *                 CMSIS definitions
+ ******************************************************************************/
+/** \ingroup Cortex_M4
+  @{
+ */
+
+/*  CMSIS CM4 definitions */
+#define __CM4_CMSIS_VERSION_MAIN  (0x03)                                   /*!< [31:16] CMSIS HAL main version   */
+#define __CM4_CMSIS_VERSION_SUB   (0x00)                                   /*!< [15:0]  CMSIS HAL sub version    */
+#define __CM4_CMSIS_VERSION       ((__CM4_CMSIS_VERSION_MAIN << 16) | \
+                                    __CM4_CMSIS_VERSION_SUB          )     /*!< CMSIS HAL version number         */
+
+#define __CORTEX_M                (0x04)                                   /*!< Cortex-M Core                    */
+
+
+#if   defined ( __CC_ARM )
+  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
+  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */
+  #define __STATIC_INLINE  static __inline
+
+#elif defined ( __ICCARM__ )
+  #define __ASM            __asm                                      /*!< asm keyword for IAR Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TMS470__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TI CCS Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __GNUC__ )
+  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TASKING__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
+  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */
+  #define __STATIC_INLINE  static inline
+
+#endif
+
+/** __FPU_USED indicates whether an FPU is used or not. For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions.
+*/
+#if defined ( __CC_ARM )
+  #if defined __TARGET_FPU_VFP
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __ICCARM__ )
+  #if defined __ARMVFP__
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __TMS470__ )
+  #if defined __TI_VFP_SUPPORT__
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __GNUC__ )
+  #if defined (__VFP_FP__) && !defined(__SOFTFP__)
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __TASKING__ )
+    /* add preprocessor checks to define __FPU_USED */
+    #define __FPU_USED         0
+#endif
+
+#include <stdint.h>                      /* standard types definitions                      */
+#include <core_cmInstr.h>                /* Core Instruction Access                         */
+#include <core_cmFunc.h>                 /* Core Function Access                            */
+#include <core_cm4_simd.h>               /* Compiler specific SIMD Intrinsics               */
+
+#endif /* __CORE_CM4_H_GENERIC */
+
+#ifndef __CMSIS_GENERIC
+
+#ifndef __CORE_CM4_H_DEPENDANT
+#define __CORE_CM4_H_DEPENDANT
+
+/* check device defines and use defaults */
+#if defined __CHECK_DEVICE_DEFINES
+  #ifndef __CM4_REV
+    #define __CM4_REV               0x0000
+    #warning "__CM4_REV not defined in device header file; using default!"
+  #endif
+
+  #ifndef __FPU_PRESENT
+    #define __FPU_PRESENT             0
+    #warning "__FPU_PRESENT not defined in device header file; using default!"
+  #endif
+
+  #ifndef __MPU_PRESENT
+    #define __MPU_PRESENT             0
+    #warning "__MPU_PRESENT not defined in device header file; using default!"
+  #endif
+
+  #ifndef __NVIC_PRIO_BITS
+    #define __NVIC_PRIO_BITS          4
+    #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
+  #endif
+
+  #ifndef __Vendor_SysTickConfig
+    #define __Vendor_SysTickConfig    0
+    #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
+  #endif
+#endif
+
+/* IO definitions (access restrictions to peripheral registers) */
+/**
+    \defgroup CMSIS_glob_defs CMSIS Global Defines
+ 
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+*/
+#ifdef __cplusplus
+  #define   __I     volatile             /*!< Defines 'read only' permissions                 */
+#else
+  #define   __I     volatile const       /*!< Defines 'read only' permissions                 */
+#endif
+#define     __O     volatile             /*!< Defines 'write only' permissions                */
+#define     __IO    volatile             /*!< Defines 'read / write' permissions              */
+
+/*@} end of group Cortex_M4 */
+
+
+
+/*******************************************************************************
+ *                 Register Abstraction
+  Core Register contain:
+  - Core Register
+  - Core NVIC Register
+  - Core SCB Register
+  - Core SysTick Register
+  - Core Debug Register
+  - Core MPU Register
+  - Core FPU Register
+ ******************************************************************************/
+/** \defgroup CMSIS_core_register Defines and Type Definitions
+    \brief Type definitions and defines for Cortex-M processor based devices.
+*/
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_CORE  Status and Control Registers
+    \brief  Core Register type definitions.
+  @{
+ */
+
+/** \brief  Union type to access the Application Program Status Register (APSR).
+ */
+typedef union
+{
+  struct
+  {
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:27;              /*!< bit:  0..26  Reserved                           */
+#else
+    uint32_t _reserved0:16;              /*!< bit:  0..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:7;               /*!< bit: 20..26  Reserved                           */
+#endif
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} APSR_Type;
+
+
+/** \brief  Union type to access the Interrupt Program Status Register (IPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+    uint32_t _reserved0:23;              /*!< bit:  9..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} IPSR_Type;
+
+
+/** \brief  Union type to access the Special-Purpose Program Status Registers (xPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:15;              /*!< bit:  9..23  Reserved                           */
+#else
+    uint32_t _reserved0:7;               /*!< bit:  9..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:4;               /*!< bit: 20..23  Reserved                           */
+#endif
+    uint32_t T:1;                        /*!< bit:     24  Thumb bit        (read 0)          */
+    uint32_t IT:2;                       /*!< bit: 25..26  saved IT state   (read 0)          */
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} xPSR_Type;
+
+
+/** \brief  Union type to access the Control Registers (CONTROL).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t nPRIV:1;                    /*!< bit:      0  Execution privilege in Thread mode */
+    uint32_t SPSEL:1;                    /*!< bit:      1  Stack to be used                   */
+    uint32_t FPCA:1;                     /*!< bit:      2  FP extension active flag           */
+    uint32_t _reserved0:29;              /*!< bit:  3..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} CONTROL_Type;
+
+/*@} end of group CMSIS_CORE */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_NVIC  Nested Vectored Interrupt Controller (NVIC)
+    \brief      Type definitions for the NVIC Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Nested Vectored Interrupt Controller (NVIC).
+ */
+typedef struct
+{
+  __IO uint32_t ISER[8];                 /*!< Offset: 0x000 (R/W)  Interrupt Set Enable Register           */
+       uint32_t RESERVED0[24];
+  __IO uint32_t ICER[8];                 /*!< Offset: 0x080 (R/W)  Interrupt Clear Enable Register         */
+       uint32_t RSERVED1[24];
+  __IO uint32_t ISPR[8];                 /*!< Offset: 0x100 (R/W)  Interrupt Set Pending Register          */
+       uint32_t RESERVED2[24];
+  __IO uint32_t ICPR[8];                 /*!< Offset: 0x180 (R/W)  Interrupt Clear Pending Register        */
+       uint32_t RESERVED3[24];
+  __IO uint32_t IABR[8];                 /*!< Offset: 0x200 (R/W)  Interrupt Active bit Register           */
+       uint32_t RESERVED4[56];
+  __IO uint8_t  IP[240];                 /*!< Offset: 0x300 (R/W)  Interrupt Priority Register (8Bit wide) */
+       uint32_t RESERVED5[644];
+  __O  uint32_t STIR;                    /*!< Offset: 0xE00 ( /W)  Software Trigger Interrupt Register     */
+}  NVIC_Type;
+
+/* Software Triggered Interrupt Register Definitions */
+#define NVIC_STIR_INTID_Pos                 0                                          /*!< STIR: INTLINESNUM Position */
+#define NVIC_STIR_INTID_Msk                (0x1FFUL << NVIC_STIR_INTID_Pos)            /*!< STIR: INTLINESNUM Mask */
+
+/*@} end of group CMSIS_NVIC */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCB     System Control Block (SCB)
+    \brief      Type definitions for the System Control Block Registers
+  @{
+ */
+
+/** \brief  Structure type to access the System Control Block (SCB).
+ */
+typedef struct
+{
+  __I  uint32_t CPUID;                   /*!< Offset: 0x000 (R/ )  CPUID Base Register                                   */
+  __IO uint32_t ICSR;                    /*!< Offset: 0x004 (R/W)  Interrupt Control and State Register                  */
+  __IO uint32_t VTOR;                    /*!< Offset: 0x008 (R/W)  Vector Table Offset Register                          */
+  __IO uint32_t AIRCR;                   /*!< Offset: 0x00C (R/W)  Application Interrupt and Reset Control Register      */
+  __IO uint32_t SCR;                     /*!< Offset: 0x010 (R/W)  System Control Register                               */
+  __IO uint32_t CCR;                     /*!< Offset: 0x014 (R/W)  Configuration Control Register                        */
+  __IO uint8_t  SHP[12];                 /*!< Offset: 0x018 (R/W)  System Handlers Priority Registers (4-7, 8-11, 12-15) */
+  __IO uint32_t SHCSR;                   /*!< Offset: 0x024 (R/W)  System Handler Control and State Register             */
+  __IO uint32_t CFSR;                    /*!< Offset: 0x028 (R/W)  Configurable Fault Status Register                    */
+  __IO uint32_t HFSR;                    /*!< Offset: 0x02C (R/W)  HardFault Status Register                             */
+  __IO uint32_t DFSR;                    /*!< Offset: 0x030 (R/W)  Debug Fault Status Register                           */
+  __IO uint32_t MMFAR;                   /*!< Offset: 0x034 (R/W)  MemManage Fault Address Register                      */
+  __IO uint32_t BFAR;                    /*!< Offset: 0x038 (R/W)  BusFault Address Register                             */
+  __IO uint32_t AFSR;                    /*!< Offset: 0x03C (R/W)  Auxiliary Fault Status Register                       */
+  __I  uint32_t PFR[2];                  /*!< Offset: 0x040 (R/ )  Processor Feature Register                            */
+  __I  uint32_t DFR;                     /*!< Offset: 0x048 (R/ )  Debug Feature Register                                */
+  __I  uint32_t ADR;                     /*!< Offset: 0x04C (R/ )  Auxiliary Feature Register                            */
+  __I  uint32_t MMFR[4];                 /*!< Offset: 0x050 (R/ )  Memory Model Feature Register                         */
+  __I  uint32_t ISAR[5];                 /*!< Offset: 0x060 (R/ )  Instruction Set Attributes Register                   */
+       uint32_t RESERVED0[5];
+  __IO uint32_t CPACR;                   /*!< Offset: 0x088 (R/W)  Coprocessor Access Control Register                   */
+} SCB_Type;
+
+/* SCB CPUID Register Definitions */
+#define SCB_CPUID_IMPLEMENTER_Pos          24                                             /*!< SCB CPUID: IMPLEMENTER Position */
+#define SCB_CPUID_IMPLEMENTER_Msk          (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)          /*!< SCB CPUID: IMPLEMENTER Mask */
+
+#define SCB_CPUID_VARIANT_Pos              20                                             /*!< SCB CPUID: VARIANT Position */
+#define SCB_CPUID_VARIANT_Msk              (0xFUL << SCB_CPUID_VARIANT_Pos)               /*!< SCB CPUID: VARIANT Mask */
+
+#define SCB_CPUID_ARCHITECTURE_Pos         16                                             /*!< SCB CPUID: ARCHITECTURE Position */
+#define SCB_CPUID_ARCHITECTURE_Msk         (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)          /*!< SCB CPUID: ARCHITECTURE Mask */
+
+#define SCB_CPUID_PARTNO_Pos                4                                             /*!< SCB CPUID: PARTNO Position */
+#define SCB_CPUID_PARTNO_Msk               (0xFFFUL << SCB_CPUID_PARTNO_Pos)              /*!< SCB CPUID: PARTNO Mask */
+
+#define SCB_CPUID_REVISION_Pos              0                                             /*!< SCB CPUID: REVISION Position */
+#define SCB_CPUID_REVISION_Msk             (0xFUL << SCB_CPUID_REVISION_Pos)              /*!< SCB CPUID: REVISION Mask */
+
+/* SCB Interrupt Control State Register Definitions */
+#define SCB_ICSR_NMIPENDSET_Pos            31                                             /*!< SCB ICSR: NMIPENDSET Position */
+#define SCB_ICSR_NMIPENDSET_Msk            (1UL << SCB_ICSR_NMIPENDSET_Pos)               /*!< SCB ICSR: NMIPENDSET Mask */
+
+#define SCB_ICSR_PENDSVSET_Pos             28                                             /*!< SCB ICSR: PENDSVSET Position */
+#define SCB_ICSR_PENDSVSET_Msk             (1UL << SCB_ICSR_PENDSVSET_Pos)                /*!< SCB ICSR: PENDSVSET Mask */
+
+#define SCB_ICSR_PENDSVCLR_Pos             27                                             /*!< SCB ICSR: PENDSVCLR Position */
+#define SCB_ICSR_PENDSVCLR_Msk             (1UL << SCB_ICSR_PENDSVCLR_Pos)                /*!< SCB ICSR: PENDSVCLR Mask */
+
+#define SCB_ICSR_PENDSTSET_Pos             26                                             /*!< SCB ICSR: PENDSTSET Position */
+#define SCB_ICSR_PENDSTSET_Msk             (1UL << SCB_ICSR_PENDSTSET_Pos)                /*!< SCB ICSR: PENDSTSET Mask */
+
+#define SCB_ICSR_PENDSTCLR_Pos             25                                             /*!< SCB ICSR: PENDSTCLR Position */
+#define SCB_ICSR_PENDSTCLR_Msk             (1UL << SCB_ICSR_PENDSTCLR_Pos)                /*!< SCB ICSR: PENDSTCLR Mask */
+
+#define SCB_ICSR_ISRPREEMPT_Pos            23                                             /*!< SCB ICSR: ISRPREEMPT Position */
+#define SCB_ICSR_ISRPREEMPT_Msk            (1UL << SCB_ICSR_ISRPREEMPT_Pos)               /*!< SCB ICSR: ISRPREEMPT Mask */
+
+#define SCB_ICSR_ISRPENDING_Pos            22                                             /*!< SCB ICSR: ISRPENDING Position */
+#define SCB_ICSR_ISRPENDING_Msk            (1UL << SCB_ICSR_ISRPENDING_Pos)               /*!< SCB ICSR: ISRPENDING Mask */
+
+#define SCB_ICSR_VECTPENDING_Pos           12                                             /*!< SCB ICSR: VECTPENDING Position */
+#define SCB_ICSR_VECTPENDING_Msk           (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)          /*!< SCB ICSR: VECTPENDING Mask */
+
+#define SCB_ICSR_RETTOBASE_Pos             11                                             /*!< SCB ICSR: RETTOBASE Position */
+#define SCB_ICSR_RETTOBASE_Msk             (1UL << SCB_ICSR_RETTOBASE_Pos)                /*!< SCB ICSR: RETTOBASE Mask */
+
+#define SCB_ICSR_VECTACTIVE_Pos             0                                             /*!< SCB ICSR: VECTACTIVE Position */
+#define SCB_ICSR_VECTACTIVE_Msk            (0x1FFUL << SCB_ICSR_VECTACTIVE_Pos)           /*!< SCB ICSR: VECTACTIVE Mask */
+
+/* SCB Vector Table Offset Register Definitions */
+#define SCB_VTOR_TBLOFF_Pos                 7                                             /*!< SCB VTOR: TBLOFF Position */
+#define SCB_VTOR_TBLOFF_Msk                (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos)           /*!< SCB VTOR: TBLOFF Mask */
+
+/* SCB Application Interrupt and Reset Control Register Definitions */
+#define SCB_AIRCR_VECTKEY_Pos              16                                             /*!< SCB AIRCR: VECTKEY Position */
+#define SCB_AIRCR_VECTKEY_Msk              (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)            /*!< SCB AIRCR: VECTKEY Mask */
+
+#define SCB_AIRCR_VECTKEYSTAT_Pos          16                                             /*!< SCB AIRCR: VECTKEYSTAT Position */
+#define SCB_AIRCR_VECTKEYSTAT_Msk          (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)        /*!< SCB AIRCR: VECTKEYSTAT Mask */
+
+#define SCB_AIRCR_ENDIANESS_Pos            15                                             /*!< SCB AIRCR: ENDIANESS Position */
+#define SCB_AIRCR_ENDIANESS_Msk            (1UL << SCB_AIRCR_ENDIANESS_Pos)               /*!< SCB AIRCR: ENDIANESS Mask */
+
+#define SCB_AIRCR_PRIGROUP_Pos              8                                             /*!< SCB AIRCR: PRIGROUP Position */
+#define SCB_AIRCR_PRIGROUP_Msk             (7UL << SCB_AIRCR_PRIGROUP_Pos)                /*!< SCB AIRCR: PRIGROUP Mask */
+
+#define SCB_AIRCR_SYSRESETREQ_Pos           2                                             /*!< SCB AIRCR: SYSRESETREQ Position */
+#define SCB_AIRCR_SYSRESETREQ_Msk          (1UL << SCB_AIRCR_SYSRESETREQ_Pos)             /*!< SCB AIRCR: SYSRESETREQ Mask */
+
+#define SCB_AIRCR_VECTCLRACTIVE_Pos         1                                             /*!< SCB AIRCR: VECTCLRACTIVE Position */
+#define SCB_AIRCR_VECTCLRACTIVE_Msk        (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)           /*!< SCB AIRCR: VECTCLRACTIVE Mask */
+
+#define SCB_AIRCR_VECTRESET_Pos             0                                             /*!< SCB AIRCR: VECTRESET Position */
+#define SCB_AIRCR_VECTRESET_Msk            (1UL << SCB_AIRCR_VECTRESET_Pos)               /*!< SCB AIRCR: VECTRESET Mask */
+
+/* SCB System Control Register Definitions */
+#define SCB_SCR_SEVONPEND_Pos               4                                             /*!< SCB SCR: SEVONPEND Position */
+#define SCB_SCR_SEVONPEND_Msk              (1UL << SCB_SCR_SEVONPEND_Pos)                 /*!< SCB SCR: SEVONPEND Mask */
+
+#define SCB_SCR_SLEEPDEEP_Pos               2                                             /*!< SCB SCR: SLEEPDEEP Position */
+#define SCB_SCR_SLEEPDEEP_Msk              (1UL << SCB_SCR_SLEEPDEEP_Pos)                 /*!< SCB SCR: SLEEPDEEP Mask */
+
+#define SCB_SCR_SLEEPONEXIT_Pos             1                                             /*!< SCB SCR: SLEEPONEXIT Position */
+#define SCB_SCR_SLEEPONEXIT_Msk            (1UL << SCB_SCR_SLEEPONEXIT_Pos)               /*!< SCB SCR: SLEEPONEXIT Mask */
+
+/* SCB Configuration Control Register Definitions */
+#define SCB_CCR_STKALIGN_Pos                9                                             /*!< SCB CCR: STKALIGN Position */
+#define SCB_CCR_STKALIGN_Msk               (1UL << SCB_CCR_STKALIGN_Pos)                  /*!< SCB CCR: STKALIGN Mask */
+
+#define SCB_CCR_BFHFNMIGN_Pos               8                                             /*!< SCB CCR: BFHFNMIGN Position */
+#define SCB_CCR_BFHFNMIGN_Msk              (1UL << SCB_CCR_BFHFNMIGN_Pos)                 /*!< SCB CCR: BFHFNMIGN Mask */
+
+#define SCB_CCR_DIV_0_TRP_Pos               4                                             /*!< SCB CCR: DIV_0_TRP Position */
+#define SCB_CCR_DIV_0_TRP_Msk              (1UL << SCB_CCR_DIV_0_TRP_Pos)                 /*!< SCB CCR: DIV_0_TRP Mask */
+
+#define SCB_CCR_UNALIGN_TRP_Pos             3                                             /*!< SCB CCR: UNALIGN_TRP Position */
+#define SCB_CCR_UNALIGN_TRP_Msk            (1UL << SCB_CCR_UNALIGN_TRP_Pos)               /*!< SCB CCR: UNALIGN_TRP Mask */
+
+#define SCB_CCR_USERSETMPEND_Pos            1                                             /*!< SCB CCR: USERSETMPEND Position */
+#define SCB_CCR_USERSETMPEND_Msk           (1UL << SCB_CCR_USERSETMPEND_Pos)              /*!< SCB CCR: USERSETMPEND Mask */
+
+#define SCB_CCR_NONBASETHRDENA_Pos          0                                             /*!< SCB CCR: NONBASETHRDENA Position */
+#define SCB_CCR_NONBASETHRDENA_Msk         (1UL << SCB_CCR_NONBASETHRDENA_Pos)            /*!< SCB CCR: NONBASETHRDENA Mask */
+
+/* SCB System Handler Control and State Register Definitions */
+#define SCB_SHCSR_USGFAULTENA_Pos          18                                             /*!< SCB SHCSR: USGFAULTENA Position */
+#define SCB_SHCSR_USGFAULTENA_Msk          (1UL << SCB_SHCSR_USGFAULTENA_Pos)             /*!< SCB SHCSR: USGFAULTENA Mask */
+
+#define SCB_SHCSR_BUSFAULTENA_Pos          17                                             /*!< SCB SHCSR: BUSFAULTENA Position */
+#define SCB_SHCSR_BUSFAULTENA_Msk          (1UL << SCB_SHCSR_BUSFAULTENA_Pos)             /*!< SCB SHCSR: BUSFAULTENA Mask */
+
+#define SCB_SHCSR_MEMFAULTENA_Pos          16                                             /*!< SCB SHCSR: MEMFAULTENA Position */
+#define SCB_SHCSR_MEMFAULTENA_Msk          (1UL << SCB_SHCSR_MEMFAULTENA_Pos)             /*!< SCB SHCSR: MEMFAULTENA Mask */
+
+#define SCB_SHCSR_SVCALLPENDED_Pos         15                                             /*!< SCB SHCSR: SVCALLPENDED Position */
+#define SCB_SHCSR_SVCALLPENDED_Msk         (1UL << SCB_SHCSR_SVCALLPENDED_Pos)            /*!< SCB SHCSR: SVCALLPENDED Mask */
+
+#define SCB_SHCSR_BUSFAULTPENDED_Pos       14                                             /*!< SCB SHCSR: BUSFAULTPENDED Position */
+#define SCB_SHCSR_BUSFAULTPENDED_Msk       (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos)          /*!< SCB SHCSR: BUSFAULTPENDED Mask */
+
+#define SCB_SHCSR_MEMFAULTPENDED_Pos       13                                             /*!< SCB SHCSR: MEMFAULTPENDED Position */
+#define SCB_SHCSR_MEMFAULTPENDED_Msk       (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos)          /*!< SCB SHCSR: MEMFAULTPENDED Mask */
+
+#define SCB_SHCSR_USGFAULTPENDED_Pos       12                                             /*!< SCB SHCSR: USGFAULTPENDED Position */
+#define SCB_SHCSR_USGFAULTPENDED_Msk       (1UL << SCB_SHCSR_USGFAULTPENDED_Pos)          /*!< SCB SHCSR: USGFAULTPENDED Mask */
+
+#define SCB_SHCSR_SYSTICKACT_Pos           11                                             /*!< SCB SHCSR: SYSTICKACT Position */
+#define SCB_SHCSR_SYSTICKACT_Msk           (1UL << SCB_SHCSR_SYSTICKACT_Pos)              /*!< SCB SHCSR: SYSTICKACT Mask */
+
+#define SCB_SHCSR_PENDSVACT_Pos            10                                             /*!< SCB SHCSR: PENDSVACT Position */
+#define SCB_SHCSR_PENDSVACT_Msk            (1UL << SCB_SHCSR_PENDSVACT_Pos)               /*!< SCB SHCSR: PENDSVACT Mask */
+
+#define SCB_SHCSR_MONITORACT_Pos            8                                             /*!< SCB SHCSR: MONITORACT Position */
+#define SCB_SHCSR_MONITORACT_Msk           (1UL << SCB_SHCSR_MONITORACT_Pos)              /*!< SCB SHCSR: MONITORACT Mask */
+
+#define SCB_SHCSR_SVCALLACT_Pos             7                                             /*!< SCB SHCSR: SVCALLACT Position */
+#define SCB_SHCSR_SVCALLACT_Msk            (1UL << SCB_SHCSR_SVCALLACT_Pos)               /*!< SCB SHCSR: SVCALLACT Mask */
+
+#define SCB_SHCSR_USGFAULTACT_Pos           3                                             /*!< SCB SHCSR: USGFAULTACT Position */
+#define SCB_SHCSR_USGFAULTACT_Msk          (1UL << SCB_SHCSR_USGFAULTACT_Pos)             /*!< SCB SHCSR: USGFAULTACT Mask */
+
+#define SCB_SHCSR_BUSFAULTACT_Pos           1                                             /*!< SCB SHCSR: BUSFAULTACT Position */
+#define SCB_SHCSR_BUSFAULTACT_Msk          (1UL << SCB_SHCSR_BUSFAULTACT_Pos)             /*!< SCB SHCSR: BUSFAULTACT Mask */
+
+#define SCB_SHCSR_MEMFAULTACT_Pos           0                                             /*!< SCB SHCSR: MEMFAULTACT Position */
+#define SCB_SHCSR_MEMFAULTACT_Msk          (1UL << SCB_SHCSR_MEMFAULTACT_Pos)             /*!< SCB SHCSR: MEMFAULTACT Mask */
+
+/* SCB Configurable Fault Status Registers Definitions */
+#define SCB_CFSR_USGFAULTSR_Pos            16                                             /*!< SCB CFSR: Usage Fault Status Register Position */
+#define SCB_CFSR_USGFAULTSR_Msk            (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos)          /*!< SCB CFSR: Usage Fault Status Register Mask */
+
+#define SCB_CFSR_BUSFAULTSR_Pos             8                                             /*!< SCB CFSR: Bus Fault Status Register Position */
+#define SCB_CFSR_BUSFAULTSR_Msk            (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos)            /*!< SCB CFSR: Bus Fault Status Register Mask */
+
+#define SCB_CFSR_MEMFAULTSR_Pos             0                                             /*!< SCB CFSR: Memory Manage Fault Status Register Position */
+#define SCB_CFSR_MEMFAULTSR_Msk            (0xFFUL << SCB_CFSR_MEMFAULTSR_Pos)            /*!< SCB CFSR: Memory Manage Fault Status Register Mask */
+
+/* SCB Hard Fault Status Registers Definitions */
+#define SCB_HFSR_DEBUGEVT_Pos              31                                             /*!< SCB HFSR: DEBUGEVT Position */
+#define SCB_HFSR_DEBUGEVT_Msk              (1UL << SCB_HFSR_DEBUGEVT_Pos)                 /*!< SCB HFSR: DEBUGEVT Mask */
+
+#define SCB_HFSR_FORCED_Pos                30                                             /*!< SCB HFSR: FORCED Position */
+#define SCB_HFSR_FORCED_Msk                (1UL << SCB_HFSR_FORCED_Pos)                   /*!< SCB HFSR: FORCED Mask */
+
+#define SCB_HFSR_VECTTBL_Pos                1                                             /*!< SCB HFSR: VECTTBL Position */
+#define SCB_HFSR_VECTTBL_Msk               (1UL << SCB_HFSR_VECTTBL_Pos)                  /*!< SCB HFSR: VECTTBL Mask */
+
+/* SCB Debug Fault Status Register Definitions */
+#define SCB_DFSR_EXTERNAL_Pos               4                                             /*!< SCB DFSR: EXTERNAL Position */
+#define SCB_DFSR_EXTERNAL_Msk              (1UL << SCB_DFSR_EXTERNAL_Pos)                 /*!< SCB DFSR: EXTERNAL Mask */
+
+#define SCB_DFSR_VCATCH_Pos                 3                                             /*!< SCB DFSR: VCATCH Position */
+#define SCB_DFSR_VCATCH_Msk                (1UL << SCB_DFSR_VCATCH_Pos)                   /*!< SCB DFSR: VCATCH Mask */
+
+#define SCB_DFSR_DWTTRAP_Pos                2                                             /*!< SCB DFSR: DWTTRAP Position */
+#define SCB_DFSR_DWTTRAP_Msk               (1UL << SCB_DFSR_DWTTRAP_Pos)                  /*!< SCB DFSR: DWTTRAP Mask */
+
+#define SCB_DFSR_BKPT_Pos                   1                                             /*!< SCB DFSR: BKPT Position */
+#define SCB_DFSR_BKPT_Msk                  (1UL << SCB_DFSR_BKPT_Pos)                     /*!< SCB DFSR: BKPT Mask */
+
+#define SCB_DFSR_HALTED_Pos                 0                                             /*!< SCB DFSR: HALTED Position */
+#define SCB_DFSR_HALTED_Msk                (1UL << SCB_DFSR_HALTED_Pos)                   /*!< SCB DFSR: HALTED Mask */
+
+/*@} end of group CMSIS_SCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB)
+    \brief      Type definitions for the System Control and ID Register not in the SCB
+  @{
+ */
+
+/** \brief  Structure type to access the System Control and ID Register not in the SCB.
+ */
+typedef struct
+{
+       uint32_t RESERVED0[1];
+  __I  uint32_t ICTR;                    /*!< Offset: 0x004 (R/ )  Interrupt Controller Type Register      */
+  __IO uint32_t ACTLR;                   /*!< Offset: 0x008 (R/W)  Auxiliary Control Register              */
+} SCnSCB_Type;
+
+/* Interrupt Controller Type Register Definitions */
+#define SCnSCB_ICTR_INTLINESNUM_Pos         0                                          /*!< ICTR: INTLINESNUM Position */
+#define SCnSCB_ICTR_INTLINESNUM_Msk        (0xFUL << SCnSCB_ICTR_INTLINESNUM_Pos)      /*!< ICTR: INTLINESNUM Mask */
+
+/* Auxiliary Control Register Definitions */
+#define SCnSCB_ACTLR_DISOOFP_Pos            9                                          /*!< ACTLR: DISOOFP Position */
+#define SCnSCB_ACTLR_DISOOFP_Msk           (1UL << SCnSCB_ACTLR_DISOOFP_Pos)           /*!< ACTLR: DISOOFP Mask */
+
+#define SCnSCB_ACTLR_DISFPCA_Pos            8                                          /*!< ACTLR: DISFPCA Position */
+#define SCnSCB_ACTLR_DISFPCA_Msk           (1UL << SCnSCB_ACTLR_DISFPCA_Pos)           /*!< ACTLR: DISFPCA Mask */
+
+#define SCnSCB_ACTLR_DISFOLD_Pos            2                                          /*!< ACTLR: DISFOLD Position */
+#define SCnSCB_ACTLR_DISFOLD_Msk           (1UL << SCnSCB_ACTLR_DISFOLD_Pos)           /*!< ACTLR: DISFOLD Mask */
+
+#define SCnSCB_ACTLR_DISDEFWBUF_Pos         1                                          /*!< ACTLR: DISDEFWBUF Position */
+#define SCnSCB_ACTLR_DISDEFWBUF_Msk        (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos)        /*!< ACTLR: DISDEFWBUF Mask */
+
+#define SCnSCB_ACTLR_DISMCYCINT_Pos         0                                          /*!< ACTLR: DISMCYCINT Position */
+#define SCnSCB_ACTLR_DISMCYCINT_Msk        (1UL << SCnSCB_ACTLR_DISMCYCINT_Pos)        /*!< ACTLR: DISMCYCINT Mask */
+
+/*@} end of group CMSIS_SCnotSCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SysTick     System Tick Timer (SysTick)
+    \brief      Type definitions for the System Timer Registers.
+  @{
+ */
+
+/** \brief  Structure type to access the System Timer (SysTick).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  SysTick Control and Status Register */
+  __IO uint32_t LOAD;                    /*!< Offset: 0x004 (R/W)  SysTick Reload Value Register       */
+  __IO uint32_t VAL;                     /*!< Offset: 0x008 (R/W)  SysTick Current Value Register      */
+  __I  uint32_t CALIB;                   /*!< Offset: 0x00C (R/ )  SysTick Calibration Register        */
+} SysTick_Type;
+
+/* SysTick Control / Status Register Definitions */
+#define SysTick_CTRL_COUNTFLAG_Pos         16                                             /*!< SysTick CTRL: COUNTFLAG Position */
+#define SysTick_CTRL_COUNTFLAG_Msk         (1UL << SysTick_CTRL_COUNTFLAG_Pos)            /*!< SysTick CTRL: COUNTFLAG Mask */
+
+#define SysTick_CTRL_CLKSOURCE_Pos          2                                             /*!< SysTick CTRL: CLKSOURCE Position */
+#define SysTick_CTRL_CLKSOURCE_Msk         (1UL << SysTick_CTRL_CLKSOURCE_Pos)            /*!< SysTick CTRL: CLKSOURCE Mask */
+
+#define SysTick_CTRL_TICKINT_Pos            1                                             /*!< SysTick CTRL: TICKINT Position */
+#define SysTick_CTRL_TICKINT_Msk           (1UL << SysTick_CTRL_TICKINT_Pos)              /*!< SysTick CTRL: TICKINT Mask */
+
+#define SysTick_CTRL_ENABLE_Pos             0                                             /*!< SysTick CTRL: ENABLE Position */
+#define SysTick_CTRL_ENABLE_Msk            (1UL << SysTick_CTRL_ENABLE_Pos)               /*!< SysTick CTRL: ENABLE Mask */
+
+/* SysTick Reload Register Definitions */
+#define SysTick_LOAD_RELOAD_Pos             0                                             /*!< SysTick LOAD: RELOAD Position */
+#define SysTick_LOAD_RELOAD_Msk            (0xFFFFFFUL << SysTick_LOAD_RELOAD_Pos)        /*!< SysTick LOAD: RELOAD Mask */
+
+/* SysTick Current Register Definitions */
+#define SysTick_VAL_CURRENT_Pos             0                                             /*!< SysTick VAL: CURRENT Position */
+#define SysTick_VAL_CURRENT_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick VAL: CURRENT Mask */
+
+/* SysTick Calibration Register Definitions */
+#define SysTick_CALIB_NOREF_Pos            31                                             /*!< SysTick CALIB: NOREF Position */
+#define SysTick_CALIB_NOREF_Msk            (1UL << SysTick_CALIB_NOREF_Pos)               /*!< SysTick CALIB: NOREF Mask */
+
+#define SysTick_CALIB_SKEW_Pos             30                                             /*!< SysTick CALIB: SKEW Position */
+#define SysTick_CALIB_SKEW_Msk             (1UL << SysTick_CALIB_SKEW_Pos)                /*!< SysTick CALIB: SKEW Mask */
+
+#define SysTick_CALIB_TENMS_Pos             0                                             /*!< SysTick CALIB: TENMS Position */
+#define SysTick_CALIB_TENMS_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick CALIB: TENMS Mask */
+
+/*@} end of group CMSIS_SysTick */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_ITM     Instrumentation Trace Macrocell (ITM)
+    \brief      Type definitions for the Instrumentation Trace Macrocell (ITM)
+  @{
+ */
+
+/** \brief  Structure type to access the Instrumentation Trace Macrocell Register (ITM).
+ */
+typedef struct
+{
+  __O  union
+  {
+    __O  uint8_t    u8;                  /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 8-bit                   */
+    __O  uint16_t   u16;                 /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 16-bit                  */
+    __O  uint32_t   u32;                 /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 32-bit                  */
+  }  PORT [32];                          /*!< Offset: 0x000 ( /W)  ITM Stimulus Port Registers               */
+       uint32_t RESERVED0[864];
+  __IO uint32_t TER;                     /*!< Offset: 0xE00 (R/W)  ITM Trace Enable Register                 */
+       uint32_t RESERVED1[15];
+  __IO uint32_t TPR;                     /*!< Offset: 0xE40 (R/W)  ITM Trace Privilege Register              */
+       uint32_t RESERVED2[15];
+  __IO uint32_t TCR;                     /*!< Offset: 0xE80 (R/W)  ITM Trace Control Register                */
+} ITM_Type;
+
+/* ITM Trace Privilege Register Definitions */
+#define ITM_TPR_PRIVMASK_Pos                0                                          /*!< ITM TPR: PRIVMASK Position */
+#define ITM_TPR_PRIVMASK_Msk               (0xFUL << ITM_TPR_PRIVMASK_Pos)             /*!< ITM TPR: PRIVMASK Mask */
+
+/* ITM Trace Control Register Definitions */
+#define ITM_TCR_BUSY_Pos                   23                                          /*!< ITM TCR: BUSY Position */
+#define ITM_TCR_BUSY_Msk                   (1UL << ITM_TCR_BUSY_Pos)                   /*!< ITM TCR: BUSY Mask */
+
+#define ITM_TCR_TraceBusID_Pos             16                                          /*!< ITM TCR: ATBID Position */
+#define ITM_TCR_TraceBusID_Msk             (0x7FUL << ITM_TCR_TraceBusID_Pos)          /*!< ITM TCR: ATBID Mask */
+
+#define ITM_TCR_GTSFREQ_Pos                10                                          /*!< ITM TCR: Global timestamp frequency Position */
+#define ITM_TCR_GTSFREQ_Msk                (3UL << ITM_TCR_GTSFREQ_Pos)                /*!< ITM TCR: Global timestamp frequency Mask */
+
+#define ITM_TCR_TSPrescale_Pos              8                                          /*!< ITM TCR: TSPrescale Position */
+#define ITM_TCR_TSPrescale_Msk             (3UL << ITM_TCR_TSPrescale_Pos)             /*!< ITM TCR: TSPrescale Mask */
+
+#define ITM_TCR_SWOENA_Pos                  4                                          /*!< ITM TCR: SWOENA Position */
+#define ITM_TCR_SWOENA_Msk                 (1UL << ITM_TCR_SWOENA_Pos)                 /*!< ITM TCR: SWOENA Mask */
+
+#define ITM_TCR_TXENA_Pos                   3                                          /*!< ITM TCR: TXENA Position */
+#define ITM_TCR_TXENA_Msk                  (1UL << ITM_TCR_TXENA_Pos)                  /*!< ITM TCR: TXENA Mask */
+
+#define ITM_TCR_SYNCENA_Pos                 2                                          /*!< ITM TCR: SYNCENA Position */
+#define ITM_TCR_SYNCENA_Msk                (1UL << ITM_TCR_SYNCENA_Pos)                /*!< ITM TCR: SYNCENA Mask */
+
+#define ITM_TCR_TSENA_Pos                   1                                          /*!< ITM TCR: TSENA Position */
+#define ITM_TCR_TSENA_Msk                  (1UL << ITM_TCR_TSENA_Pos)                  /*!< ITM TCR: TSENA Mask */
+
+#define ITM_TCR_ITMENA_Pos                  0                                          /*!< ITM TCR: ITM Enable bit Position */
+#define ITM_TCR_ITMENA_Msk                 (1UL << ITM_TCR_ITMENA_Pos)                 /*!< ITM TCR: ITM Enable bit Mask */
+
+/*@}*/ /* end of group CMSIS_ITM */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_DWT     Data Watchpoint and Trace (DWT)
+    \brief      Type definitions for the Data Watchpoint and Trace (DWT)
+  @{
+ */
+
+/** \brief  Structure type to access the Data Watchpoint and Trace Register (DWT).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  Control Register                          */
+  __IO uint32_t CYCCNT;                  /*!< Offset: 0x004 (R/W)  Cycle Count Register                      */
+  __IO uint32_t CPICNT;                  /*!< Offset: 0x008 (R/W)  CPI Count Register                        */
+  __IO uint32_t EXCCNT;                  /*!< Offset: 0x00C (R/W)  Exception Overhead Count Register         */
+  __IO uint32_t SLEEPCNT;                /*!< Offset: 0x010 (R/W)  Sleep Count Register                      */
+  __IO uint32_t LSUCNT;                  /*!< Offset: 0x014 (R/W)  LSU Count Register                        */
+  __IO uint32_t FOLDCNT;                 /*!< Offset: 0x018 (R/W)  Folded-instruction Count Register         */
+  __I  uint32_t PCSR;                    /*!< Offset: 0x01C (R/ )  Program Counter Sample Register           */
+  __IO uint32_t COMP0;                   /*!< Offset: 0x020 (R/W)  Comparator Register 0                     */
+  __IO uint32_t MASK0;                   /*!< Offset: 0x024 (R/W)  Mask Register 0                           */
+  __IO uint32_t FUNCTION0;               /*!< Offset: 0x028 (R/W)  Function Register 0                       */
+       uint32_t RESERVED0[1];
+  __IO uint32_t COMP1;                   /*!< Offset: 0x030 (R/W)  Comparator Register 1                     */
+  __IO uint32_t MASK1;                   /*!< Offset: 0x034 (R/W)  Mask Register 1                           */
+  __IO uint32_t FUNCTION1;               /*!< Offset: 0x038 (R/W)  Function Register 1                       */
+       uint32_t RESERVED1[1];
+  __IO uint32_t COMP2;                   /*!< Offset: 0x040 (R/W)  Comparator Register 2                     */
+  __IO uint32_t MASK2;                   /*!< Offset: 0x044 (R/W)  Mask Register 2                           */
+  __IO uint32_t FUNCTION2;               /*!< Offset: 0x048 (R/W)  Function Register 2                       */
+       uint32_t RESERVED2[1];
+  __IO uint32_t COMP3;                   /*!< Offset: 0x050 (R/W)  Comparator Register 3                     */
+  __IO uint32_t MASK3;                   /*!< Offset: 0x054 (R/W)  Mask Register 3                           */
+  __IO uint32_t FUNCTION3;               /*!< Offset: 0x058 (R/W)  Function Register 3                       */
+} DWT_Type;
+
+/* DWT Control Register Definitions */
+#define DWT_CTRL_NUMCOMP_Pos               28                                          /*!< DWT CTRL: NUMCOMP Position */
+#define DWT_CTRL_NUMCOMP_Msk               (0xFUL << DWT_CTRL_NUMCOMP_Pos)             /*!< DWT CTRL: NUMCOMP Mask */
+
+#define DWT_CTRL_NOTRCPKT_Pos              27                                          /*!< DWT CTRL: NOTRCPKT Position */
+#define DWT_CTRL_NOTRCPKT_Msk              (0x1UL << DWT_CTRL_NOTRCPKT_Pos)            /*!< DWT CTRL: NOTRCPKT Mask */
+
+#define DWT_CTRL_NOEXTTRIG_Pos             26                                          /*!< DWT CTRL: NOEXTTRIG Position */
+#define DWT_CTRL_NOEXTTRIG_Msk             (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)           /*!< DWT CTRL: NOEXTTRIG Mask */
+
+#define DWT_CTRL_NOCYCCNT_Pos              25                                          /*!< DWT CTRL: NOCYCCNT Position */
+#define DWT_CTRL_NOCYCCNT_Msk              (0x1UL << DWT_CTRL_NOCYCCNT_Pos)            /*!< DWT CTRL: NOCYCCNT Mask */
+
+#define DWT_CTRL_NOPRFCNT_Pos              24                                          /*!< DWT CTRL: NOPRFCNT Position */
+#define DWT_CTRL_NOPRFCNT_Msk              (0x1UL << DWT_CTRL_NOPRFCNT_Pos)            /*!< DWT CTRL: NOPRFCNT Mask */
+
+#define DWT_CTRL_CYCEVTENA_Pos             22                                          /*!< DWT CTRL: CYCEVTENA Position */
+#define DWT_CTRL_CYCEVTENA_Msk             (0x1UL << DWT_CTRL_CYCEVTENA_Pos)           /*!< DWT CTRL: CYCEVTENA Mask */
+
+#define DWT_CTRL_FOLDEVTENA_Pos            21                                          /*!< DWT CTRL: FOLDEVTENA Position */
+#define DWT_CTRL_FOLDEVTENA_Msk            (0x1UL << DWT_CTRL_FOLDEVTENA_Pos)          /*!< DWT CTRL: FOLDEVTENA Mask */
+
+#define DWT_CTRL_LSUEVTENA_Pos             20                                          /*!< DWT CTRL: LSUEVTENA Position */
+#define DWT_CTRL_LSUEVTENA_Msk             (0x1UL << DWT_CTRL_LSUEVTENA_Pos)           /*!< DWT CTRL: LSUEVTENA Mask */
+
+#define DWT_CTRL_SLEEPEVTENA_Pos           19                                          /*!< DWT CTRL: SLEEPEVTENA Position */
+#define DWT_CTRL_SLEEPEVTENA_Msk           (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos)         /*!< DWT CTRL: SLEEPEVTENA Mask */
+
+#define DWT_CTRL_EXCEVTENA_Pos             18                                          /*!< DWT CTRL: EXCEVTENA Position */
+#define DWT_CTRL_EXCEVTENA_Msk             (0x1UL << DWT_CTRL_EXCEVTENA_Pos)           /*!< DWT CTRL: EXCEVTENA Mask */
+
+#define DWT_CTRL_CPIEVTENA_Pos             17                                          /*!< DWT CTRL: CPIEVTENA Position */
+#define DWT_CTRL_CPIEVTENA_Msk             (0x1UL << DWT_CTRL_CPIEVTENA_Pos)           /*!< DWT CTRL: CPIEVTENA Mask */
+
+#define DWT_CTRL_EXCTRCENA_Pos             16                                          /*!< DWT CTRL: EXCTRCENA Position */
+#define DWT_CTRL_EXCTRCENA_Msk             (0x1UL << DWT_CTRL_EXCTRCENA_Pos)           /*!< DWT CTRL: EXCTRCENA Mask */
+
+#define DWT_CTRL_PCSAMPLENA_Pos            12                                          /*!< DWT CTRL: PCSAMPLENA Position */
+#define DWT_CTRL_PCSAMPLENA_Msk            (0x1UL << DWT_CTRL_PCSAMPLENA_Pos)          /*!< DWT CTRL: PCSAMPLENA Mask */
+
+#define DWT_CTRL_SYNCTAP_Pos               10                                          /*!< DWT CTRL: SYNCTAP Position */
+#define DWT_CTRL_SYNCTAP_Msk               (0x3UL << DWT_CTRL_SYNCTAP_Pos)             /*!< DWT CTRL: SYNCTAP Mask */
+
+#define DWT_CTRL_CYCTAP_Pos                 9                                          /*!< DWT CTRL: CYCTAP Position */
+#define DWT_CTRL_CYCTAP_Msk                (0x1UL << DWT_CTRL_CYCTAP_Pos)              /*!< DWT CTRL: CYCTAP Mask */
+
+#define DWT_CTRL_POSTINIT_Pos               5                                          /*!< DWT CTRL: POSTINIT Position */
+#define DWT_CTRL_POSTINIT_Msk              (0xFUL << DWT_CTRL_POSTINIT_Pos)            /*!< DWT CTRL: POSTINIT Mask */
+
+#define DWT_CTRL_POSTPRESET_Pos             1                                          /*!< DWT CTRL: POSTPRESET Position */
+#define DWT_CTRL_POSTPRESET_Msk            (0xFUL << DWT_CTRL_POSTPRESET_Pos)          /*!< DWT CTRL: POSTPRESET Mask */
+
+#define DWT_CTRL_CYCCNTENA_Pos              0                                          /*!< DWT CTRL: CYCCNTENA Position */
+#define DWT_CTRL_CYCCNTENA_Msk             (0x1UL << DWT_CTRL_CYCCNTENA_Pos)           /*!< DWT CTRL: CYCCNTENA Mask */
+
+/* DWT CPI Count Register Definitions */
+#define DWT_CPICNT_CPICNT_Pos               0                                          /*!< DWT CPICNT: CPICNT Position */
+#define DWT_CPICNT_CPICNT_Msk              (0xFFUL << DWT_CPICNT_CPICNT_Pos)           /*!< DWT CPICNT: CPICNT Mask */
+
+/* DWT Exception Overhead Count Register Definitions */
+#define DWT_EXCCNT_EXCCNT_Pos               0                                          /*!< DWT EXCCNT: EXCCNT Position */
+#define DWT_EXCCNT_EXCCNT_Msk              (0xFFUL << DWT_EXCCNT_EXCCNT_Pos)           /*!< DWT EXCCNT: EXCCNT Mask */
+
+/* DWT Sleep Count Register Definitions */
+#define DWT_SLEEPCNT_SLEEPCNT_Pos           0                                          /*!< DWT SLEEPCNT: SLEEPCNT Position */
+#define DWT_SLEEPCNT_SLEEPCNT_Msk          (0xFFUL << DWT_SLEEPCNT_SLEEPCNT_Pos)       /*!< DWT SLEEPCNT: SLEEPCNT Mask */
+
+/* DWT LSU Count Register Definitions */
+#define DWT_LSUCNT_LSUCNT_Pos               0                                          /*!< DWT LSUCNT: LSUCNT Position */
+#define DWT_LSUCNT_LSUCNT_Msk              (0xFFUL << DWT_LSUCNT_LSUCNT_Pos)           /*!< DWT LSUCNT: LSUCNT Mask */
+
+/* DWT Folded-instruction Count Register Definitions */
+#define DWT_FOLDCNT_FOLDCNT_Pos             0                                          /*!< DWT FOLDCNT: FOLDCNT Position */
+#define DWT_FOLDCNT_FOLDCNT_Msk            (0xFFUL << DWT_FOLDCNT_FOLDCNT_Pos)         /*!< DWT FOLDCNT: FOLDCNT Mask */
+
+/* DWT Comparator Mask Register Definitions */
+#define DWT_MASK_MASK_Pos                   0                                          /*!< DWT MASK: MASK Position */
+#define DWT_MASK_MASK_Msk                  (0x1FUL << DWT_MASK_MASK_Pos)               /*!< DWT MASK: MASK Mask */
+
+/* DWT Comparator Function Register Definitions */
+#define DWT_FUNCTION_MATCHED_Pos           24                                          /*!< DWT FUNCTION: MATCHED Position */
+#define DWT_FUNCTION_MATCHED_Msk           (0x1UL << DWT_FUNCTION_MATCHED_Pos)         /*!< DWT FUNCTION: MATCHED Mask */
+
+#define DWT_FUNCTION_DATAVADDR1_Pos        16                                          /*!< DWT FUNCTION: DATAVADDR1 Position */
+#define DWT_FUNCTION_DATAVADDR1_Msk        (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos)      /*!< DWT FUNCTION: DATAVADDR1 Mask */
+
+#define DWT_FUNCTION_DATAVADDR0_Pos        12                                          /*!< DWT FUNCTION: DATAVADDR0 Position */
+#define DWT_FUNCTION_DATAVADDR0_Msk        (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos)      /*!< DWT FUNCTION: DATAVADDR0 Mask */
+
+#define DWT_FUNCTION_DATAVSIZE_Pos         10                                          /*!< DWT FUNCTION: DATAVSIZE Position */
+#define DWT_FUNCTION_DATAVSIZE_Msk         (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)       /*!< DWT FUNCTION: DATAVSIZE Mask */
+
+#define DWT_FUNCTION_LNK1ENA_Pos            9                                          /*!< DWT FUNCTION: LNK1ENA Position */
+#define DWT_FUNCTION_LNK1ENA_Msk           (0x1UL << DWT_FUNCTION_LNK1ENA_Pos)         /*!< DWT FUNCTION: LNK1ENA Mask */
+
+#define DWT_FUNCTION_DATAVMATCH_Pos         8                                          /*!< DWT FUNCTION: DATAVMATCH Position */
+#define DWT_FUNCTION_DATAVMATCH_Msk        (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos)      /*!< DWT FUNCTION: DATAVMATCH Mask */
+
+#define DWT_FUNCTION_CYCMATCH_Pos           7                                          /*!< DWT FUNCTION: CYCMATCH Position */
+#define DWT_FUNCTION_CYCMATCH_Msk          (0x1UL << DWT_FUNCTION_CYCMATCH_Pos)        /*!< DWT FUNCTION: CYCMATCH Mask */
+
+#define DWT_FUNCTION_EMITRANGE_Pos          5                                          /*!< DWT FUNCTION: EMITRANGE Position */
+#define DWT_FUNCTION_EMITRANGE_Msk         (0x1UL << DWT_FUNCTION_EMITRANGE_Pos)       /*!< DWT FUNCTION: EMITRANGE Mask */
+
+#define DWT_FUNCTION_FUNCTION_Pos           0                                          /*!< DWT FUNCTION: FUNCTION Position */
+#define DWT_FUNCTION_FUNCTION_Msk          (0xFUL << DWT_FUNCTION_FUNCTION_Pos)        /*!< DWT FUNCTION: FUNCTION Mask */
+
+/*@}*/ /* end of group CMSIS_DWT */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_TPI     Trace Port Interface (TPI)
+    \brief      Type definitions for the Trace Port Interface (TPI)
+  @{
+ */
+
+/** \brief  Structure type to access the Trace Port Interface Register (TPI).
+ */
+typedef struct
+{
+  __IO uint32_t SSPSR;                   /*!< Offset: 0x000 (R/ )  Supported Parallel Port Size Register     */
+  __IO uint32_t CSPSR;                   /*!< Offset: 0x004 (R/W)  Current Parallel Port Size Register */
+       uint32_t RESERVED0[2];
+  __IO uint32_t ACPR;                    /*!< Offset: 0x010 (R/W)  Asynchronous Clock Prescaler Register */
+       uint32_t RESERVED1[55];
+  __IO uint32_t SPPR;                    /*!< Offset: 0x0F0 (R/W)  Selected Pin Protocol Register */
+       uint32_t RESERVED2[131];
+  __I  uint32_t FFSR;                    /*!< Offset: 0x300 (R/ )  Formatter and Flush Status Register */
+  __IO uint32_t FFCR;                    /*!< Offset: 0x304 (R/W)  Formatter and Flush Control Register */
+  __I  uint32_t FSCR;                    /*!< Offset: 0x308 (R/ )  Formatter Synchronization Counter Register */
+       uint32_t RESERVED3[759];
+  __I  uint32_t TRIGGER;                 /*!< Offset: 0xEE8 (R/ )  TRIGGER */
+  __I  uint32_t FIFO0;                   /*!< Offset: 0xEEC (R/ )  Integration ETM Data */
+  __I  uint32_t ITATBCTR2;               /*!< Offset: 0xEF0 (R/ )  ITATBCTR2 */
+       uint32_t RESERVED4[1];
+  __I  uint32_t ITATBCTR0;               /*!< Offset: 0xEF8 (R/ )  ITATBCTR0 */
+  __I  uint32_t FIFO1;                   /*!< Offset: 0xEFC (R/ )  Integration ITM Data */
+  __IO uint32_t ITCTRL;                  /*!< Offset: 0xF00 (R/W)  Integration Mode Control */
+       uint32_t RESERVED5[39];
+  __IO uint32_t CLAIMSET;                /*!< Offset: 0xFA0 (R/W)  Claim tag set */
+  __IO uint32_t CLAIMCLR;                /*!< Offset: 0xFA4 (R/W)  Claim tag clear */
+       uint32_t RESERVED7[8];
+  __I  uint32_t DEVID;                   /*!< Offset: 0xFC8 (R/ )  TPIU_DEVID */
+  __I  uint32_t DEVTYPE;                 /*!< Offset: 0xFCC (R/ )  TPIU_DEVTYPE */
+} TPI_Type;
+
+/* TPI Asynchronous Clock Prescaler Register Definitions */
+#define TPI_ACPR_PRESCALER_Pos              0                                          /*!< TPI ACPR: PRESCALER Position */
+#define TPI_ACPR_PRESCALER_Msk             (0x1FFFUL << TPI_ACPR_PRESCALER_Pos)        /*!< TPI ACPR: PRESCALER Mask */
+
+/* TPI Selected Pin Protocol Register Definitions */
+#define TPI_SPPR_TXMODE_Pos                 0                                          /*!< TPI SPPR: TXMODE Position */
+#define TPI_SPPR_TXMODE_Msk                (0x3UL << TPI_SPPR_TXMODE_Pos)              /*!< TPI SPPR: TXMODE Mask */
+
+/* TPI Formatter and Flush Status Register Definitions */
+#define TPI_FFSR_FtNonStop_Pos              3                                          /*!< TPI FFSR: FtNonStop Position */
+#define TPI_FFSR_FtNonStop_Msk             (0x1UL << TPI_FFSR_FtNonStop_Pos)           /*!< TPI FFSR: FtNonStop Mask */
+
+#define TPI_FFSR_TCPresent_Pos              2                                          /*!< TPI FFSR: TCPresent Position */
+#define TPI_FFSR_TCPresent_Msk             (0x1UL << TPI_FFSR_TCPresent_Pos)           /*!< TPI FFSR: TCPresent Mask */
+
+#define TPI_FFSR_FtStopped_Pos              1                                          /*!< TPI FFSR: FtStopped Position */
+#define TPI_FFSR_FtStopped_Msk             (0x1UL << TPI_FFSR_FtStopped_Pos)           /*!< TPI FFSR: FtStopped Mask */
+
+#define TPI_FFSR_FlInProg_Pos               0                                          /*!< TPI FFSR: FlInProg Position */
+#define TPI_FFSR_FlInProg_Msk              (0x1UL << TPI_FFSR_FlInProg_Pos)            /*!< TPI FFSR: FlInProg Mask */
+
+/* TPI Formatter and Flush Control Register Definitions */
+#define TPI_FFCR_TrigIn_Pos                 8                                          /*!< TPI FFCR: TrigIn Position */
+#define TPI_FFCR_TrigIn_Msk                (0x1UL << TPI_FFCR_TrigIn_Pos)              /*!< TPI FFCR: TrigIn Mask */
+
+#define TPI_FFCR_EnFCont_Pos                1                                          /*!< TPI FFCR: EnFCont Position */
+#define TPI_FFCR_EnFCont_Msk               (0x1UL << TPI_FFCR_EnFCont_Pos)             /*!< TPI FFCR: EnFCont Mask */
+
+/* TPI TRIGGER Register Definitions */
+#define TPI_TRIGGER_TRIGGER_Pos             0                                          /*!< TPI TRIGGER: TRIGGER Position */
+#define TPI_TRIGGER_TRIGGER_Msk            (0x1UL << TPI_TRIGGER_TRIGGER_Pos)          /*!< TPI TRIGGER: TRIGGER Mask */
+
+/* TPI Integration ETM Data Register Definitions (FIFO0) */
+#define TPI_FIFO0_ITM_ATVALID_Pos          29                                          /*!< TPI FIFO0: ITM_ATVALID Position */
+#define TPI_FIFO0_ITM_ATVALID_Msk          (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos)        /*!< TPI FIFO0: ITM_ATVALID Mask */
+
+#define TPI_FIFO0_ITM_bytecount_Pos        27                                          /*!< TPI FIFO0: ITM_bytecount Position */
+#define TPI_FIFO0_ITM_bytecount_Msk        (0x3UL << TPI_FIFO0_ITM_bytecount_Pos)      /*!< TPI FIFO0: ITM_bytecount Mask */
+
+#define TPI_FIFO0_ETM_ATVALID_Pos          26                                          /*!< TPI FIFO0: ETM_ATVALID Position */
+#define TPI_FIFO0_ETM_ATVALID_Msk          (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos)        /*!< TPI FIFO0: ETM_ATVALID Mask */
+
+#define TPI_FIFO0_ETM_bytecount_Pos        24                                          /*!< TPI FIFO0: ETM_bytecount Position */
+#define TPI_FIFO0_ETM_bytecount_Msk        (0x3UL << TPI_FIFO0_ETM_bytecount_Pos)      /*!< TPI FIFO0: ETM_bytecount Mask */
+
+#define TPI_FIFO0_ETM2_Pos                 16                                          /*!< TPI FIFO0: ETM2 Position */
+#define TPI_FIFO0_ETM2_Msk                 (0xFFUL << TPI_FIFO0_ETM2_Pos)              /*!< TPI FIFO0: ETM2 Mask */
+
+#define TPI_FIFO0_ETM1_Pos                  8                                          /*!< TPI FIFO0: ETM1 Position */
+#define TPI_FIFO0_ETM1_Msk                 (0xFFUL << TPI_FIFO0_ETM1_Pos)              /*!< TPI FIFO0: ETM1 Mask */
+
+#define TPI_FIFO0_ETM0_Pos                  0                                          /*!< TPI FIFO0: ETM0 Position */
+#define TPI_FIFO0_ETM0_Msk                 (0xFFUL << TPI_FIFO0_ETM0_Pos)              /*!< TPI FIFO0: ETM0 Mask */
+
+/* TPI ITATBCTR2 Register Definitions */
+#define TPI_ITATBCTR2_ATREADY_Pos           0                                          /*!< TPI ITATBCTR2: ATREADY Position */
+#define TPI_ITATBCTR2_ATREADY_Msk          (0x1UL << TPI_ITATBCTR2_ATREADY_Pos)        /*!< TPI ITATBCTR2: ATREADY Mask */
+
+/* TPI Integration ITM Data Register Definitions (FIFO1) */
+#define TPI_FIFO1_ITM_ATVALID_Pos          29                                          /*!< TPI FIFO1: ITM_ATVALID Position */
+#define TPI_FIFO1_ITM_ATVALID_Msk          (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos)        /*!< TPI FIFO1: ITM_ATVALID Mask */
+
+#define TPI_FIFO1_ITM_bytecount_Pos        27                                          /*!< TPI FIFO1: ITM_bytecount Position */
+#define TPI_FIFO1_ITM_bytecount_Msk        (0x3UL << TPI_FIFO1_ITM_bytecount_Pos)      /*!< TPI FIFO1: ITM_bytecount Mask */
+
+#define TPI_FIFO1_ETM_ATVALID_Pos          26                                          /*!< TPI FIFO1: ETM_ATVALID Position */
+#define TPI_FIFO1_ETM_ATVALID_Msk          (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos)        /*!< TPI FIFO1: ETM_ATVALID Mask */
+
+#define TPI_FIFO1_ETM_bytecount_Pos        24                                          /*!< TPI FIFO1: ETM_bytecount Position */
+#define TPI_FIFO1_ETM_bytecount_Msk        (0x3UL << TPI_FIFO1_ETM_bytecount_Pos)      /*!< TPI FIFO1: ETM_bytecount Mask */
+
+#define TPI_FIFO1_ITM2_Pos                 16                                          /*!< TPI FIFO1: ITM2 Position */
+#define TPI_FIFO1_ITM2_Msk                 (0xFFUL << TPI_FIFO1_ITM2_Pos)              /*!< TPI FIFO1: ITM2 Mask */
+
+#define TPI_FIFO1_ITM1_Pos                  8                                          /*!< TPI FIFO1: ITM1 Position */
+#define TPI_FIFO1_ITM1_Msk                 (0xFFUL << TPI_FIFO1_ITM1_Pos)              /*!< TPI FIFO1: ITM1 Mask */
+
+#define TPI_FIFO1_ITM0_Pos                  0                                          /*!< TPI FIFO1: ITM0 Position */
+#define TPI_FIFO1_ITM0_Msk                 (0xFFUL << TPI_FIFO1_ITM0_Pos)              /*!< TPI FIFO1: ITM0 Mask */
+
+/* TPI ITATBCTR0 Register Definitions */
+#define TPI_ITATBCTR0_ATREADY_Pos           0                                          /*!< TPI ITATBCTR0: ATREADY Position */
+#define TPI_ITATBCTR0_ATREADY_Msk          (0x1UL << TPI_ITATBCTR0_ATREADY_Pos)        /*!< TPI ITATBCTR0: ATREADY Mask */
+
+/* TPI Integration Mode Control Register Definitions */
+#define TPI_ITCTRL_Mode_Pos                 0                                          /*!< TPI ITCTRL: Mode Position */
+#define TPI_ITCTRL_Mode_Msk                (0x1UL << TPI_ITCTRL_Mode_Pos)              /*!< TPI ITCTRL: Mode Mask */
+
+/* TPI DEVID Register Definitions */
+#define TPI_DEVID_NRZVALID_Pos             11                                          /*!< TPI DEVID: NRZVALID Position */
+#define TPI_DEVID_NRZVALID_Msk             (0x1UL << TPI_DEVID_NRZVALID_Pos)           /*!< TPI DEVID: NRZVALID Mask */
+
+#define TPI_DEVID_MANCVALID_Pos            10                                          /*!< TPI DEVID: MANCVALID Position */
+#define TPI_DEVID_MANCVALID_Msk            (0x1UL << TPI_DEVID_MANCVALID_Pos)          /*!< TPI DEVID: MANCVALID Mask */
+
+#define TPI_DEVID_PTINVALID_Pos             9                                          /*!< TPI DEVID: PTINVALID Position */
+#define TPI_DEVID_PTINVALID_Msk            (0x1UL << TPI_DEVID_PTINVALID_Pos)          /*!< TPI DEVID: PTINVALID Mask */
+
+#define TPI_DEVID_MinBufSz_Pos              6                                          /*!< TPI DEVID: MinBufSz Position */
+#define TPI_DEVID_MinBufSz_Msk             (0x7UL << TPI_DEVID_MinBufSz_Pos)           /*!< TPI DEVID: MinBufSz Mask */
+
+#define TPI_DEVID_AsynClkIn_Pos             5                                          /*!< TPI DEVID: AsynClkIn Position */
+#define TPI_DEVID_AsynClkIn_Msk            (0x1UL << TPI_DEVID_AsynClkIn_Pos)          /*!< TPI DEVID: AsynClkIn Mask */
+
+#define TPI_DEVID_NrTraceInput_Pos          0                                          /*!< TPI DEVID: NrTraceInput Position */
+#define TPI_DEVID_NrTraceInput_Msk         (0x1FUL << TPI_DEVID_NrTraceInput_Pos)      /*!< TPI DEVID: NrTraceInput Mask */
+
+/* TPI DEVTYPE Register Definitions */
+#define TPI_DEVTYPE_SubType_Pos             0                                          /*!< TPI DEVTYPE: SubType Position */
+#define TPI_DEVTYPE_SubType_Msk            (0xFUL << TPI_DEVTYPE_SubType_Pos)          /*!< TPI DEVTYPE: SubType Mask */
+
+#define TPI_DEVTYPE_MajorType_Pos           4                                          /*!< TPI DEVTYPE: MajorType Position */
+#define TPI_DEVTYPE_MajorType_Msk          (0xFUL << TPI_DEVTYPE_MajorType_Pos)        /*!< TPI DEVTYPE: MajorType Mask */
+
+/*@}*/ /* end of group CMSIS_TPI */
+
+
+#if (__MPU_PRESENT == 1)
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_MPU     Memory Protection Unit (MPU)
+    \brief      Type definitions for the Memory Protection Unit (MPU)
+  @{
+ */
+
+/** \brief  Structure type to access the Memory Protection Unit (MPU).
+ */
+typedef struct
+{
+  __I  uint32_t TYPE;                    /*!< Offset: 0x000 (R/ )  MPU Type Register                              */
+  __IO uint32_t CTRL;                    /*!< Offset: 0x004 (R/W)  MPU Control Register                           */
+  __IO uint32_t RNR;                     /*!< Offset: 0x008 (R/W)  MPU Region RNRber Register                     */
+  __IO uint32_t RBAR;                    /*!< Offset: 0x00C (R/W)  MPU Region Base Address Register               */
+  __IO uint32_t RASR;                    /*!< Offset: 0x010 (R/W)  MPU Region Attribute and Size Register         */
+  __IO uint32_t RBAR_A1;                 /*!< Offset: 0x014 (R/W)  MPU Alias 1 Region Base Address Register       */
+  __IO uint32_t RASR_A1;                 /*!< Offset: 0x018 (R/W)  MPU Alias 1 Region Attribute and Size Register */
+  __IO uint32_t RBAR_A2;                 /*!< Offset: 0x01C (R/W)  MPU Alias 2 Region Base Address Register       */
+  __IO uint32_t RASR_A2;                 /*!< Offset: 0x020 (R/W)  MPU Alias 2 Region Attribute and Size Register */
+  __IO uint32_t RBAR_A3;                 /*!< Offset: 0x024 (R/W)  MPU Alias 3 Region Base Address Register       */
+  __IO uint32_t RASR_A3;                 /*!< Offset: 0x028 (R/W)  MPU Alias 3 Region Attribute and Size Register */
+} MPU_Type;
+
+/* MPU Type Register */
+#define MPU_TYPE_IREGION_Pos               16                                             /*!< MPU TYPE: IREGION Position */
+#define MPU_TYPE_IREGION_Msk               (0xFFUL << MPU_TYPE_IREGION_Pos)               /*!< MPU TYPE: IREGION Mask */
+
+#define MPU_TYPE_DREGION_Pos                8                                             /*!< MPU TYPE: DREGION Position */
+#define MPU_TYPE_DREGION_Msk               (0xFFUL << MPU_TYPE_DREGION_Pos)               /*!< MPU TYPE: DREGION Mask */
+
+#define MPU_TYPE_SEPARATE_Pos               0                                             /*!< MPU TYPE: SEPARATE Position */
+#define MPU_TYPE_SEPARATE_Msk              (1UL << MPU_TYPE_SEPARATE_Pos)                 /*!< MPU TYPE: SEPARATE Mask */
+
+/* MPU Control Register */
+#define MPU_CTRL_PRIVDEFENA_Pos             2                                             /*!< MPU CTRL: PRIVDEFENA Position */
+#define MPU_CTRL_PRIVDEFENA_Msk            (1UL << MPU_CTRL_PRIVDEFENA_Pos)               /*!< MPU CTRL: PRIVDEFENA Mask */
+
+#define MPU_CTRL_HFNMIENA_Pos               1                                             /*!< MPU CTRL: HFNMIENA Position */
+#define MPU_CTRL_HFNMIENA_Msk              (1UL << MPU_CTRL_HFNMIENA_Pos)                 /*!< MPU CTRL: HFNMIENA Mask */
+
+#define MPU_CTRL_ENABLE_Pos                 0                                             /*!< MPU CTRL: ENABLE Position */
+#define MPU_CTRL_ENABLE_Msk                (1UL << MPU_CTRL_ENABLE_Pos)                   /*!< MPU CTRL: ENABLE Mask */
+
+/* MPU Region Number Register */
+#define MPU_RNR_REGION_Pos                  0                                             /*!< MPU RNR: REGION Position */
+#define MPU_RNR_REGION_Msk                 (0xFFUL << MPU_RNR_REGION_Pos)                 /*!< MPU RNR: REGION Mask */
+
+/* MPU Region Base Address Register */
+#define MPU_RBAR_ADDR_Pos                   5                                             /*!< MPU RBAR: ADDR Position */
+#define MPU_RBAR_ADDR_Msk                  (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos)             /*!< MPU RBAR: ADDR Mask */
+
+#define MPU_RBAR_VALID_Pos                  4                                             /*!< MPU RBAR: VALID Position */
+#define MPU_RBAR_VALID_Msk                 (1UL << MPU_RBAR_VALID_Pos)                    /*!< MPU RBAR: VALID Mask */
+
+#define MPU_RBAR_REGION_Pos                 0                                             /*!< MPU RBAR: REGION Position */
+#define MPU_RBAR_REGION_Msk                (0xFUL << MPU_RBAR_REGION_Pos)                 /*!< MPU RBAR: REGION Mask */
+
+/* MPU Region Attribute and Size Register */
+#define MPU_RASR_ATTRS_Pos                 16                                             /*!< MPU RASR: MPU Region Attribute field Position */
+#define MPU_RASR_ATTRS_Msk                 (0xFFFFUL << MPU_RASR_ATTRS_Pos)               /*!< MPU RASR: MPU Region Attribute field Mask */
+
+#define MPU_RASR_SRD_Pos                    8                                             /*!< MPU RASR: Sub-Region Disable Position */
+#define MPU_RASR_SRD_Msk                   (0xFFUL << MPU_RASR_SRD_Pos)                   /*!< MPU RASR: Sub-Region Disable Mask */
+
+#define MPU_RASR_SIZE_Pos                   1                                             /*!< MPU RASR: Region Size Field Position */
+#define MPU_RASR_SIZE_Msk                  (0x1FUL << MPU_RASR_SIZE_Pos)                  /*!< MPU RASR: Region Size Field Mask */
+
+#define MPU_RASR_ENABLE_Pos                 0                                             /*!< MPU RASR: Region enable bit Position */
+#define MPU_RASR_ENABLE_Msk                (1UL << MPU_RASR_ENABLE_Pos)                   /*!< MPU RASR: Region enable bit Disable Mask */
+
+/*@} end of group CMSIS_MPU */
+#endif
+
+
+#if (__FPU_PRESENT == 1)
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_FPU     Floating Point Unit (FPU)
+    \brief      Type definitions for the Floating Point Unit (FPU)
+  @{
+ */
+
+/** \brief  Structure type to access the Floating Point Unit (FPU).
+ */
+typedef struct
+{
+       uint32_t RESERVED0[1];
+  __IO uint32_t FPCCR;                   /*!< Offset: 0x004 (R/W)  Floating-Point Context Control Register               */
+  __IO uint32_t FPCAR;                   /*!< Offset: 0x008 (R/W)  Floating-Point Context Address Register               */
+  __IO uint32_t FPDSCR;                  /*!< Offset: 0x00C (R/W)  Floating-Point Default Status Control Register        */
+  __I  uint32_t MVFR0;                   /*!< Offset: 0x010 (R/ )  Media and FP Feature Register 0                       */
+  __I  uint32_t MVFR1;                   /*!< Offset: 0x014 (R/ )  Media and FP Feature Register 1                       */
+} FPU_Type;
+
+/* Floating-Point Context Control Register */
+#define FPU_FPCCR_ASPEN_Pos                31                                             /*!< FPCCR: ASPEN bit Position */
+#define FPU_FPCCR_ASPEN_Msk                (1UL << FPU_FPCCR_ASPEN_Pos)                   /*!< FPCCR: ASPEN bit Mask */
+
+#define FPU_FPCCR_LSPEN_Pos                30                                             /*!< FPCCR: LSPEN Position */
+#define FPU_FPCCR_LSPEN_Msk                (1UL << FPU_FPCCR_LSPEN_Pos)                   /*!< FPCCR: LSPEN bit Mask */
+
+#define FPU_FPCCR_MONRDY_Pos                8                                             /*!< FPCCR: MONRDY Position */
+#define FPU_FPCCR_MONRDY_Msk               (1UL << FPU_FPCCR_MONRDY_Pos)                  /*!< FPCCR: MONRDY bit Mask */
+
+#define FPU_FPCCR_BFRDY_Pos                 6                                             /*!< FPCCR: BFRDY Position */
+#define FPU_FPCCR_BFRDY_Msk                (1UL << FPU_FPCCR_BFRDY_Pos)                   /*!< FPCCR: BFRDY bit Mask */
+
+#define FPU_FPCCR_MMRDY_Pos                 5                                             /*!< FPCCR: MMRDY Position */
+#define FPU_FPCCR_MMRDY_Msk                (1UL << FPU_FPCCR_MMRDY_Pos)                   /*!< FPCCR: MMRDY bit Mask */
+
+#define FPU_FPCCR_HFRDY_Pos                 4                                             /*!< FPCCR: HFRDY Position */
+#define FPU_FPCCR_HFRDY_Msk                (1UL << FPU_FPCCR_HFRDY_Pos)                   /*!< FPCCR: HFRDY bit Mask */
+
+#define FPU_FPCCR_THREAD_Pos                3                                             /*!< FPCCR: processor mode bit Position */
+#define FPU_FPCCR_THREAD_Msk               (1UL << FPU_FPCCR_THREAD_Pos)                  /*!< FPCCR: processor mode active bit Mask */
+
+#define FPU_FPCCR_USER_Pos                  1                                             /*!< FPCCR: privilege level bit Position */
+#define FPU_FPCCR_USER_Msk                 (1UL << FPU_FPCCR_USER_Pos)                    /*!< FPCCR: privilege level bit Mask */
+
+#define FPU_FPCCR_LSPACT_Pos                0                                             /*!< FPCCR: Lazy state preservation active bit Position */
+#define FPU_FPCCR_LSPACT_Msk               (1UL << FPU_FPCCR_LSPACT_Pos)                  /*!< FPCCR: Lazy state preservation active bit Mask */
+
+/* Floating-Point Context Address Register */
+#define FPU_FPCAR_ADDRESS_Pos               3                                             /*!< FPCAR: ADDRESS bit Position */
+#define FPU_FPCAR_ADDRESS_Msk              (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos)        /*!< FPCAR: ADDRESS bit Mask */
+
+/* Floating-Point Default Status Control Register */
+#define FPU_FPDSCR_AHP_Pos                 26                                             /*!< FPDSCR: AHP bit Position */
+#define FPU_FPDSCR_AHP_Msk                 (1UL << FPU_FPDSCR_AHP_Pos)                    /*!< FPDSCR: AHP bit Mask */
+
+#define FPU_FPDSCR_DN_Pos                  25                                             /*!< FPDSCR: DN bit Position */
+#define FPU_FPDSCR_DN_Msk                  (1UL << FPU_FPDSCR_DN_Pos)                     /*!< FPDSCR: DN bit Mask */
+
+#define FPU_FPDSCR_FZ_Pos                  24                                             /*!< FPDSCR: FZ bit Position */
+#define FPU_FPDSCR_FZ_Msk                  (1UL << FPU_FPDSCR_FZ_Pos)                     /*!< FPDSCR: FZ bit Mask */
+
+#define FPU_FPDSCR_RMode_Pos               22                                             /*!< FPDSCR: RMode bit Position */
+#define FPU_FPDSCR_RMode_Msk               (3UL << FPU_FPDSCR_RMode_Pos)                  /*!< FPDSCR: RMode bit Mask */
+
+/* Media and FP Feature Register 0 */
+#define FPU_MVFR0_FP_rounding_modes_Pos    28                                             /*!< MVFR0: FP rounding modes bits Position */
+#define FPU_MVFR0_FP_rounding_modes_Msk    (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos)     /*!< MVFR0: FP rounding modes bits Mask */
+
+#define FPU_MVFR0_Short_vectors_Pos        24                                             /*!< MVFR0: Short vectors bits Position */
+#define FPU_MVFR0_Short_vectors_Msk        (0xFUL << FPU_MVFR0_Short_vectors_Pos)         /*!< MVFR0: Short vectors bits Mask */
+
+#define FPU_MVFR0_Square_root_Pos          20                                             /*!< MVFR0: Square root bits Position */
+#define FPU_MVFR0_Square_root_Msk          (0xFUL << FPU_MVFR0_Square_root_Pos)           /*!< MVFR0: Square root bits Mask */
+
+#define FPU_MVFR0_Divide_Pos               16                                             /*!< MVFR0: Divide bits Position */
+#define FPU_MVFR0_Divide_Msk               (0xFUL << FPU_MVFR0_Divide_Pos)                /*!< MVFR0: Divide bits Mask */
+
+#define FPU_MVFR0_FP_excep_trapping_Pos    12                                             /*!< MVFR0: FP exception trapping bits Position */
+#define FPU_MVFR0_FP_excep_trapping_Msk    (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos)     /*!< MVFR0: FP exception trapping bits Mask */
+
+#define FPU_MVFR0_Double_precision_Pos      8                                             /*!< MVFR0: Double-precision bits Position */
+#define FPU_MVFR0_Double_precision_Msk     (0xFUL << FPU_MVFR0_Double_precision_Pos)      /*!< MVFR0: Double-precision bits Mask */
+
+#define FPU_MVFR0_Single_precision_Pos      4                                             /*!< MVFR0: Single-precision bits Position */
+#define FPU_MVFR0_Single_precision_Msk     (0xFUL << FPU_MVFR0_Single_precision_Pos)      /*!< MVFR0: Single-precision bits Mask */
+
+#define FPU_MVFR0_A_SIMD_registers_Pos      0                                             /*!< MVFR0: A_SIMD registers bits Position */
+#define FPU_MVFR0_A_SIMD_registers_Msk     (0xFUL << FPU_MVFR0_A_SIMD_registers_Pos)      /*!< MVFR0: A_SIMD registers bits Mask */
+
+/* Media and FP Feature Register 1 */
+#define FPU_MVFR1_FP_fused_MAC_Pos         28                                             /*!< MVFR1: FP fused MAC bits Position */
+#define FPU_MVFR1_FP_fused_MAC_Msk         (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos)          /*!< MVFR1: FP fused MAC bits Mask */
+
+#define FPU_MVFR1_FP_HPFP_Pos              24                                             /*!< MVFR1: FP HPFP bits Position */
+#define FPU_MVFR1_FP_HPFP_Msk              (0xFUL << FPU_MVFR1_FP_HPFP_Pos)               /*!< MVFR1: FP HPFP bits Mask */
+
+#define FPU_MVFR1_D_NaN_mode_Pos            4                                             /*!< MVFR1: D_NaN mode bits Position */
+#define FPU_MVFR1_D_NaN_mode_Msk           (0xFUL << FPU_MVFR1_D_NaN_mode_Pos)            /*!< MVFR1: D_NaN mode bits Mask */
+
+#define FPU_MVFR1_FtZ_mode_Pos              0                                             /*!< MVFR1: FtZ mode bits Position */
+#define FPU_MVFR1_FtZ_mode_Msk             (0xFUL << FPU_MVFR1_FtZ_mode_Pos)              /*!< MVFR1: FtZ mode bits Mask */
+
+/*@} end of group CMSIS_FPU */
+#endif
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_CoreDebug       Core Debug Registers (CoreDebug)
+    \brief      Type definitions for the Core Debug Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Core Debug Register (CoreDebug).
+ */
+typedef struct
+{
+  __IO uint32_t DHCSR;                   /*!< Offset: 0x000 (R/W)  Debug Halting Control and Status Register    */
+  __O  uint32_t DCRSR;                   /*!< Offset: 0x004 ( /W)  Debug Core Register Selector Register        */
+  __IO uint32_t DCRDR;                   /*!< Offset: 0x008 (R/W)  Debug Core Register Data Register            */
+  __IO uint32_t DEMCR;                   /*!< Offset: 0x00C (R/W)  Debug Exception and Monitor Control Register */
+} CoreDebug_Type;
+
+/* Debug Halting Control and Status Register */
+#define CoreDebug_DHCSR_DBGKEY_Pos         16                                             /*!< CoreDebug DHCSR: DBGKEY Position */
+#define CoreDebug_DHCSR_DBGKEY_Msk         (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos)       /*!< CoreDebug DHCSR: DBGKEY Mask */
+
+#define CoreDebug_DHCSR_S_RESET_ST_Pos     25                                             /*!< CoreDebug DHCSR: S_RESET_ST Position */
+#define CoreDebug_DHCSR_S_RESET_ST_Msk     (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos)        /*!< CoreDebug DHCSR: S_RESET_ST Mask */
+
+#define CoreDebug_DHCSR_S_RETIRE_ST_Pos    24                                             /*!< CoreDebug DHCSR: S_RETIRE_ST Position */
+#define CoreDebug_DHCSR_S_RETIRE_ST_Msk    (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos)       /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */
+
+#define CoreDebug_DHCSR_S_LOCKUP_Pos       19                                             /*!< CoreDebug DHCSR: S_LOCKUP Position */
+#define CoreDebug_DHCSR_S_LOCKUP_Msk       (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos)          /*!< CoreDebug DHCSR: S_LOCKUP Mask */
+
+#define CoreDebug_DHCSR_S_SLEEP_Pos        18                                             /*!< CoreDebug DHCSR: S_SLEEP Position */
+#define CoreDebug_DHCSR_S_SLEEP_Msk        (1UL << CoreDebug_DHCSR_S_SLEEP_Pos)           /*!< CoreDebug DHCSR: S_SLEEP Mask */
+
+#define CoreDebug_DHCSR_S_HALT_Pos         17                                             /*!< CoreDebug DHCSR: S_HALT Position */
+#define CoreDebug_DHCSR_S_HALT_Msk         (1UL << CoreDebug_DHCSR_S_HALT_Pos)            /*!< CoreDebug DHCSR: S_HALT Mask */
+
+#define CoreDebug_DHCSR_S_REGRDY_Pos       16                                             /*!< CoreDebug DHCSR: S_REGRDY Position */
+#define CoreDebug_DHCSR_S_REGRDY_Msk       (1UL << CoreDebug_DHCSR_S_REGRDY_Pos)          /*!< CoreDebug DHCSR: S_REGRDY Mask */
+
+#define CoreDebug_DHCSR_C_SNAPSTALL_Pos     5                                             /*!< CoreDebug DHCSR: C_SNAPSTALL Position */
+#define CoreDebug_DHCSR_C_SNAPSTALL_Msk    (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos)       /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */
+
+#define CoreDebug_DHCSR_C_MASKINTS_Pos      3                                             /*!< CoreDebug DHCSR: C_MASKINTS Position */
+#define CoreDebug_DHCSR_C_MASKINTS_Msk     (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos)        /*!< CoreDebug DHCSR: C_MASKINTS Mask */
+
+#define CoreDebug_DHCSR_C_STEP_Pos          2                                             /*!< CoreDebug DHCSR: C_STEP Position */
+#define CoreDebug_DHCSR_C_STEP_Msk         (1UL << CoreDebug_DHCSR_C_STEP_Pos)            /*!< CoreDebug DHCSR: C_STEP Mask */
+
+#define CoreDebug_DHCSR_C_HALT_Pos          1                                             /*!< CoreDebug DHCSR: C_HALT Position */
+#define CoreDebug_DHCSR_C_HALT_Msk         (1UL << CoreDebug_DHCSR_C_HALT_Pos)            /*!< CoreDebug DHCSR: C_HALT Mask */
+
+#define CoreDebug_DHCSR_C_DEBUGEN_Pos       0                                             /*!< CoreDebug DHCSR: C_DEBUGEN Position */
+#define CoreDebug_DHCSR_C_DEBUGEN_Msk      (1UL << CoreDebug_DHCSR_C_DEBUGEN_Pos)         /*!< CoreDebug DHCSR: C_DEBUGEN Mask */
+
+/* Debug Core Register Selector Register */
+#define CoreDebug_DCRSR_REGWnR_Pos         16                                             /*!< CoreDebug DCRSR: REGWnR Position */
+#define CoreDebug_DCRSR_REGWnR_Msk         (1UL << CoreDebug_DCRSR_REGWnR_Pos)            /*!< CoreDebug DCRSR: REGWnR Mask */
+
+#define CoreDebug_DCRSR_REGSEL_Pos          0                                             /*!< CoreDebug DCRSR: REGSEL Position */
+#define CoreDebug_DCRSR_REGSEL_Msk         (0x1FUL << CoreDebug_DCRSR_REGSEL_Pos)         /*!< CoreDebug DCRSR: REGSEL Mask */
+
+/* Debug Exception and Monitor Control Register */
+#define CoreDebug_DEMCR_TRCENA_Pos         24                                             /*!< CoreDebug DEMCR: TRCENA Position */
+#define CoreDebug_DEMCR_TRCENA_Msk         (1UL << CoreDebug_DEMCR_TRCENA_Pos)            /*!< CoreDebug DEMCR: TRCENA Mask */
+
+#define CoreDebug_DEMCR_MON_REQ_Pos        19                                             /*!< CoreDebug DEMCR: MON_REQ Position */
+#define CoreDebug_DEMCR_MON_REQ_Msk        (1UL << CoreDebug_DEMCR_MON_REQ_Pos)           /*!< CoreDebug DEMCR: MON_REQ Mask */
+
+#define CoreDebug_DEMCR_MON_STEP_Pos       18                                             /*!< CoreDebug DEMCR: MON_STEP Position */
+#define CoreDebug_DEMCR_MON_STEP_Msk       (1UL << CoreDebug_DEMCR_MON_STEP_Pos)          /*!< CoreDebug DEMCR: MON_STEP Mask */
+
+#define CoreDebug_DEMCR_MON_PEND_Pos       17                                             /*!< CoreDebug DEMCR: MON_PEND Position */
+#define CoreDebug_DEMCR_MON_PEND_Msk       (1UL << CoreDebug_DEMCR_MON_PEND_Pos)          /*!< CoreDebug DEMCR: MON_PEND Mask */
+
+#define CoreDebug_DEMCR_MON_EN_Pos         16                                             /*!< CoreDebug DEMCR: MON_EN Position */
+#define CoreDebug_DEMCR_MON_EN_Msk         (1UL << CoreDebug_DEMCR_MON_EN_Pos)            /*!< CoreDebug DEMCR: MON_EN Mask */
+
+#define CoreDebug_DEMCR_VC_HARDERR_Pos     10                                             /*!< CoreDebug DEMCR: VC_HARDERR Position */
+#define CoreDebug_DEMCR_VC_HARDERR_Msk     (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos)        /*!< CoreDebug DEMCR: VC_HARDERR Mask */
+
+#define CoreDebug_DEMCR_VC_INTERR_Pos       9                                             /*!< CoreDebug DEMCR: VC_INTERR Position */
+#define CoreDebug_DEMCR_VC_INTERR_Msk      (1UL << CoreDebug_DEMCR_VC_INTERR_Pos)         /*!< CoreDebug DEMCR: VC_INTERR Mask */
+
+#define CoreDebug_DEMCR_VC_BUSERR_Pos       8                                             /*!< CoreDebug DEMCR: VC_BUSERR Position */
+#define CoreDebug_DEMCR_VC_BUSERR_Msk      (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos)         /*!< CoreDebug DEMCR: VC_BUSERR Mask */
+
+#define CoreDebug_DEMCR_VC_STATERR_Pos      7                                             /*!< CoreDebug DEMCR: VC_STATERR Position */
+#define CoreDebug_DEMCR_VC_STATERR_Msk     (1UL << CoreDebug_DEMCR_VC_STATERR_Pos)        /*!< CoreDebug DEMCR: VC_STATERR Mask */
+
+#define CoreDebug_DEMCR_VC_CHKERR_Pos       6                                             /*!< CoreDebug DEMCR: VC_CHKERR Position */
+#define CoreDebug_DEMCR_VC_CHKERR_Msk      (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos)         /*!< CoreDebug DEMCR: VC_CHKERR Mask */
+
+#define CoreDebug_DEMCR_VC_NOCPERR_Pos      5                                             /*!< CoreDebug DEMCR: VC_NOCPERR Position */
+#define CoreDebug_DEMCR_VC_NOCPERR_Msk     (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos)        /*!< CoreDebug DEMCR: VC_NOCPERR Mask */
+
+#define CoreDebug_DEMCR_VC_MMERR_Pos        4                                             /*!< CoreDebug DEMCR: VC_MMERR Position */
+#define CoreDebug_DEMCR_VC_MMERR_Msk       (1UL << CoreDebug_DEMCR_VC_MMERR_Pos)          /*!< CoreDebug DEMCR: VC_MMERR Mask */
+
+#define CoreDebug_DEMCR_VC_CORERESET_Pos    0                                             /*!< CoreDebug DEMCR: VC_CORERESET Position */
+#define CoreDebug_DEMCR_VC_CORERESET_Msk   (1UL << CoreDebug_DEMCR_VC_CORERESET_Pos)      /*!< CoreDebug DEMCR: VC_CORERESET Mask */
+
+/*@} end of group CMSIS_CoreDebug */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_core_base     Core Definitions
+    \brief      Definitions for base addresses, unions, and structures.
+  @{
+ */
+
+/* Memory mapping of Cortex-M4 Hardware */
+#define SCS_BASE            (0xE000E000UL)                            /*!< System Control Space Base Address  */
+#define ITM_BASE            (0xE0000000UL)                            /*!< ITM Base Address                   */
+#define DWT_BASE            (0xE0001000UL)                            /*!< DWT Base Address                   */
+#define TPI_BASE            (0xE0040000UL)                            /*!< TPI Base Address                   */
+#define CoreDebug_BASE      (0xE000EDF0UL)                            /*!< Core Debug Base Address            */
+#define SysTick_BASE        (SCS_BASE +  0x0010UL)                    /*!< SysTick Base Address               */
+#define NVIC_BASE           (SCS_BASE +  0x0100UL)                    /*!< NVIC Base Address                  */
+#define SCB_BASE            (SCS_BASE +  0x0D00UL)                    /*!< System Control Block Base Address  */
+
+#define SCnSCB              ((SCnSCB_Type    *)     SCS_BASE      )   /*!< System control Register not in SCB */
+#define SCB                 ((SCB_Type       *)     SCB_BASE      )   /*!< SCB configuration struct           */
+#define SysTick             ((SysTick_Type   *)     SysTick_BASE  )   /*!< SysTick configuration struct       */
+#define NVIC                ((NVIC_Type      *)     NVIC_BASE     )   /*!< NVIC configuration struct          */
+#define ITM                 ((ITM_Type       *)     ITM_BASE      )   /*!< ITM configuration struct           */
+#define DWT                 ((DWT_Type       *)     DWT_BASE      )   /*!< DWT configuration struct           */
+#define TPI                 ((TPI_Type       *)     TPI_BASE      )   /*!< TPI configuration struct           */
+#define CoreDebug           ((CoreDebug_Type *)     CoreDebug_BASE)   /*!< Core Debug configuration struct    */
+
+#if (__MPU_PRESENT == 1)
+  #define MPU_BASE          (SCS_BASE +  0x0D90UL)                    /*!< Memory Protection Unit             */
+  #define MPU               ((MPU_Type       *)     MPU_BASE      )   /*!< Memory Protection Unit             */
+#endif
+
+#if (__FPU_PRESENT == 1)
+  #define FPU_BASE          (SCS_BASE +  0x0F30UL)                    /*!< Floating Point Unit                */
+  #define FPU               ((FPU_Type       *)     FPU_BASE      )   /*!< Floating Point Unit                */
+#endif
+
+/*@} */
+
+
+
+/*******************************************************************************
+ *                Hardware Abstraction Layer
+  Core Function Interface contains:
+  - Core NVIC Functions
+  - Core SysTick Functions
+  - Core Debug Functions
+  - Core Register Access Functions
+ ******************************************************************************/
+/** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
+*/
+
+
+
+/* ##########################   NVIC functions  #################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_NVICFunctions NVIC Functions
+    \brief      Functions that manage interrupts and exceptions via the NVIC.
+    @{
+ */
+
+/** \brief  Set Priority Grouping
+
+  The function sets the priority grouping field using the required unlock sequence.
+  The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field.
+  Only values from 0..7 are used.
+  In case of a conflict between priority grouping and available
+  priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
+
+    \param [in]      PriorityGroup  Priority grouping field.
+ */
+__STATIC_INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
+{
+  uint32_t reg_value;
+  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07);               /* only values 0..7 are used          */
+
+  reg_value  =  SCB->AIRCR;                                                   /* read old register configuration    */
+  reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk);             /* clear bits to change               */
+  reg_value  =  (reg_value                                 |
+                ((uint32_t)0x5FA << SCB_AIRCR_VECTKEY_Pos) |
+                (PriorityGroupTmp << 8));                                     /* Insert write key and priorty group */
+  SCB->AIRCR =  reg_value;
+}
+
+
+/** \brief  Get Priority Grouping
+
+  The function reads the priority grouping field from the NVIC Interrupt Controller.
+
+    \return                Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping(void)
+{
+  return ((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos);   /* read priority grouping field */
+}
+
+
+/** \brief  Enable External Interrupt
+
+    The function enables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
+{
+/*  NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));  enable interrupt */
+  NVIC->ISER[(uint32_t)((int32_t)IRQn) >> 5] = (uint32_t)(1 << ((uint32_t)((int32_t)IRQn) & (uint32_t)0x1F)); /* enable interrupt */
+}
+
+
+/** \brief  Disable External Interrupt
+
+    The function disables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* disable interrupt */
+}
+
+
+/** \brief  Get Pending Interrupt
+
+    The function reads the pending register in the NVIC and returns the pending bit
+    for the specified interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+    
+    \return             0  Interrupt status is not pending.
+    \return             1  Interrupt status is pending.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn)
+{
+  return((uint32_t) ((NVIC->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if pending else 0 */
+}
+
+
+/** \brief  Set Pending Interrupt
+
+    The function sets the pending bit of an external interrupt.
+
+    \param [in]      IRQn  Interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* set interrupt pending */
+}
+
+
+/** \brief  Clear Pending Interrupt
+
+    The function clears the pending bit of an external interrupt.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */
+}
+
+
+/** \brief  Get Active Interrupt
+
+    The function reads the active register in NVIC and returns the active bit.
+    
+    \param [in]      IRQn  Interrupt number.
+    
+    \return             0  Interrupt status is not active.
+    \return             1  Interrupt status is active.
+ */
+__STATIC_INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn)
+{
+  return((uint32_t)((NVIC->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if active else 0 */
+}
+
+
+/** \brief  Set Interrupt Priority
+
+    The function sets the priority of an interrupt. 
+
+    \note The priority cannot be set for every core interrupt.
+
+    \param [in]      IRQn  Interrupt number. 
+    \param [in]  priority  Priority to set.
+ */
+__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
+{
+  if(IRQn < 0) {
+    SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M  System Interrupts */
+  else {
+    NVIC->IP[(uint32_t)(IRQn)] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff);    }        /* set Priority for device specific Interrupts  */
+}
+
+
+/** \brief  Get Interrupt Priority
+
+    The function reads the priority of an interrupt. The interrupt
+    number can be positive to specify an external (device specific)
+    interrupt, or negative to specify an internal (core) interrupt.
+
+
+    \param [in]   IRQn  Interrupt number.
+    \return             Interrupt Priority. Value is aligned automatically to the implemented
+                        priority bits of the microcontroller.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn)
+{
+
+  if(IRQn < 0) {
+    return((uint32_t)(SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for Cortex-M  system interrupts */
+  else {
+    return((uint32_t)(NVIC->IP[(uint32_t)(IRQn)]           >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for device specific interrupts  */
+}
+
+
+/** \brief  Encode Priority
+
+    The function encodes the priority for an interrupt with the given priority group,
+    preemptive priority value, and subpriority value.
+    In case of a conflict between priority grouping and available
+    priority bits (__NVIC_PRIO_BITS), the samllest possible priority group is set.
+
+    \param [in]     PriorityGroup  Used priority group.
+    \param [in]   PreemptPriority  Preemptive priority value (starting from 0).
+    \param [in]       SubPriority  Subpriority value (starting from 0).
+    \return                        Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
+ */
+__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
+{
+  uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);          /* only values 0..7 are used          */
+  uint32_t PreemptPriorityBits;
+  uint32_t SubPriorityBits;
+
+  PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp;
+  SubPriorityBits     = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS;
+
+  return (
+           ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) |
+           ((SubPriority     & ((1 << (SubPriorityBits    )) - 1)))
+         );
+}
+
+
+/** \brief  Decode Priority
+
+    The function decodes an interrupt priority value with a given priority group to
+    preemptive priority value and subpriority value.
+    In case of a conflict between priority grouping and available
+    priority bits (__NVIC_PRIO_BITS) the samllest possible priority group is set.
+
+    \param [in]         Priority   Priority value, which can be retrieved with the function \ref NVIC_GetPriority().
+    \param [in]     PriorityGroup  Used priority group.
+    \param [out] pPreemptPriority  Preemptive priority value (starting from 0).
+    \param [out]     pSubPriority  Subpriority value (starting from 0).
+ */
+__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority)
+{
+  uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);          /* only values 0..7 are used          */
+  uint32_t PreemptPriorityBits;
+  uint32_t SubPriorityBits;
+
+  PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp;
+  SubPriorityBits     = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS;
+
+  *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1);
+  *pSubPriority     = (Priority                   ) & ((1 << (SubPriorityBits    )) - 1);
+}
+
+
+/** \brief  System Reset
+
+    The function initiates a system reset request to reset the MCU.
+ */
+__STATIC_INLINE void NVIC_SystemReset(void)
+{
+  __DSB();                                                     /* Ensure all outstanding memory accesses included
+                                                                  buffered write are completed before reset */
+  SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      |
+                 (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
+                 SCB_AIRCR_SYSRESETREQ_Msk);                   /* Keep priority group unchanged */
+  __DSB();                                                     /* Ensure completion of memory access */
+  while(1);                                                    /* wait until reset */
+}
+
+/*@} end of CMSIS_Core_NVICFunctions */
+
+
+
+/* ##################################    SysTick function  ############################################ */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_SysTickFunctions SysTick Functions
+    \brief      Functions that configure the System.
+  @{
+ */
+
+#if (__Vendor_SysTickConfig == 0)
+
+/** \brief  System Tick Configuration
+
+    The function initializes the System Timer and its interrupt, and starts the System Tick Timer.
+    Counter is in free running mode to generate periodic interrupts.   
+
+    \param [in]  ticks  Number of ticks between two interrupts.
+    
+    \return          0  Function succeeded.
+    \return          1  Function failed.
+    
+    \note     When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the 
+    function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b> 
+    must contain a vendor-specific implementation of this function.
+
+ */
+__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
+{
+  if (ticks > SysTick_LOAD_RELOAD_Msk)  return (1);            /* Reload value impossible */
+
+  SysTick->LOAD  = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;      /* set reload register */
+  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
+  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
+  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
+                   SysTick_CTRL_TICKINT_Msk   |
+                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
+  return (0);                                                  /* Function successful */
+}
+
+#endif
+
+/*@} end of CMSIS_Core_SysTickFunctions */
+
+
+
+/* ##################################### Debug In/Output function ########################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_core_DebugFunctions ITM Functions
+    \brief   Functions that access the ITM debug interface.
+  @{
+ */
+
+extern volatile int32_t ITM_RxBuffer;                    /*!< External variable to receive characters.                         */
+#define                 ITM_RXBUFFER_EMPTY    0x5AA55AA5 /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */
+
+
+/** \brief  ITM Send Character
+
+    The function transmits a character via the ITM channel 0, and
+    \li Just returns when no debugger is connected that has booked the output.
+    \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted.
+
+    \param [in]     ch  Character to transmit.
+    
+    \returns            Character to transmit.
+ */
+__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
+{
+  if ((ITM->TCR & ITM_TCR_ITMENA_Msk)                  &&      /* ITM enabled */
+      (ITM->TER & (1UL << 0)        )                    )     /* ITM Port #0 enabled */
+  {
+    while (ITM->PORT[0].u32 == 0);
+    ITM->PORT[0].u8 = (uint8_t) ch;
+  }
+  return (ch);
+}
+
+
+/** \brief  ITM Receive Character
+
+    The function inputs a character via the external variable \ref ITM_RxBuffer.
+
+    \return             Received character.
+    \return         -1  No character pending.
+ */
+__STATIC_INLINE int32_t ITM_ReceiveChar (void) {
+  int32_t ch = -1;                           /* no character available */
+
+  if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) {
+    ch = ITM_RxBuffer;
+    ITM_RxBuffer = ITM_RXBUFFER_EMPTY;       /* ready for next character */
+  }
+
+  return (ch);
+}
+
+
+/** \brief  ITM Check Character
+
+    The function checks whether a character is pending for reading in the variable \ref ITM_RxBuffer.
+
+    \return          0  No character available.
+    \return          1  Character available.
+ */
+__STATIC_INLINE int32_t ITM_CheckChar (void) {
+
+  if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) {
+    return (0);                                 /* no character available */
+  } else {
+    return (1);                                 /*    character available */
+  }
+}
+
+/*@} end of CMSIS_core_DebugFunctions */
+
+#endif /* __CORE_CM4_H_DEPENDANT */
+
+#endif /* __CMSIS_GENERIC */
+
+#ifdef __cplusplus
+}
+#endif

+ 652 - 0
dap_link/lib/free-dap/platform/m484/include/core_cm4_simd.h

@@ -0,0 +1,652 @@
+/**************************************************************************//**
+ * @file     core_cm4_simd.h
+ * @brief    CMSIS Cortex-M4 SIMD Header File
+ * @version  V3.00
+ * @date     19. January 2012
+ *
+ * @note
+ * Copyright (C) 2010-2012 ARM Limited. All rights reserved.
+ *
+ * @par
+ * ARM Limited (ARM) is supplying this software for use with Cortex-M 
+ * processor based microcontrollers.  This file can be freely distributed 
+ * within development tools that are supporting such ARM based processors. 
+ *
+ * @par
+ * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+ *
+ ******************************************************************************/
+ /**
+ * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a>
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif 
+
+#ifndef __CORE_CM4_SIMD_H
+#define __CORE_CM4_SIMD_H
+
+
+/*******************************************************************************
+ *                Hardware Abstraction Layer
+ ******************************************************************************/
+
+
+/* ###################  Compiler specific Intrinsics  ########################### */
+/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics
+  Access to dedicated SIMD instructions
+  @{
+*/
+
+#if   defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
+/* ARM armcc specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+#define __SADD8                           __sadd8
+#define __QADD8                           __qadd8
+#define __SHADD8                          __shadd8
+#define __UADD8                           __uadd8
+#define __UQADD8                          __uqadd8
+#define __UHADD8                          __uhadd8
+#define __SSUB8                           __ssub8
+#define __QSUB8                           __qsub8
+#define __SHSUB8                          __shsub8
+#define __USUB8                           __usub8
+#define __UQSUB8                          __uqsub8
+#define __UHSUB8                          __uhsub8
+#define __SADD16                          __sadd16
+#define __QADD16                          __qadd16
+#define __SHADD16                         __shadd16
+#define __UADD16                          __uadd16
+#define __UQADD16                         __uqadd16
+#define __UHADD16                         __uhadd16
+#define __SSUB16                          __ssub16
+#define __QSUB16                          __qsub16
+#define __SHSUB16                         __shsub16
+#define __USUB16                          __usub16
+#define __UQSUB16                         __uqsub16
+#define __UHSUB16                         __uhsub16
+#define __SASX                            __sasx
+#define __QASX                            __qasx
+#define __SHASX                           __shasx
+#define __UASX                            __uasx
+#define __UQASX                           __uqasx
+#define __UHASX                           __uhasx
+#define __SSAX                            __ssax
+#define __QSAX                            __qsax
+#define __SHSAX                           __shsax
+#define __USAX                            __usax
+#define __UQSAX                           __uqsax
+#define __UHSAX                           __uhsax
+#define __USAD8                           __usad8
+#define __USADA8                          __usada8
+#define __SSAT16                          __ssat16
+#define __USAT16                          __usat16
+#define __UXTB16                          __uxtb16
+#define __UXTAB16                         __uxtab16
+#define __SXTB16                          __sxtb16
+#define __SXTAB16                         __sxtab16
+#define __SMUAD                           __smuad
+#define __SMUADX                          __smuadx
+#define __SMLAD                           __smlad
+#define __SMLADX                          __smladx
+#define __SMLALD                          __smlald
+#define __SMLALDX                         __smlaldx
+#define __SMUSD                           __smusd
+#define __SMUSDX                          __smusdx
+#define __SMLSD                           __smlsd
+#define __SMLSDX                          __smlsdx
+#define __SMLSLD                          __smlsld
+#define __SMLSLDX                         __smlsldx
+#define __SEL                             __sel
+#define __QADD                            __qadd
+#define __QSUB                            __qsub
+
+#define __PKHBT(ARG1,ARG2,ARG3)          ( ((((uint32_t)(ARG1))          ) & 0x0000FFFFUL) |  \
+                                           ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL)  )
+
+#define __PKHTB(ARG1,ARG2,ARG3)          ( ((((uint32_t)(ARG1))          ) & 0xFFFF0000UL) |  \
+                                           ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL)  )
+
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/
+/* IAR iccarm specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+#include <cmsis_iar.h>
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/
+/* TI CCS specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+#include <cmsis_ccs.h>
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/
+/* GNU gcc specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("sadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("qadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("shadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uqadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uhadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("ssub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("qsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("shsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("usub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uqsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uhsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("sadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("qadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("shadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uqadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uhadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("ssub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("qsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("shsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("usub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uqsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uhsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("sasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("qasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("shasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uqasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uhasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("ssax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("qsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("shsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("usax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uqsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uhsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("usad8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+  
+  __ASM volatile ("usada8 %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+#define __SSAT16(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("ssat16 %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+  
+#define __USAT16(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("usat16 %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UXTB16(uint32_t op1)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uxtb16 %0, %1" : "=r" (result) : "r" (op1));
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("uxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SXTB16(uint32_t op1)
+{
+  uint32_t result;
+  
+  __ASM volatile ("sxtb16 %0, %1" : "=r" (result) : "r" (op1));
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("sxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUAD  (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smuad %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smuadx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smlad %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smladx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+#define __SMLALD(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((uint64_t)(ARG3) >> 32), __ARG3_L = (uint32_t)((uint64_t)(ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+#define __SMLALDX(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((uint64_t)(ARG3) >> 32), __ARG3_L = (uint32_t)((uint64_t)(ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUSD  (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smusd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smusdx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smlsd %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+  
+  __ASM volatile ("smlsdx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+#define __SMLSLD(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((ARG3) >> 32), __ARG3_L = (uint32_t)((ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+#define __SMLSLDX(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((ARG3) >> 32), __ARG3_L = (uint32_t)((ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SEL  (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("sel %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+  
+  __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+#define __PKHBT(ARG1,ARG2,ARG3) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \
+  __ASM ("pkhbt %0, %1, %2, lsl %3" : "=r" (__RES) :  "r" (__ARG1), "r" (__ARG2), "I" (ARG3)  ); \
+  __RES; \
+ })
+
+#define __PKHTB(ARG1,ARG2,ARG3) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \
+  if (ARG3 == 0) \
+    __ASM ("pkhtb %0, %1, %2" : "=r" (__RES) :  "r" (__ARG1), "r" (__ARG2)  ); \
+  else \
+    __ASM ("pkhtb %0, %1, %2, asr %3" : "=r" (__RES) :  "r" (__ARG1), "r" (__ARG2), "I" (ARG3)  ); \
+  __RES; \
+ })
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/
+/* TASKING carm specific functions */
+
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+/* not yet supported */
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+#endif
+
+/*@} end of group CMSIS_SIMD_intrinsics */
+
+
+#endif /* __CORE_CM4_SIMD_H */
+
+#ifdef __cplusplus
+}
+#endif

+ 619 - 0
dap_link/lib/free-dap/platform/m484/include/core_cmFunc.h

@@ -0,0 +1,619 @@
+/**************************************************************************//**
+ * @file     core_cmFunc.h
+ * @brief    CMSIS Cortex-M Core Function Access Header File
+ * @version  V3.00
+ * @date     19. January 2012
+ *
+ * @note
+ * Copyright (C) 2009-2012 ARM Limited. All rights reserved.
+ *
+ * @par
+ * ARM Limited (ARM) is supplying this software for use with Cortex-M 
+ * processor based microcontrollers.  This file can be freely distributed 
+ * within development tools that are supporting such ARM based processors. 
+ *
+ * @par
+ * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+ *
+ ******************************************************************************/
+ /**
+ * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a>
+ */
+
+#ifndef __CORE_CMFUNC_H
+#define __CORE_CMFUNC_H
+
+
+/* ###########################  Core Function Access  ########################### */
+/** \ingroup  CMSIS_Core_FunctionInterface   
+    \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
+  @{
+ */
+
+#if   defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
+/* ARM armcc specific functions */
+
+#if (__ARMCC_VERSION < 400677)
+  #error "Please use ARM Compiler Toolchain V4.0.677 or later!"
+#endif
+
+/* intrinsic void __enable_irq();     */
+/* intrinsic void __disable_irq();    */
+
+/** \brief  Get Control Register
+
+    This function returns the content of the Control Register.
+
+    \return               Control Register value
+ */
+__STATIC_INLINE uint32_t __get_CONTROL(void)
+{
+  register uint32_t __regControl         __ASM("control");
+  return(__regControl);
+}
+
+
+/** \brief  Set Control Register
+
+    This function writes the given value to the Control Register.
+
+    \param [in]    control  Control Register value to set
+ */
+__STATIC_INLINE void __set_CONTROL(uint32_t control)
+{
+  register uint32_t __regControl         __ASM("control");
+  __regControl = control;
+}
+
+
+/** \brief  Get IPSR Register
+
+    This function returns the content of the IPSR Register.
+
+    \return               IPSR Register value
+ */
+__STATIC_INLINE uint32_t __get_IPSR(void)
+{
+  register uint32_t __regIPSR          __ASM("ipsr");
+  return(__regIPSR);
+}
+
+
+/** \brief  Get APSR Register
+
+    This function returns the content of the APSR Register.
+
+    \return               APSR Register value
+ */
+__STATIC_INLINE uint32_t __get_APSR(void)
+{
+  register uint32_t __regAPSR          __ASM("apsr");
+  return(__regAPSR);
+}
+
+
+/** \brief  Get xPSR Register
+
+    This function returns the content of the xPSR Register.
+
+    \return               xPSR Register value
+ */
+__STATIC_INLINE uint32_t __get_xPSR(void)
+{
+  register uint32_t __regXPSR          __ASM("xpsr");
+  return(__regXPSR);
+}
+
+
+/** \brief  Get Process Stack Pointer
+
+    This function returns the current value of the Process Stack Pointer (PSP).
+
+    \return               PSP Register value
+ */
+__STATIC_INLINE uint32_t __get_PSP(void)
+{
+  register uint32_t __regProcessStackPointer  __ASM("psp");
+  return(__regProcessStackPointer);
+}
+
+
+/** \brief  Set Process Stack Pointer
+
+    This function assigns the given value to the Process Stack Pointer (PSP).
+
+    \param [in]    topOfProcStack  Process Stack Pointer value to set
+ */
+__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
+{
+  register uint32_t __regProcessStackPointer  __ASM("psp");
+  __regProcessStackPointer = topOfProcStack;
+}
+
+
+/** \brief  Get Main Stack Pointer
+
+    This function returns the current value of the Main Stack Pointer (MSP).
+
+    \return               MSP Register value
+ */
+__STATIC_INLINE uint32_t __get_MSP(void)
+{
+  register uint32_t __regMainStackPointer     __ASM("msp");
+  return(__regMainStackPointer);
+}
+
+
+/** \brief  Set Main Stack Pointer
+
+    This function assigns the given value to the Main Stack Pointer (MSP).
+
+    \param [in]    topOfMainStack  Main Stack Pointer value to set
+ */
+__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
+{
+  register uint32_t __regMainStackPointer     __ASM("msp");
+  __regMainStackPointer = topOfMainStack;
+}
+
+
+/** \brief  Get Priority Mask
+
+    This function returns the current state of the priority mask bit from the Priority Mask Register.
+
+    \return               Priority Mask value
+ */
+__STATIC_INLINE uint32_t __get_PRIMASK(void)
+{
+  register uint32_t __regPriMask         __ASM("primask");
+  return(__regPriMask);
+}
+
+
+/** \brief  Set Priority Mask
+
+    This function assigns the given value to the Priority Mask Register.
+
+    \param [in]    priMask  Priority Mask
+ */
+__STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
+{
+  register uint32_t __regPriMask         __ASM("primask");
+  __regPriMask = (priMask);
+}
+ 
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Enable FIQ
+
+    This function enables FIQ interrupts by clearing the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+#define __enable_fault_irq                __enable_fiq
+
+
+/** \brief  Disable FIQ
+
+    This function disables FIQ interrupts by setting the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+#define __disable_fault_irq               __disable_fiq
+
+
+/** \brief  Get Base Priority
+
+    This function returns the current value of the Base Priority register.
+
+    \return               Base Priority register value
+ */
+__STATIC_INLINE uint32_t  __get_BASEPRI(void)
+{
+  register uint32_t __regBasePri         __ASM("basepri");
+  return(__regBasePri);
+}
+
+
+/** \brief  Set Base Priority
+
+    This function assigns the given value to the Base Priority register.
+
+    \param [in]    basePri  Base Priority value to set
+ */
+__STATIC_INLINE void __set_BASEPRI(uint32_t basePri)
+{
+  register uint32_t __regBasePri         __ASM("basepri");
+  __regBasePri = (basePri & 0xff);
+}
+ 
+
+/** \brief  Get Fault Mask
+
+    This function returns the current value of the Fault Mask register.
+
+    \return               Fault Mask register value
+ */
+__STATIC_INLINE uint32_t __get_FAULTMASK(void)
+{
+  register uint32_t __regFaultMask       __ASM("faultmask");
+  return(__regFaultMask);
+}
+
+
+/** \brief  Set Fault Mask
+
+    This function assigns the given value to the Fault Mask register.
+
+    \param [in]    faultMask  Fault Mask value to set
+ */
+__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
+{
+  register uint32_t __regFaultMask       __ASM("faultmask");
+  __regFaultMask = (faultMask & (uint32_t)1);
+}
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+#if       (__CORTEX_M == 0x04)
+
+/** \brief  Get FPSCR
+
+    This function returns the current value of the Floating Point Status/Control register.
+
+    \return               Floating Point Status/Control register value
+ */
+__STATIC_INLINE uint32_t __get_FPSCR(void)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  register uint32_t __regfpscr         __ASM("fpscr");
+  return(__regfpscr);
+#else
+   return(0);
+#endif
+}
+
+
+/** \brief  Set FPSCR
+
+    This function assigns the given value to the Floating Point Status/Control register.
+
+    \param [in]    fpscr  Floating Point Status/Control value to set
+ */
+__STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  register uint32_t __regfpscr         __ASM("fpscr");
+  __regfpscr = (fpscr);
+#endif
+}
+
+#endif /* (__CORTEX_M == 0x04) */
+
+
+#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/
+/* IAR iccarm specific functions */
+
+#include <cmsis_iar.h>
+
+
+#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/
+/* TI CCS specific functions */
+
+#include <cmsis_ccs.h>
+
+
+#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/
+/* GNU gcc specific functions */
+
+/** \brief  Enable IRQ Interrupts
+
+  This function enables IRQ interrupts by clearing the I-bit in the CPSR.
+  Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_irq(void)
+{
+  __ASM volatile ("cpsie i");
+}
+
+
+/** \brief  Disable IRQ Interrupts
+
+  This function disables IRQ interrupts by setting the I-bit in the CPSR.
+  Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_irq(void)
+{
+  __ASM volatile ("cpsid i");
+}
+
+
+/** \brief  Get Control Register
+
+    This function returns the content of the Control Register.
+
+    \return               Control Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_CONTROL(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, control" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Control Register
+
+    This function writes the given value to the Control Register.
+
+    \param [in]    control  Control Register value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_CONTROL(uint32_t control)
+{
+  __ASM volatile ("MSR control, %0" : : "r" (control) );
+}
+
+
+/** \brief  Get IPSR Register
+
+    This function returns the content of the IPSR Register.
+
+    \return               IPSR Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_IPSR(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Get APSR Register
+
+    This function returns the content of the APSR Register.
+
+    \return               APSR Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_APSR(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, apsr" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Get xPSR Register
+
+    This function returns the content of the xPSR Register.
+
+    \return               xPSR Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_xPSR(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Get Process Stack Pointer
+
+    This function returns the current value of the Process Stack Pointer (PSP).
+
+    \return               PSP Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_PSP(void)
+{
+  register uint32_t result;
+
+  __ASM volatile ("MRS %0, psp\n"  : "=r" (result) );
+  return(result);
+}
+ 
+
+/** \brief  Set Process Stack Pointer
+
+    This function assigns the given value to the Process Stack Pointer (PSP).
+
+    \param [in]    topOfProcStack  Process Stack Pointer value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
+{
+  __ASM volatile ("MSR psp, %0\n" : : "r" (topOfProcStack) );
+}
+
+
+/** \brief  Get Main Stack Pointer
+
+    This function returns the current value of the Main Stack Pointer (MSP).
+
+    \return               MSP Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_MSP(void)
+{
+  register uint32_t result;
+
+  __ASM volatile ("MRS %0, msp\n" : "=r" (result) );
+  return(result);
+}
+ 
+
+/** \brief  Set Main Stack Pointer
+
+    This function assigns the given value to the Main Stack Pointer (MSP).
+
+    \param [in]    topOfMainStack  Main Stack Pointer value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
+{
+  __ASM volatile ("MSR msp, %0\n" : : "r" (topOfMainStack) );
+}
+
+
+/** \brief  Get Priority Mask
+
+    This function returns the current state of the priority mask bit from the Priority Mask Register.
+
+    \return               Priority Mask value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_PRIMASK(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, primask" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Priority Mask
+
+    This function assigns the given value to the Priority Mask Register.
+
+    \param [in]    priMask  Priority Mask
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
+{
+  __ASM volatile ("MSR primask, %0" : : "r" (priMask) );
+}
+ 
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Enable FIQ
+
+    This function enables FIQ interrupts by clearing the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_fault_irq(void)
+{
+  __ASM volatile ("cpsie f");
+}
+
+
+/** \brief  Disable FIQ
+
+    This function disables FIQ interrupts by setting the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_fault_irq(void)
+{
+  __ASM volatile ("cpsid f");
+}
+
+
+/** \brief  Get Base Priority
+
+    This function returns the current value of the Base Priority register.
+
+    \return               Base Priority register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_BASEPRI(void)
+{
+  uint32_t result;
+  
+  __ASM volatile ("MRS %0, basepri_max" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Base Priority
+
+    This function assigns the given value to the Base Priority register.
+
+    \param [in]    basePri  Base Priority value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_BASEPRI(uint32_t value)
+{
+  __ASM volatile ("MSR basepri, %0" : : "r" (value) );
+}
+
+
+/** \brief  Get Fault Mask
+
+    This function returns the current value of the Fault Mask register.
+
+    \return               Fault Mask register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_FAULTMASK(void)
+{
+  uint32_t result;
+  
+  __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Fault Mask
+
+    This function assigns the given value to the Fault Mask register.
+
+    \param [in]    faultMask  Fault Mask value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
+{
+  __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) );
+}
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+#if       (__CORTEX_M == 0x04)
+
+/** \brief  Get FPSCR
+
+    This function returns the current value of the Floating Point Status/Control register.
+
+    \return               Floating Point Status/Control register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_FPSCR(void)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  uint32_t result;
+
+  __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
+  return(result);
+#else
+   return(0);
+#endif
+}
+
+
+/** \brief  Set FPSCR
+
+    This function assigns the given value to the Floating Point Status/Control register.
+
+    \param [in]    fpscr  Floating Point Status/Control value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) );
+#endif
+}
+
+#endif /* (__CORTEX_M == 0x04) */
+
+
+#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/
+/* TASKING carm specific functions */
+
+/*
+ * The CMSIS functions have been implemented as intrinsics in the compiler.
+ * Please use "carm -?i" to get an up to date list of all instrinsics,
+ * Including the CMSIS ones.
+ */
+
+#endif
+
+/*@} end of CMSIS_Core_RegAccFunctions */
+
+
+#endif /* __CORE_CMFUNC_H */

+ 621 - 0
dap_link/lib/free-dap/platform/m484/include/core_cmInstr.h

@@ -0,0 +1,621 @@
+/**************************************************************************//**
+ * @file     core_cmInstr.h
+ * @brief    CMSIS Cortex-M Core Instruction Access Header File
+ * @version  V3.00
+ * @date     07. February 2012
+ *
+ * @note
+ * Copyright (C) 2009-2012 ARM Limited. All rights reserved.
+ *
+ * @par
+ * ARM Limited (ARM) is supplying this software for use with Cortex-M
+ * processor based microcontrollers.  This file can be freely distributed
+ * within development tools that are supporting such ARM based processors.
+ *
+ * @par
+ * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+ *
+ ******************************************************************************/
+ /**
+ * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a>
+ */
+
+#ifndef __CORE_CMINSTR_H
+#define __CORE_CMINSTR_H
+
+
+/* ##########################  Core Instruction Access  ######################### */
+/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
+  Access to dedicated instructions
+  @{
+*/
+
+#if   defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
+/* ARM armcc specific functions */
+
+#if (__ARMCC_VERSION < 400677)
+  #error "Please use ARM Compiler Toolchain V4.0.677 or later!"
+#endif
+
+
+/** \brief  No Operation
+
+    No Operation does nothing. This instruction can be used for code alignment purposes.
+ */
+#define __NOP                             __nop
+
+
+/** \brief  Wait For Interrupt
+
+    Wait For Interrupt is a hint instruction that suspends execution
+    until one of a number of events occurs.
+ */
+#define __WFI                             __wfi
+
+
+/** \brief  Wait For Event
+
+    Wait For Event is a hint instruction that permits the processor to enter
+    a low-power state until one of a number of events occurs.
+ */
+#define __WFE                             __wfe
+
+
+/** \brief  Send Event
+
+    Send Event is a hint instruction. It causes an event to be signaled to the CPU.
+ */
+#define __SEV                             __sev
+
+
+/** \brief  Instruction Synchronization Barrier
+
+    Instruction Synchronization Barrier flushes the pipeline in the processor,
+    so that all instructions following the ISB are fetched from cache or
+    memory, after the instruction has been completed.
+ */
+#define __ISB()                           __isb(0xF)
+
+
+/** \brief  Data Synchronization Barrier
+
+    This function acts as a special kind of Data Memory Barrier.
+    It completes when all explicit memory accesses before this instruction complete.
+ */
+#define __DSB()                           __dsb(0xF)
+
+
+/** \brief  Data Memory Barrier
+
+    This function ensures the apparent order of the explicit memory operations before
+    and after the instruction, without ensuring their completion.
+ */
+#define __DMB()                           __dmb(0xF)
+
+
+/** \brief  Reverse byte order (32 bit)
+
+    This function reverses the byte order in integer value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+#define __REV                             __rev
+
+
+/** \brief  Reverse byte order (16 bit)
+
+    This function reverses the byte order in two unsigned short values.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value)
+{
+  rev16 r0, r0
+  bx lr
+}
+
+
+/** \brief  Reverse byte order in signed short value
+
+    This function reverses the byte order in a signed short value with sign extension to integer.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int32_t __REVSH(int32_t value)
+{
+  revsh r0, r0
+  bx lr
+}
+
+
+/** \brief  Rotate Right in unsigned value (32 bit)
+
+    This function Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
+
+    \param [in]    value  Value to rotate
+    \param [in]    value  Number of Bits to rotate
+    \return               Rotated value
+ */
+#define __ROR                             __ror
+
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Reverse bit order of value
+
+    This function reverses the bit order of the given value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+#define __RBIT                            __rbit
+
+
+/** \brief  LDR Exclusive (8 bit)
+
+    This function performs a exclusive LDR command for 8 bit value.
+
+    \param [in]    ptr  Pointer to data
+    \return             value of type uint8_t at (*ptr)
+ */
+#define __LDREXB(ptr)                     ((uint8_t ) __ldrex(ptr))
+
+
+/** \brief  LDR Exclusive (16 bit)
+
+    This function performs a exclusive LDR command for 16 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint16_t at (*ptr)
+ */
+#define __LDREXH(ptr)                     ((uint16_t) __ldrex(ptr))
+
+
+/** \brief  LDR Exclusive (32 bit)
+
+    This function performs a exclusive LDR command for 32 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint32_t at (*ptr)
+ */
+#define __LDREXW(ptr)                     ((uint32_t ) __ldrex(ptr))
+
+
+/** \brief  STR Exclusive (8 bit)
+
+    This function performs a exclusive STR command for 8 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+#define __STREXB(value, ptr)              __strex(value, ptr)
+
+
+/** \brief  STR Exclusive (16 bit)
+
+    This function performs a exclusive STR command for 16 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+#define __STREXH(value, ptr)              __strex(value, ptr)
+
+
+/** \brief  STR Exclusive (32 bit)
+
+    This function performs a exclusive STR command for 32 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+#define __STREXW(value, ptr)              __strex(value, ptr)
+
+
+/** \brief  Remove the exclusive lock
+
+    This function removes the exclusive lock which is created by LDREX.
+
+ */
+#define __CLREX                           __clrex
+
+
+/** \brief  Signed Saturate
+
+    This function saturates a signed value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (1..32)
+    \return             Saturated value
+ */
+#define __SSAT                            __ssat
+
+
+/** \brief  Unsigned Saturate
+
+    This function saturates an unsigned value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (0..31)
+    \return             Saturated value
+ */
+#define __USAT                            __usat
+
+
+/** \brief  Count leading zeros
+
+    This function counts the number of leading zeros of a data value.
+
+    \param [in]  value  Value to count the leading zeros
+    \return             number of leading zeros in value
+ */
+#define __CLZ                             __clz
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+
+#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/
+/* IAR iccarm specific functions */
+
+#include <cmsis_iar.h>
+
+
+#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/
+/* TI CCS specific functions */
+
+#include <cmsis_ccs.h>
+
+
+#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/
+/* GNU gcc specific functions */
+
+/** \brief  No Operation
+
+    No Operation does nothing. This instruction can be used for code alignment purposes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __NOP(void)
+{
+  __ASM volatile ("nop");
+}
+
+
+/** \brief  Wait For Interrupt
+
+    Wait For Interrupt is a hint instruction that suspends execution
+    until one of a number of events occurs.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __WFI(void)
+{
+  __ASM volatile ("wfi");
+}
+
+
+/** \brief  Wait For Event
+
+    Wait For Event is a hint instruction that permits the processor to enter
+    a low-power state until one of a number of events occurs.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __WFE(void)
+{
+  __ASM volatile ("wfe");
+}
+
+
+/** \brief  Send Event
+
+    Send Event is a hint instruction. It causes an event to be signaled to the CPU.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __SEV(void)
+{
+  __ASM volatile ("sev");
+}
+
+
+/** \brief  Instruction Synchronization Barrier
+
+    Instruction Synchronization Barrier flushes the pipeline in the processor,
+    so that all instructions following the ISB are fetched from cache or
+    memory, after the instruction has been completed.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __ISB(void)
+{
+  __ASM volatile ("isb");
+}
+
+
+/** \brief  Data Synchronization Barrier
+
+    This function acts as a special kind of Data Memory Barrier.
+    It completes when all explicit memory accesses before this instruction complete.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __DSB(void)
+{
+  __ASM volatile ("dsb");
+}
+
+
+/** \brief  Data Memory Barrier
+
+    This function ensures the apparent order of the explicit memory operations before
+    and after the instruction, without ensuring their completion.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __DMB(void)
+{
+  __ASM volatile ("dmb");
+}
+
+
+/** \brief  Reverse byte order (32 bit)
+
+    This function reverses the byte order in integer value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __REV(uint32_t value)
+{
+  uint32_t result;
+
+  __ASM volatile ("rev %0, %1" : "=r" (result) : "r" (value) );
+  return(result);
+}
+
+
+/** \brief  Reverse byte order (16 bit)
+
+    This function reverses the byte order in two unsigned short values.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __REV16(uint32_t value)
+{
+  uint32_t result;
+
+  __ASM volatile ("rev16 %0, %1" : "=r" (result) : "r" (value) );
+  return(result);
+}
+
+
+/** \brief  Reverse byte order in signed short value
+
+    This function reverses the byte order in a signed short value with sign extension to integer.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE int32_t __REVSH(int32_t value)
+{
+  uint32_t result;
+
+  __ASM volatile ("revsh %0, %1" : "=r" (result) : "r" (value) );
+  return(result);
+}
+
+
+/** \brief  Rotate Right in unsigned value (32 bit)
+
+    This function Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
+
+    \param [in]    value  Value to rotate
+    \param [in]    value  Number of Bits to rotate
+    \return               Rotated value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
+{
+
+  __ASM volatile ("ror %0, %0, %1" : "+r" (op1) : "r" (op2) );
+  return(op1);
+}
+
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Reverse bit order of value
+
+    This function reverses the bit order of the given value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __RBIT(uint32_t value)
+{
+  uint32_t result;
+
+   __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
+   return(result);
+}
+
+
+/** \brief  LDR Exclusive (8 bit)
+
+    This function performs a exclusive LDR command for 8 bit value.
+
+    \param [in]    ptr  Pointer to data
+    \return             value of type uint8_t at (*ptr)
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __LDREXB(volatile uint8_t *addr)
+{
+    uint8_t result;
+
+   __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) );
+   return(result);
+}
+
+
+/** \brief  LDR Exclusive (16 bit)
+
+    This function performs a exclusive LDR command for 16 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint16_t at (*ptr)
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint16_t __LDREXH(volatile uint16_t *addr)
+{
+    uint16_t result;
+
+   __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) );
+   return(result);
+}
+
+
+/** \brief  LDR Exclusive (32 bit)
+
+    This function performs a exclusive LDR command for 32 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint32_t at (*ptr)
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __LDREXW(volatile uint32_t *addr)
+{
+    uint32_t result;
+
+   __ASM volatile ("ldrex %0, [%1]" : "=r" (result) : "r" (addr) );
+   return(result);
+}
+
+
+/** \brief  STR Exclusive (8 bit)
+
+    This function performs a exclusive STR command for 8 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
+{
+   uint32_t result;
+
+   __ASM volatile ("strexb %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );
+   return(result);
+}
+
+
+/** \brief  STR Exclusive (16 bit)
+
+    This function performs a exclusive STR command for 16 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
+{
+   uint32_t result;
+
+   __ASM volatile ("strexh %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );
+   return(result);
+}
+
+
+/** \brief  STR Exclusive (32 bit)
+
+    This function performs a exclusive STR command for 32 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
+{
+   uint32_t result;
+
+   __ASM volatile ("strex %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );
+   return(result);
+}
+
+
+/** \brief  Remove the exclusive lock
+
+    This function removes the exclusive lock which is created by LDREX.
+
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __CLREX(void)
+{
+  __ASM volatile ("clrex");
+}
+
+
+/** \brief  Signed Saturate
+
+    This function saturates a signed value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (1..32)
+    \return             Saturated value
+ */
+#define __SSAT(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("ssat %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+
+
+/** \brief  Unsigned Saturate
+
+    This function saturates an unsigned value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (0..31)
+    \return             Saturated value
+ */
+#define __USAT(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("usat %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+
+
+/** \brief  Count leading zeros
+
+    This function counts the number of leading zeros of a data value.
+
+    \param [in]  value  Value to count the leading zeros
+    \return             number of leading zeros in value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __CLZ(uint32_t value)
+{
+  uint8_t result;
+
+  __ASM volatile ("clz %0, %1" : "=r" (result) : "r" (value) );
+  return(result);
+}
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+
+
+#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/
+/* TASKING carm specific functions */
+
+/*
+ * The CMSIS functions have been implemented as intrinsics in the compiler.
+ * Please use "carm -?i" to get an up to date list of all intrinsics,
+ * Including the CMSIS ones.
+ */
+
+#endif
+
+/*@}*/ /* end of group CMSIS_Core_InstructionInterface */
+
+#endif /* __CORE_CMINSTR_H */

+ 150 - 0
dap_link/lib/free-dap/platform/m484/include/crc_reg.h

@@ -0,0 +1,150 @@
+/**************************************************************************//**
+ * @file     crc_reg.h
+ * @version  V1.00
+ * @brief    CRC register definition header file
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __CRC_REG_H__
+#define __CRC_REG_H__
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/**
+   @addtogroup REGISTER Control Register
+   @{
+*/
+
+/**
+    @addtogroup CRC Cyclic Redundancy Check Controller(CRC)
+    Memory Mapped Structure for CRC Controller
+@{ */
+
+typedef struct
+{
+
+
+    /**
+     * @var CRC_T::CTL
+     * Offset: 0x00  CRC Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |CRCEN     |CRC Channel Enable Bit
+     * |        |          |0 = No effect.
+     * |        |          |1 = CRC operation Enabled.
+     * |[1]     |CHKSINIT  |Checksum Initialization
+     * |        |          |0 = No effect.
+     * |        |          |1 = Initial checksum value by auto reload CRC_SEED register value to CRC_CHECKSUM register value.
+     * |        |          |Note: This bit will be cleared automatically.
+     * |[24]    |DATREV    |Write Data Bit Order Reverse
+     * |        |          |This bit is used to enable the bit order reverse function per byte for write data value in CRC_DAT register.
+     * |        |          |0 = Bit order reversed for CRC write data in Disabled.
+     * |        |          |1 = Bit order reversed for CRC write data in Enabled (per byte).
+     * |        |          |Note: If the write data is 0xAABBCCDD, the bit order reverse for CRC write data in is 0x55DD33BB.
+     * |[25]    |CHKSREV   |Checksum Bit Order Reverse
+     * |        |          |This bit is used to enable the bit order reverse function for checksum result in CRC_CHECKSUM register.
+     * |        |          |0 = Bit order reverse for CRC checksum Disabled.
+     * |        |          |1 = Bit order reverse for CRC checksum Enabled.
+     * |        |          |Note: If the checksum result is 0xDD7B0F2E, the bit order reverse for CRC checksum is 0x74F0DEBB.
+     * |[26]    |DATFMT    |Write Data 1's Complement
+     * |        |          |This bit is used to enable the 1's complement function for write data value in CRC_DAT register.
+     * |        |          |0 = 1's complement for CRC writes data in Disabled.
+     * |        |          |1 = 1's complement for CRC writes data in Enabled.
+     * |[27]    |CHKSFMT   |Checksum 1's Complement
+     * |        |          |This bit is used to enable the 1's complement function for checksum result in CRC_CHECKSUM register.
+     * |        |          |0 = 1's complement for CRC checksum Disabled.
+     * |        |          |1 = 1's complement for CRC checksum Enabled.
+     * |[29:28] |DATLEN    |CPU Write Data Length
+     * |        |          |This field indicates the write data length.
+     * |        |          |00 = Data length is 8-bit mode.
+     * |        |          |01 = Data length is 16-bit mode.
+     * |        |          |1x = Data length is 32-bit mode.
+     * |        |          |Note: When the write data length is 8-bit mode, the valid data in CRC_DAT register is only DATA[7:0] bits; if the write data length is 16-bit mode, the valid data in CRC_DAT register is only DATA[15:0]
+     * |[31:30] |CRCMODE   |CRC Polynomial Mode
+     * |        |          |This field indicates the CRC operation polynomial mode.
+     * |        |          |00 = CRC-CCITT Polynomial mode.
+     * |        |          |01 = CRC-8 Polynomial mode.
+     * |        |          |10 = CRC-16 Polynomial mode.
+     * |        |          |11 = CRC-32 Polynomial mode.
+     * @var CRC_T::DAT
+     * Offset: 0x04  CRC Write Data Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DATA      |CRC Write Data Bits
+     * |        |          |User can write data directly by CPU mode or use PDMA function to write data to this field to perform CRC operation.
+     * |        |          |Note: When the write data length is 8-bit mode, the valid data in CRC_DAT register is only DATA[7:0] bits; if the write data length is 16-bit mode, the valid data in CRC_DAT register is only DATA[15:0].
+     * @var CRC_T::SEED
+     * Offset: 0x08  CRC Seed Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SEED      |CRC Seed Value
+     * |        |          |This field indicates the CRC seed value.
+     * |        |          |Note: This field will be reloaded as checksum initial value (CRC_CHECKSUM register) after perform CHKSINIT (CRC_CTL[1]).
+     * @var CRC_T::CHECKSUM
+     * Offset: 0x0C  CRC Checksum Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CHECKSUM  |CRC Checksum Results
+     * |        |          |This field indicates the CRC checksum result.
+     */
+    __IO uint32_t CTL;                   /*!< [0x0000] CRC Control Register                                             */
+    __IO uint32_t DAT;                   /*!< [0x0004] CRC Write Data Register                                          */
+    __IO uint32_t SEED;                  /*!< [0x0008] CRC Seed Register                                                */
+    __I  uint32_t CHECKSUM;              /*!< [0x000c] CRC Checksum Register                                            */
+
+} CRC_T;
+
+/**
+    @addtogroup CRC_CONST CRC Bit Field Definition
+    Constant Definitions for CRC Controller
+@{ */
+
+#define CRC_CTL_CRCEN_Pos                (0)                                               /*!< CRC_T::CTL: CRCEN Position             */
+#define CRC_CTL_CRCEN_Msk                (0x1ul << CRC_CTL_CRCEN_Pos)                      /*!< CRC_T::CTL: CRCEN Mask                 */
+
+#define CRC_CTL_CHKSINIT_Pos             (1)                                               /*!< CRC_T::CTL: CHKSINIT Position          */
+#define CRC_CTL_CHKSINIT_Msk             (0x1ul << CRC_CTL_CHKSINIT_Pos)                   /*!< CRC_T::CTL: CHKSINIT Mask              */
+
+#define CRC_CTL_DATREV_Pos               (24)                                              /*!< CRC_T::CTL: DATREV Position            */
+#define CRC_CTL_DATREV_Msk               (0x1ul << CRC_CTL_DATREV_Pos)                     /*!< CRC_T::CTL: DATREV Mask                */
+
+#define CRC_CTL_CHKSREV_Pos              (25)                                              /*!< CRC_T::CTL: CHKSREV Position           */
+#define CRC_CTL_CHKSREV_Msk              (0x1ul << CRC_CTL_CHKSREV_Pos)                    /*!< CRC_T::CTL: CHKSREV Mask               */
+
+#define CRC_CTL_DATFMT_Pos               (26)                                              /*!< CRC_T::CTL: DATFMT Position            */
+#define CRC_CTL_DATFMT_Msk               (0x1ul << CRC_CTL_DATFMT_Pos)                     /*!< CRC_T::CTL: DATFMT Mask                */
+
+#define CRC_CTL_CHKSFMT_Pos              (27)                                              /*!< CRC_T::CTL: CHKSFMT Position           */
+#define CRC_CTL_CHKSFMT_Msk              (0x1ul << CRC_CTL_CHKSFMT_Pos)                    /*!< CRC_T::CTL: CHKSFMT Mask               */
+
+#define CRC_CTL_DATLEN_Pos               (28)                                              /*!< CRC_T::CTL: DATLEN Position            */
+#define CRC_CTL_DATLEN_Msk               (0x3ul << CRC_CTL_DATLEN_Pos)                     /*!< CRC_T::CTL: DATLEN Mask                */
+
+#define CRC_CTL_CRCMODE_Pos              (30)                                              /*!< CRC_T::CTL: CRCMODE Position           */
+#define CRC_CTL_CRCMODE_Msk              (0x3ul << CRC_CTL_CRCMODE_Pos)                    /*!< CRC_T::CTL: CRCMODE Mask               */
+
+#define CRC_DAT_DATA_Pos                 (0)                                               /*!< CRC_T::DAT: DATA Position              */
+#define CRC_DAT_DATA_Msk                 (0xfffffffful << CRC_DAT_DATA_Pos)                /*!< CRC_T::DAT: DATA Mask                  */
+
+#define CRC_SEED_SEED_Pos                (0)                                               /*!< CRC_T::SEED: SEED Position             */
+#define CRC_SEED_SEED_Msk                (0xfffffffful << CRC_SEED_SEED_Pos)               /*!< CRC_T::SEED: SEED Mask                 */
+
+#define CRC_CHECKSUM_CHECKSUM_Pos        (0)                                               /*!< CRC_T::CHECKSUM: CHECKSUM Position     */
+#define CRC_CHECKSUM_CHECKSUM_Msk        (0xfffffffful << CRC_CHECKSUM_CHECKSUM_Pos)       /*!< CRC_T::CHECKSUM: CHECKSUM Mask         */
+
+/**@}*/ /* CRC_CONST */
+/**@}*/ /* end of CRC register group */
+/**@}*/ /* end of REGISTER group */
+
+#if defined ( __CC_ARM   )
+#pragma no_anon_unions
+#endif
+
+#endif /* __CRC_REG_H__ */

+ 2219 - 0
dap_link/lib/free-dap/platform/m484/include/crypto_reg.h

@@ -0,0 +1,2219 @@
+/**************************************************************************//**
+ * @file     crypto_reg.h
+ * @version  V1.00
+ * @brief    CRYPTO register definition header file
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved.
+ *****************************************************************************/
+#ifndef __CRYPTO_REG_H__
+#define __CRYPTO_REG_H__
+
+#if defined ( __CC_ARM   )
+#pragma anon_unions
+#endif
+
+/**
+   @addtogroup REGISTER Control Register
+   @{
+*/
+
+/**
+    @addtogroup CRPT Cryptographic Accelerator(CRPT)
+    Memory Mapped Structure for Cryptographic Accelerator
+@{ */
+
+typedef struct
+{
+
+    /**
+     * @var CRPT_T::INTEN
+     * Offset: 0x00  Crypto Interrupt Enable Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |AESIEN    |AES Interrupt Enable Control
+     * |        |          |0 = AES interrupt Disabled.
+     * |        |          |1 = AES interrupt Enabled.
+     * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in AES_DMA_CNT is fed into the AES engine.
+     * |        |          |In Non-DMA mode, an interrupt will be triggered when the AES engine finishes the operation.
+     * |[1]     |AESEIEN   |AES Error Flag Enable Control
+     * |        |          |0 = AES error interrupt flag Disabled.
+     * |        |          |1 = AES error interrupt flag Enabled.
+     * |[8]     |TDESIEN   |TDES/DES Interrupt Enable Control
+     * |        |          |0 = TDES/DES interrupt Disabled.
+     * |        |          |1 = TDES/DES interrupt Enabled.
+     * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in TDES_DMA_CNT is fed into the TDES engine.
+     * |        |          |In Non-DMA mode, an interrupt will be triggered when the TDES engine finishes the operation.
+     * |[9]     |TDESEIEN  |TDES/DES Error Flag Enable Control
+     * |        |          |0 = TDES/DES error interrupt flag Disabled.
+     * |        |          |1 = TDES/DES error interrupt flag Enabled.
+     * |[16]    |PRNGIEN   |PRNG Interrupt Enable Control
+     * |        |          |0 = PRNG interrupt Disabled.
+     * |        |          |1 = PRNG interrupt Enabled.
+     * |[22]    |ECCIEN    |ECC Interrupt Enable Control
+     * |        |          |0 = ECC interrupt Disabled.
+     * |        |          |1 = ECC interrupt Enabled.
+     * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in ECC_DMA_CNT is fed into the ECC engine.
+     * |        |          |In Non-DMA mode, an interrupt will be triggered when the ECC engine finishes the operation.
+     * |[23]    |ECCEIEN   |ECC Error Interrupt Enable Control
+     * |        |          |0 = ECC error interrupt flag Disabled.
+     * |        |          |1 = ECC error interrupt flag Enabled.
+     * |[24]    |HMACIEN   |SHA/HMAC Interrupt Enable Control
+     * |        |          |0 = SHA/HMAC interrupt Disabled.
+     * |        |          |1 = SHA/HMAC interrupt Enabled.
+     * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in SHA _DMA_CNT is fed into the SHA/HMAC engine
+     * |        |          |In Non-DMA mode, an interrupt will be triggered when the SHA/HMAC engine finishes the operation.
+     * |[25]    |HMACEIEN  |SHA/HMAC Error Interrupt Enable Control
+     * |        |          |0 = SHA/HMAC error interrupt flag Disabled.
+     * |        |          |1 = SHA/HMAC error interrupt flag Enabled.
+     * @var CRPT_T::INTSTS
+     * Offset: 0x04  Crypto Interrupt Flag
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |AESIF     |AES Finish Interrupt Flag
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No AES interrupt.
+     * |        |          |= AES encryption/decryption done interrupt.
+     * |[1]     |AESEIF    |AES Error Flag
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No AES error.
+     * |        |          |1 = AES encryption/decryption done interrupt.
+     * |[8]     |TDESIF    |TDES/DES Finish Interrupt Flag
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No TDES/DES interrupt.
+     * |        |          |1 = TDES/DES encryption/decryption done interrupt.
+     * |[9]     |TDESEIF   |TDES/DES Error Flag
+     * |        |          |This bit includes the operating and setting error
+     * |        |          |The detailed flag is shown in the CRPT_TDES_STS register
+     * |        |          |This includes operating and setting error.
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No TDES/DES error.
+     * |        |          |1 = TDES/DES encryption/decryption error interrupt.
+     * |[16]    |PRNGIF    |PRNG Finish Interrupt Flag
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No PRNG interrupt.
+     * |        |          |1 = PRNG key generation done interrupt.
+     * |[22]    |ECCIF     |ECC Finish Interrupt Flag
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No ECC interrupt.
+     * |        |          |1 = ECC operation done interrupt.
+     * |[23]    |ECCEIF    |ECC Error Flag
+     * |        |          |This register includes operating and setting error. The detail flag is shown in CRPT_ECC_STS register.
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No ECC error.
+     * |        |          |1 = ECC error interrupt.
+     * |[24]    |HMACIF    |SHA/HMAC Finish Interrupt Flag
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No SHA/HMAC interrupt.
+     * |        |          |1 = SHA/HMAC operation done interrupt.
+     * |[25]    |HMACEIF   |SHA/HMAC Error Flag
+     * |        |          |This register includes operating and setting error. The detail flag is shown in CRPT_HMAC_STS register.
+     * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
+     * |        |          |0 = No SHA/HMAC error.
+     * |        |          |1 = SHA/HMAC error interrupt.
+     * @var CRPT_T::PRNG_CTL
+     * Offset: 0x08  PRNG Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |START     |Start PRNG Engine
+     * |        |          |0 = Stop PRNG engine.
+     * |        |          |1 = Generate new key and store the new key to register CRPT_PRNG_KEYx , which will be cleared when the new key is generated.
+     * |[1]     |SEEDRLD   |Reload New Seed for PRNG Engine
+     * |        |          |0 = Generating key based on the current seed.
+     * |        |          |1 = Reload new seed.
+     * |[3:2]   |KEYSZ     |PRNG Generate Key Size
+     * |        |          |00 = 64 bits.
+     * |        |          |01 = 128 bits.
+     * |        |          |10 = 192 bits.
+     * |        |          |11 = 256 bits.
+     * |[8]     |BUSY      |PRNG Busy (Read Only)
+     * |        |          |0 = PRNG engine is idle.
+     * |        |          |1 = Indicate that the PRNG engine is generating CRPT_PRNG_KEYx.
+     * @var CRPT_T::PRNG_SEED
+     * Offset: 0x0C  Seed for PRNG
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SEED      |Seed for PRNG (Write Only)
+     * |        |          |The bits store the seed for PRNG engine.
+     * @var CRPT_T::PRNG_KEY[8]
+     * Offset: 0x10 ~ 0x2C  PRNG Generated Key0 ~ Key7
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |Store PRNG Generated Key (Read Only)
+     * |        |          |The bits store the key that is generated by PRNG.
+     * @var CRPT_T::AES_FDBCK[4]
+     * Offset: 0x50 ~ 0x5C  AES Engine Output Feedback Data after Cryptographic Operation
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |FDBCK     |AES Feedback Information
+     * |        |          |The feedback value is 128 bits in size.
+     * |        |          |The AES engine uses the data from CRPT_AES_FDBCKx as the data inputted to CRPT_AESn_IVx for the next block in DMA cascade mode.
+     * |        |          |The AES engine outputs feedback information for IV in the next block's operation
+     * |        |          |Software can use this feedback information to implement more than four DMA channels
+     * |        |          |Software can store that feedback value temporarily
+     * |        |          |After switching back, fill the stored feedback value to this register in the same channel operation, and then continue the operation with the original setting.
+     * @var CRPT_T::TDES_FDBCKH
+     * Offset: 0x60  TDES/DES Engine Output Feedback High Word Data after Cryptographic Operation
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |FDBCK     |TDES/DES Feedback
+     * |        |          |The feedback value is 64 bits in size.
+     * |        |          |The TDES/DES engine uses the data from {CRPT_TDES_FDBCKH, CRPT_TDES_FDBCKL} as the data inputted to {CRPT_TDESn_IVH, CRPT_TDESn_IVL} for the next block in DMA cascade mode
+     * |        |          |The feedback register is for CBC, CFB, and OFB mode.
+     * |        |          |TDES/DES engine outputs feedback information for IV in the next block's operation
+     * |        |          |Software can use this feedback information to implement more than four DMA channels
+     * |        |          |Software can store that feedback value temporarily
+     * |        |          |After switching back, fill the stored feedback value to this register in the same channel operation
+     * |        |          |Then can continue the operation with the original setting.
+     * @var CRPT_T::TDES_FDBCKL
+     * Offset: 0x64  TDES/DES Engine Output Feedback Low Word Data after Cryptographic Operation
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |FDBCK     |TDES/DES Feedback
+     * |        |          |The feedback value is 64 bits in size.
+     * |        |          |The TDES/DES engine uses the data from {CRPT_TDES_FDBCKH, CRPT_TDES_FDBCKL} as the data inputted to {CRPT_TDESn_IVH, CRPT_TDESn_IVL} for the next block in DMA cascade mode
+     * |        |          |The feedback register is for CBC, CFB, and OFB mode.
+     * |        |          |TDES/DES engine outputs feedback information for IV in the next block's operation
+     * |        |          |Software can use this feedback information to implement more than four DMA channels
+     * |        |          |Software can store that feedback value temporarily
+     * |        |          |After switching back, fill the stored feedback value to this register in the same channel operation
+     * |        |          |Then can continue the operation with the original setting.
+     * @var CRPT_T::AES_CTL
+     * Offset: 0x100  AES Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |START     |AES Engine Start
+     * |        |          |0 = No effect.
+     * |        |          |1 = Start AES engine. BUSY flag will be set.
+     * |        |          |Note: This bit is always 0 when it's read back.
+     * |[1]     |STOP      |AES Engine Stop
+     * |        |          |0 = No effect.
+     * |        |          |1 = Stop AES engine.
+     * |        |          |Note: This bit is always 0 when it's read back.
+     * |[3:2]   |KEYSZ     |AES Key Size
+     * |        |          |This bit defines three different key size for AES operation.
+     * |        |          |2'b00 = 128 bits key.
+     * |        |          |2'b01 = 192 bits key.
+     * |        |          |2'b10 = 256 bits key.
+     * |        |          |2'b11 = Reserved.
+     * |        |          |If the AES accelerator is operating and the corresponding flag BUSY is 1, updating this register has no effect.
+     * |[5]     |DMALAST   |AES Last Block
+     * |        |          |In DMA mode, this bit must be set as beginning the last DMA cascade round.
+     * |        |          |In Non-DMA mode, this bit must be set when feeding in the last block of data in ECB, CBC, CTR, OFB, and CFB mode, and feeding in the (last-1) block of data at CBC-CS1, CBC-CS2, and CBC-CS3 mode.
+     * |        |          |This bit is always 0 when it's read back. Must be written again once START is triggered.
+     * |[6]     |DMACSCAD  |AES Engine DMA with Cascade Mode
+     * |        |          |0 = DMA cascade function Disabled.
+     * |        |          |1 = In DMA cascade mode, software can update DMA source address register, destination address register, and byte count register during a cascade operation, without finishing the accelerator operation.
+     * |[7]     |DMAEN     |AES Engine DMA Enable Control
+     * |        |          |0 = AES DMA engine Disabled.
+     * |        |          |The AES engine operates in Non-DMA mode, and gets data from the port CRPT_AES_DATIN.
+     * |        |          |1 = AES_DMA engine Enabled.
+     * |        |          |The AES engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.
+     * |[15:8]  |OPMODE    |AES Engine Operation Modes
+     * |        |          |0x00 = ECB (Electronic Codebook Mode)  0x01 = CBC (Cipher Block Chaining Mode).
+     * |        |          |0x02 = CFB (Cipher Feedback Mode).
+     * |        |          |0x03 = OFB (Output Feedback Mode).
+     * |        |          |0x04 = CTR (Counter Mode).
+     * |        |          |0x10 = CBC-CS1 (CBC Ciphertext-Stealing 1 Mode).
+     * |        |          |0x11 = CBC-CS2 (CBC Ciphertext-Stealing 2 Mode).
+     * |        |          |0x12 = CBC-CS3 (CBC Ciphertext-Stealing 3 Mode).
+     * |[16]    |ENCRPT    |AES Encryption/Decryption
+     * |        |          |0 = AES engine executes decryption operation.
+     * |        |          |1 = AES engine executes encryption operation.
+     * |[22]    |OUTSWAP   |AES Engine Output Data Swap
+     * |        |          |0 = Keep the original order.
+     * |        |          |1 = The order that CPU outputs data from the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
+     * |[23]    |INSWAP    |AES Engine Input Data Swap
+     * |        |          |0 = Keep the original order.
+     * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
+     * |[25:24] |CHANNEL   |AES Engine Working Channel
+     * |        |          |00 = Current control register setting is for channel 0.
+     * |        |          |01 = Current control register setting is for channel 1.
+     * |        |          |10 = Current control register setting is for channel 2.
+     * |        |          |11 = Current control register setting is for channel 3.
+     * |[30:26] |KEYUNPRT  |Unprotect Key
+     * |        |          |Writing 0 to CRPT_AES_CTL[31] and "10110" to CRPT_AES_CTL[30:26] is to unprotect the AES key.
+     * |        |          |The KEYUNPRT can be read and written
+     * |        |          |When it is written as the AES engine is operating, BUSY flag is 1, there would be no effect on KEYUNPRT.
+     * |[31]    |KEYPRT    |Protect Key
+     * |        |          |Read as a flag to reflect KEYPRT.
+     * |        |          |0 = No effect.
+     * |        |          |1 = Protect the content of the AES key from reading
+     * |        |          |The return value for reading CRPT_AESn_KEYx is not the content of the registers CRPT_AESn_KEYx
+     * |        |          |Once it is set, it can be cleared by asserting KEYUNPRT
+     * |        |          |And the key content would be cleared as well.
+     * @var CRPT_T::AES_STS
+     * Offset: 0x104  AES Engine Flag
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |BUSY      |AES Engine Busy
+     * |        |          |0 = The AES engine is idle or finished.
+     * |        |          |1 = The AES engine is under processing.
+     * |[8]     |INBUFEMPTY|AES Input Buffer Empty
+     * |        |          |0 = There are some data in input buffer waiting for the AES engine to process.
+     * |        |          |1 = AES input buffer is empty
+     * |        |          |Software needs to feed data to the AES engine
+     * |        |          |Otherwise, the AES engine will be pending to wait for input data.
+     * |[9]     |INBUFFULL |AES Input Buffer Full Flag
+     * |        |          |0 = AES input buffer is not full. Software can feed the data into the AES engine.
+     * |        |          |1 = AES input buffer is full
+     * |        |          |Software cannot feed data to the AES engine
+     * |        |          |Otherwise, the flag INBUFERR will be set to 1.
+     * |[10]    |INBUFERR  |AES Input Buffer Error Flag
+     * |        |          |0 = No error.
+     * |        |          |1 = Error happens during feeding data to the AES engine.
+     * |[12]    |CNTERR    |CRPT_AESn_CNT Setting Error
+     * |        |          |0 = No error in CRPT_AESn_CNT setting.
+     * |        |          |1 = CRPT_AESn_CNT is not a multiply of 16 in ECB, CBC, CFB, OFB, and CTR mode.
+     * |[16]    |OUTBUFEMPTY|AES Out Buffer Empty
+     * |        |          |0 = AES output buffer is not empty. There are some valid data kept in output buffer.
+     * |        |          |1 = AES output buffer is empty
+     * |        |          |Software cannot get data from CRPT_AES_DATOUT
+     * |        |          |Otherwise, the flag OUTBUFERR will be set to 1 since the output buffer is empty.
+     * |[17]    |OUTBUFFULL|AES Out Buffer Full Flag
+     * |        |          |0 = AES output buffer is not full.
+     * |        |          |1 = AES output buffer is full, and software needs to get data from CRPT_AES_DATOUT
+     * |        |          |Otherwise, the AES engine will be pending since the output buffer is full.
+     * |[18]    |OUTBUFERR |AES Out Buffer Error Flag
+     * |        |          |0 = No error.
+     * |        |          |1 = Error happens during getting the result from AES engine.
+     * |[20]    |BUSERR    |AES DMA Access Bus Error Flag
+     * |        |          |0 = No error.
+     * |        |          |1 = Bus error will stop DMA operation and AES engine.
+     * @var CRPT_T::AES_DATIN
+     * Offset: 0x108  AES Engine Data Input Port Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DATIN     |AES Engine Input Port
+     * |        |          |CPU feeds data to AES engine through this port by checking CRPT_AES_STS. Feed data as INBUFFULL is 0.
+     * @var CRPT_T::AES_DATOUT
+     * Offset: 0x10C  AES Engine Data Output Port Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DATOUT    |AES Engine Output Port
+     * |        |          |CPU gets results from the AES engine through this port by checking CRPT_AES_STS
+     * |        |          |Get data as OUTBUFEMPTY is 0.
+     * @var CRPT_T::AES0_KEY[8]
+     * Offset: 0x110 ~ 0x12C  AES Key Word 0 ~ 7 Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |CRPT_AESn_KEYx
+     * |        |          |The KEY keeps the security key for AES operation.
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..7.
+     * |        |          |The security key for AES accelerator can be 128, 192, or 256 bits and four, six, or eight 32-bit registers are to store each security key
+     * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.
+     * @var CRPT_T::AES0_IV[4]
+     * Offset: 0x130 ~ 0x13C  AES Initial Vector Word 0 ~ 3 Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |AES Initial Vectors
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..3.
+     * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode
+     * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.
+     * @var CRPT_T::AES0_SADDR
+     * Offset: 0x140  AES DMA Source Address Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |AES DMA Source Address
+     * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of SADDR are ignored.
+     * |        |          |SADDR can be read and written
+     * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of SADDR will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES0_DADDR
+     * Offset: 0x144  AES DMA Destination Address Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |AES DMA Destination Address
+     * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of DADDR are ignored.
+     * |        |          |DADDR can be read and written
+     * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of DADDR will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES0_CNT
+     * Offset: 0x148  AES Byte Count Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |AES Byte Count
+     * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode
+     * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_AESn_CNT can be read and written
+     * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of CRPT_AESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.
+     * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block
+     * |        |          |Operations that are less than one block will output unexpected result.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data
+     * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.
+     * @var CRPT_T::AES1_KEY[8]
+     * Offset: 0x14C ~ 0x168  AES Key Word 0 ~ 7 Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |CRPT_AESn_KEYx
+     * |        |          |The KEY keeps the security key for AES operation.
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..7.
+     * |        |          |The security key for AES accelerator can be 128, 192, or 256 bits and four, six, or eight 32-bit registers are to store each security key
+     * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.
+     * @var CRPT_T::AES1_IV[4]
+     * Offset: 0x16C ~ 0x178  AES Initial Vector Word 0 ~ 3 Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |AES Initial Vectors
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..3.
+     * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode
+     * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.
+     * @var CRPT_T::AES1_SADDR
+     * Offset: 0x17C  AES DMA Source Address Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |AES DMA Source Address
+     * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of SADDR are ignored.
+     * |        |          |SADDR can be read and written
+     * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of SADDR will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES1_DADDR
+     * Offset: 0x180  AES DMA Destination Address Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |AES DMA Destination Address
+     * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of DADDR are ignored.
+     * |        |          |DADDR can be read and written
+     * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of DADDR will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES1_CNT
+     * Offset: 0x184  AES Byte Count Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |AES Byte Count
+     * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode
+     * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_AESn_CNT can be read and written
+     * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of CRPT_AESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.
+     * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block
+     * |        |          |Operations that are less than one block will output unexpected result.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data
+     * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.
+     * @var CRPT_T::AES2_KEY[8]
+     * Offset: 0x188 ~ 0x1A4  AES Key Word 0 ~ 7 Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |CRPT_AESn_KEYx
+     * |        |          |The KEY keeps the security key for AES operation.
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..7.
+     * |        |          |The security key for AES accelerator can be 128, 192, or 256 bits and four, six, or eight 32-bit registers are to store each security key
+     * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.
+     * @var CRPT_T::AES2_IV[4]
+     * Offset: 0x1A8 ~ 0x1B4  AES Initial Vector Word 0 ~ 3 Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |AES Initial Vectors
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..3.
+     * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode
+     * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.
+     * @var CRPT_T::AES2_SADDR
+     * Offset: 0x1B8  AES DMA Source Address Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |AES DMA Source Address
+     * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of SADDR are ignored.
+     * |        |          |SADDR can be read and written
+     * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of SADDR will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES2_DADDR
+     * Offset: 0x1BC  AES DMA Destination Address Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |AES DMA Destination Address
+     * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of DADDR are ignored.
+     * |        |          |DADDR can be read and written
+     * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of DADDR will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES2_CNT
+     * Offset: 0x1C0  AES Byte Count Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |AES Byte Count
+     * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode
+     * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_AESn_CNT can be read and written
+     * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of CRPT_AESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.
+     * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block
+     * |        |          |Operations that are less than one block will output unexpected result.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data
+     * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.
+     * @var CRPT_T::AES3_KEY[8]
+     * Offset: 0x1C4 ~ 0x1E0  AES Key Word 0 ~ 7 Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |CRPT_AESn_KEYx
+     * |        |          |The KEY keeps the security key for AES operation.
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..7.
+     * |        |          |The security key for AES accelerator can be 128, 192, or 256 bits and four, six, or eight 32-bit registers are to store each security key
+     * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation
+     * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.
+     * @var CRPT_T::AES3_IV[4]
+     * Offset: 0x1E4 ~ 0x1F0  AES Initial Vector Word 0 ~ 3 Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |AES Initial Vectors
+     * |        |          |n = 0, 1..3.
+     * |        |          |x = 0, 1..3.
+     * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode
+     * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.
+     * @var CRPT_T::AES3_SADDR
+     * Offset: 0x1F4  AES DMA Source Address Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |AES DMA Source Address
+     * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of SADDR are ignored.
+     * |        |          |SADDR can be read and written
+     * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of SADDR will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES3_DADDR
+     * Offset: 0x1F8  AES DMA Destination Address Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |AES DMA Destination Address
+     * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of DADDR are ignored.
+     * |        |          |DADDR can be read and written
+     * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of DADDR will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next AES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.
+     * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.
+     * @var CRPT_T::AES3_CNT
+     * Offset: 0x1FC  AES Byte Count Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |AES Byte Count
+     * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode
+     * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_AESn_CNT can be read and written
+     * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation
+     * |        |          |But the value of CRPT_AESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.
+     * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block
+     * |        |          |Operations that are less than one block will output unexpected result.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data
+     * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.
+     * @var CRPT_T::TDES_CTL
+     * Offset: 0x200  TDES/DES Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |START     |TDES/DES Engine Start
+     * |        |          |0 = No effect.
+     * |        |          |1 = Start TDES/DES engine. The flag BUSY would be set.
+     * |        |          |Note: The bit is always 0 when it's read back.
+     * |[1]     |STOP      |TDES/DES Engine Stop
+     * |        |          |0 = No effect.
+     * |        |          |1 = Stop TDES/DES engine.
+     * |        |          |Note: The bit is always 0 when it's read back.
+     * |[2]     |TMODE     |TDES/DES Engine Operating Mode
+     * |        |          |0 = Set DES mode for TDES/DES engine.
+     * |        |          |1 = Set Triple DES mode for TDES/DES engine.
+     * |[3]     |3KEYS     |TDES/DES Key Number
+     * |        |          |0 = Select KEY1 and KEY2 in TDES/DES engine.
+     * |        |          |1 = Triple keys in TDES/DES engine Enabled.
+     * |[5]     |DMALAST   |TDES/DES Engine Start for the Last Block
+     * |        |          |In DMA mode, this bit must be set as beginning the last DMA cascade round.
+     * |        |          |In Non-DMA mode, this bit must be set as feeding in last block of data.
+     * |[6]     |DMACSCAD  |TDES/DES Engine DMA with Cascade Mode
+     * |        |          |0 = DMA cascade function Disabled.
+     * |        |          |1 = In DMA Cascade mode, software can update DMA source address register, destination address register, and byte count register during a cascade operation, without finishing the accelerator operation.
+     * |[7]     |DMAEN     |TDES/DES Engine DMA Enable Control
+     * |        |          |0 = TDES_DMA engine Disabled.
+     * |        |          |TDES engine operates in Non-DMA mode, and get data from the port CRPT_TDES_DATIN.
+     * |        |          |1 = TDES_DMA engine Enabled.
+     * |        |          |TDES engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.
+     * |[10:8]  |OPMODE    |TDES/DES Engine Operation Mode
+     * |        |          |0x00 = ECB (Electronic Codebook Mode).
+     * |        |          |0x01 = CBC (Cipher Block Chaining Mode).
+     * |        |          |0x02 = CFB (Cipher Feedback Mode).
+     * |        |          |0x03 = OFB (Output Feedback Mode).
+     * |        |          |0x04 = CTR (Counter Mode).
+     * |        |          |Others = CTR (Counter Mode).
+     * |[16]    |ENCRPT    |TDES/DES Encryption/Decryption
+     * |        |          |0 = TDES engine executes decryption operation.
+     * |        |          |1 = TDES engine executes encryption operation.
+     * |[21]    |BLKSWAP   |TDES/DES Engine Block Double Word Endian Swap
+     * |        |          |0 = Keep the original order, e.g. {WORD_H, WORD_L}.
+     * |        |          |1 = When this bit is set to 1, the TDES engine would exchange high and low word in the sequence {WORD_L, WORD_H}.
+     * |[22]    |OUTSWAP   |TDES/DES Engine Output Data Swap
+     * |        |          |0 = Keep the original order.
+     * |        |          |1 = The order that CPU outputs data from the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
+     * |[23]    |INSWAP    |TDES/DES Engine Input Data Swap
+     * |        |          |0 = Keep the original order.
+     * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
+     * |[25:24] |CHANNEL   |TDES/DES Engine Working Channel
+     * |        |          |00 = Current control register setting is for channel 0.
+     * |        |          |01 = Current control register setting is for channel 1.
+     * |        |          |10 = Current control register setting is for channel 2.
+     * |        |          |11 = Current control register setting is for channel 3.
+     * |[30:26] |KEYUNPRT  |Unprotect Key
+     * |        |          |Writing 0 to CRPT_TDES_CTL [31] and "10110" to CRPT_TDES_CTL [30:26] is to unprotect TDES key.
+     * |        |          |The KEYUNPRT can be read and written
+     * |        |          |When it is written as the TDES engine is operating, BUSY flag is 1, there would be no effect on KEYUNPRT.
+     * |[31]    |KEYPRT    |Protect Key
+     * |        |          |Read as a flag to reflect KEYPRT.
+     * |        |          |0 = No effect.
+     * |        |          |1 = This bit is to protect the content of TDES key from reading
+     * |        |          |The return value for reading CRPT_ TDESn_KEYxH/L is not the content in the registers CRPT_ TDESn_KEYxH/L
+     * |        |          |Once it is set, it can be cleared by asserting KEYUNPRT
+     * |        |          |The key content would be cleared as well.
+     * @var CRPT_T::TDES_STS
+     * Offset: 0x204  TDES/DES Engine Flag
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |BUSY      |TDES/DES Engine Busy
+     * |        |          |0 = TDES/DES engine is idle or finished.
+     * |        |          |1 = TDES/DES engine is under processing.
+     * |[8]     |INBUFEMPTY|TDES/DES in Buffer Empty
+     * |        |          |0 = There are some data in input buffer waiting for the TDES/DES engine to process.
+     * |        |          |1 = TDES/DES input buffer is empty
+     * |        |          |Software needs to feed data to the TDES/DES engine
+     * |        |          |Otherwise, the TDES/DES engine will be pending to wait for input data.
+     * |[9]     |INBUFFULL |TDES/DES in Buffer Full Flag
+     * |        |          |0 = TDES/DES input buffer is not full. Software can feed the data into the TDES/DES engine.
+     * |        |          |1 = TDES input buffer is full
+     * |        |          |Software cannot feed data to the TDES/DES engine
+     * |        |          |Otherwise, the flag INBUFERR will be set to 1.
+     * |[10]    |INBUFERR  |TDES/DES in Buffer Error Flag
+     * |        |          |0 = No error.
+     * |        |          |1 = Error happens during feeding data to the TDES/DES engine.
+     * |[16]    |OUTBUFEMPTY|TDES/DES Output Buffer Empty Flag
+     * |        |          |0 = TDES/DES output buffer is not empty. There are some valid data kept in output buffer.
+     * |        |          |1 = TDES/DES output buffer is empty, Software cannot get data from TDES_DATA_OUT
+     * |        |          |Otherwise the flag OUTBUFERR will be set to 1, since output buffer is empty.
+     * |[17]    |OUTBUFFULL|TDES/DES Output Buffer Full Flag
+     * |        |          |0 = TDES/DES output buffer is not full.
+     * |        |          |1 = TDES/DES output buffer is full, and software needs to get data from TDES_DATA_OUT
+     * |        |          |Otherwise, the TDES/DES engine will be pending since output buffer is full.
+     * |[18]    |OUTBUFERR |TDES/DES Out Buffer Error Flag
+     * |        |          |0 = No error.
+     * |        |          |1 = Error happens during getting test result from TDES/DES engine.
+     * |[20]    |BUSERR    |TDES/DES DMA Access Bus Error Flag
+     * |        |          |0 = No error.
+     * |        |          |1 = Bus error will stop DMA operation and TDES/DES engine.
+     * @var CRPT_T::TDES0_KEY1H
+     * Offset: 0x208  TDES/DES Key 1 High Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES0_KEY1L
+     * Offset: 0x20C  TDES/DES Key 1 Low Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES0_KEY2H
+     * Offset: 0x210  TDES Key 2 High Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES0_KEY2L
+     * Offset: 0x214  TDES Key 2 Low Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES0_KEY3H
+     * Offset: 0x218  TDES Key 3 High Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES0_KEY3L
+     * Offset: 0x21C  TDES Key 3 Low Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES0_IVH
+     * Offset: 0x220  TDES/DES Initial Vector High Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector High Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES0_IVL
+     * Offset: 0x224  TDES/DES Initial Vector Low Word Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector Low Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES0_SA
+     * Offset: 0x228  TDES/DES DMA Source Address Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |TDES/DES DMA Source Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.
+     * |        |          |CRPT_TDESn_SA can be read and written
+     * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_SA will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.
+     * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES0_DA
+     * Offset: 0x22C  TDES/DES DMA Destination Address Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |TDES/DES DMA Destination Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.
+     * |        |          |CRPT_TDESn_DA can be read and written
+     * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_DA will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.
+     * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES0_CNT
+     * Offset: 0x230  TDES/DES Byte Count Register for Channel 0
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |TDES/DES Byte Count
+     * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode
+     * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_TDESn_CNT can be read and written
+     * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.
+     * @var CRPT_T::TDES_DATIN
+     * Offset: 0x234  TDES/DES Engine Input data Word Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DATIN     |TDES/DES Engine Input Port
+     * |        |          |CPU feeds data to TDES/DES engine through this port by checking CRPT_TDES_STS
+     * |        |          |Feed data as INBUFFULL is 0.
+     * @var CRPT_T::TDES_DATOUT
+     * Offset: 0x238  TDES/DES Engine Output data Word Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DATOUT    |TDES/DES Engine Output Port
+     * |        |          |CPU gets result from the TDES/DES engine through this port by checking CRPT_TDES_STS
+     * |        |          |Get data as OUTBUFEMPTY is 0.
+     * @var CRPT_T::TDES1_KEY1H
+     * Offset: 0x248  TDES/DES Key 1 High Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES1_KEY1L
+     * Offset: 0x24C  TDES/DES Key 1 Low Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES1_KEY2H
+     * Offset: 0x250  TDES Key 2 High Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES1_KEY2L
+     * Offset: 0x254  TDES Key 2 Low Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES1_KEY3H
+     * Offset: 0x258  TDES Key 3 High Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES1_KEY3L
+     * Offset: 0x25C  TDES Key 3 Low Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES1_IVH
+     * Offset: 0x260  TDES/DES Initial Vector High Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector High Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES1_IVL
+     * Offset: 0x264  TDES/DES Initial Vector Low Word Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector Low Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES1_SA
+     * Offset: 0x268  TDES/DES DMA Source Address Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |TDES/DES DMA Source Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.
+     * |        |          |CRPT_TDESn_SA can be read and written
+     * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_SA will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.
+     * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES1_DA
+     * Offset: 0x26C  TDES/DES DMA Destination Address Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |TDES/DES DMA Destination Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.
+     * |        |          |CRPT_TDESn_DA can be read and written
+     * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_DA will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.
+     * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES1_CNT
+     * Offset: 0x270  TDES/DES Byte Count Register for Channel 1
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |TDES/DES Byte Count
+     * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode
+     * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_TDESn_CNT can be read and written
+     * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.
+     * @var CRPT_T::TDES2_KEY1H
+     * Offset: 0x288  TDES/DES Key 1 High Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES2_KEY1L
+     * Offset: 0x28C  TDES/DES Key 1 Low Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES2_KEY2H
+     * Offset: 0x290  TDES Key 2 High Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES2_KEY2L
+     * Offset: 0x294  TDES Key 2 Low Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES2_KEY3H
+     * Offset: 0x298  TDES Key 3 High Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES2_KEY3L
+     * Offset: 0x29C  TDES Key 3 Low Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES2_IVH
+     * Offset: 0x2A0  TDES/DES Initial Vector High Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector High Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES2_IVL
+     * Offset: 0x2A4  TDES/DES Initial Vector Low Word Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector Low Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES2_SA
+     * Offset: 0x2A8  TDES/DES DMA Source Address Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |TDES/DES DMA Source Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.
+     * |        |          |CRPT_TDESn_SA can be read and written
+     * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_SA will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.
+     * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES2_DA
+     * Offset: 0x2AC  TDES/DES DMA Destination Address Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |TDES/DES DMA Destination Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.
+     * |        |          |CRPT_TDESn_DA can be read and written
+     * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_DA will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.
+     * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES2_CNT
+     * Offset: 0x2B0  TDES/DES Byte Count Register for Channel 2
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |TDES/DES Byte Count
+     * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode
+     * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_TDESn_CNT can be read and written
+     * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.
+     * @var CRPT_T::TDES3_KEY1H
+     * Offset: 0x2C8  TDES/DES Key 1 High Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES3_KEY1L
+     * Offset: 0x2CC  TDES/DES Key 1 Low Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 1 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES3_KEY2H
+     * Offset: 0x2D0  TDES Key 2 High Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES3_KEY2L
+     * Offset: 0x2D4  TDES Key 2 Low Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 2 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES3_KEY3H
+     * Offset: 0x2D8  TDES Key 3 High Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 High Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES3_KEY3L
+     * Offset: 0x2DC  TDES Key 3 Low Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEY       |TDES/DES Key 3 Low Word
+     * |        |          |The key registers for TDES/DES algorithm calculation
+     * |        |          |The security key for the TDES/DES accelerator is 64 bits
+     * |        |          |Thus, it needs two 32-bit registers to store a security key
+     * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].
+     * @var CRPT_T::TDES3_IVH
+     * Offset: 0x2E0  TDES/DES Initial Vector High Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector High Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES3_IVL
+     * Offset: 0x2E4  TDES/DES Initial Vector Low Word Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |IV        |TDES/DES Initial Vector Low Word
+     * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode
+     * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.
+     * @var CRPT_T::TDES3_SA
+     * Offset: 0x2E8  TDES/DES DMA Source Address Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |TDES/DES DMA Source Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.
+     * |        |          |CRPT_TDESn_SA can be read and written
+     * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_SA will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.
+     * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES3_DA
+     * Offset: 0x2EC  TDES/DES DMA Destination Address Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |TDES/DES DMA Destination Address
+     * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO
+     * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored
+     * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.
+     * |        |          |CRPT_TDESn_DA can be read and written
+     * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_DA will be updated later on
+     * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.
+     * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.
+     * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.
+     * @var CRPT_T::TDES3_CNT
+     * Offset: 0x2F0  TDES/DES Byte Count Register for Channel 3
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CNT       |TDES/DES Byte Count
+     * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode
+     * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_TDESn_CNT can be read and written
+     * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation
+     * |        |          |But the value of CRPT_TDESn_CNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.
+     * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.
+     * @var CRPT_T::HMAC_CTL
+     * Offset: 0x300  SHA/HMAC Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |START     |SHA/HMAC Engine Start
+     * |        |          |0 = No effect.
+     * |        |          |1 = Start SHA/HMAC engine. BUSY flag will be set.
+     * |        |          |This bit is always 0 when it's read back.
+     * |[1]     |STOP      |SHA/HMAC Engine Stop
+     * |        |          |0 = No effect.
+     * |        |          |1 = Stop SHA/HMAC engine.
+     * |        |          |This bit is always 0 when it's read back.
+     * |[4]     |HMACEN    |HMAC_SHA Engine Operating Mode
+     * |        |          |0 = execute SHA function.
+     * |        |          |1 = execute HMAC function.
+     * |[5]     |DMALAST   |SHA/HMAC Last Block
+     * |        |          |This bit must be set as feeding in last byte of data.
+     * |[7]     |DMAEN     |SHA/HMAC Engine DMA Enable Control
+     * |        |          |0 = SHA/HMAC DMA engine Disabled.
+     * |        |          |SHA/HMAC engine operates in Non-DMA mode, and gets data from the port CRPT_HMAC_DATIN.
+     * |        |          |1 = SHA/HMAC DMA engine Enabled.
+     * |        |          |SHA/HMAC engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.
+     * |[10:8]  |OPMODE    |SHA/HMAC Engine Operation Modes
+     * |        |          |0x0xx: SHA160
+     * |        |          |0x100: SHA256
+     * |        |          |0x101: SHA224
+     * |        |          |0x110: SHA512
+     * |        |          |0x111: SHA384
+     * |        |          |These bits can be read and written. But writing to them wouldn't take effect as BUSY is 1.
+     * |[22]    |OUTSWAP   |SHA/HMAC Engine Output Data Swap
+     * |        |          |0 = Keep the original order.
+     * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
+     * |[23]    |INSWAP    |SHA/HMAC Engine Input Data Swap
+     * |        |          |0 = Keep the original order.
+     * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
+     * @var CRPT_T::HMAC_STS
+     * Offset: 0x304  SHA/HMAC Status Flag
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |BUSY      |SHA/HMAC Engine Busy
+     * |        |          |0 = SHA/HMAC engine is idle or finished.
+     * |        |          |1 = SHA/HMAC engine is busy.
+     * |[1]     |DMABUSY   |SHA/HMAC Engine DMA Busy Flag
+     * |        |          |0 = SHA/HMAC DMA engine is idle or finished.
+     * |        |          |1 = SHA/HMAC DMA engine is busy.
+     * |[8]     |DMAERR    |SHA/HMAC Engine DMA Error Flag
+     * |        |          |0 = Show the SHA/HMAC engine access normal.
+     * |        |          |1 = Show the SHA/HMAC engine access error.
+     * |[16]    |DATINREQ  |SHA/HMAC Non-DMA Mode Data Input Request
+     * |        |          |0 = No effect.
+     * |        |          |1 = Request SHA/HMAC Non-DMA mode data input.
+     * @var CRPT_T::HMAC_DGST[16]
+     * Offset: 0x308 ~ 0x344  SHA/HMAC Digest Message 0 ~ 15
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DGST      |SHA/HMAC Digest Message Output Register
+     * |        |          |For SHA-160, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST4.
+     * |        |          |For SHA-224, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST6.
+     * |        |          |For SHA-256, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST7.
+     * |        |          |For SHA-384, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST11.
+     * |        |          |For SHA-512, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST15.
+     * @var CRPT_T::HMAC_KEYCNT
+     * Offset: 0x348  SHA/HMAC Key Byte Count Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |KEYCNT    |SHA/HMAC Key Byte Count
+     * |        |          |The CRPT_HMAC_KEYCNT keeps the byte count of key that SHA/HMAC engine operates
+     * |        |          |The register is 32-bit and the maximum byte count is 4G bytes
+     * |        |          |It can be read and written.
+     * |        |          |Writing to the register CRPT_HMAC_KEYCNT as the SHA/HMAC accelerator operating doesn't affect the current SHA/HMAC operation
+     * |        |          |But the value of CRPT_SHA _KEYCNT will be updated later on
+     * |        |          |Consequently, software can prepare the key count for the next SHA/HMAC operation.
+     * @var CRPT_T::HMAC_SADDR
+     * Offset: 0x34C  SHA/HMAC DMA Source Address Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |SHA/HMAC DMA Source Address
+     * |        |          |The SHA/HMAC accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO
+     * |        |          |The CRPT_HMAC_SADDR keeps the source address of the data buffer where the source text is stored
+     * |        |          |Based on the source address, the SHA/HMAC accelerator can read the plain text from system memory and do SHA/HMAC operation
+     * |        |          |The start of source address should be located at word boundary
+     * |        |          |In other words, bit 1 and 0 of CRPT_HMAC_SADDR are ignored.
+     * |        |          |CRPT_HMAC_SADDR can be read and written
+     * |        |          |Writing to CRPT_HMAC_SADDR while the SHA/HMAC accelerator is operating doesn't affect the current SHA/HMAC operation
+     * |        |          |But the value of CRPT_HMAC_SADDR will be updated later on
+     * |        |          |Consequently, software can prepare the DMA source address for the next SHA/HMAC operation.
+     * |        |          |In DMA mode, software can update the next CRPT_HMAC_SADDR before triggering START.
+     * |        |          |CRPT_HMAC_SADDR and CRPT_HMAC_DADDR can be the same in the value.
+     * @var CRPT_T::HMAC_DMACNT
+     * Offset: 0x350  SHA/HMAC Byte Count Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DMACNT    |SHA/HMAC Operation Byte Count
+     * |        |          |The CRPT_HMAC_DMACNT keeps the byte count of source text that is for the SHA/HMAC engine operating in DMA mode
+     * |        |          |The CRPT_HMAC_DMACNT is 32-bit and the maximum of byte count is 4G bytes.
+     * |        |          |CRPT_HMAC_DMACNT can be read and written
+     * |        |          |Writing to CRPT_HMAC_DMACNT while the SHA/HMAC accelerator is operating doesn't affect the current SHA/HMAC operation
+     * |        |          |But the value of CRPT_HMAC_DMACNT will be updated later on
+     * |        |          |Consequently, software can prepare the byte count of data for the next SHA/HMAC operation.
+     * |        |          |In Non-DMA mode, CRPT_HMAC_DMACNT must be set as the byte count of the last block before feeding in the last block of data.
+     * @var CRPT_T::HMAC_DATIN
+     * Offset: 0x354  SHA/HMAC Engine Non-DMA Mode Data Input Port Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DATIN     |SHA/HMAC Engine Input Port
+     * |        |          |CPU feeds data to SHA/HMAC engine through this port by checking CRPT_HMAC_STS
+     * |        |          |Feed data as DATINREQ is 1.
+     * @var CRPT_T::ECC_CTL
+     * Offset: 0x800  ECC Control Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |START     |ECC Accelerator Start
+     * |        |          |0 = No effect.
+     * |        |          |1 = Start ECC accelerator. BUSY flag will be set.
+     * |        |          |This bit is always 0 when it's read back.
+     * |        |          |ECC accelerator will ignore this START signal when BUSY flag is 1.
+     * |[1]     |STOP      |ECC Accelerator Stop
+     * |        |          |0 = No effect.
+     * |        |          |1 = Abort ECC accelerator and make it into idle state.
+     * |        |          |This bit is always 0 when it's read back.
+     * |        |          |Remember to clear ECC interrupt flag after stopping ECC accelerator.
+     * |[7]     |DMAEN     |ECC Accelerator DMA Enable Control
+     * |        |          |0 = ECC DMA engine Disabled.
+     * |        |          |1 = ECC DMA engine Enabled.
+     * |        |          |Only when START and DMAEN are 1, ECC DMA engine will be active
+     * |[8]     |FSEL      |Field Selection
+     * |        |          |0 = Binary Field (GF(2^m)).
+     * |        |          |1 = Prime Field (GF(p)).
+     * |[10:9]  |ECCOP     |Point Operation for BF and PF
+     * |        |          |00 = Point multiplication :.
+     * |        |          |(POINTX1, POINTY1) = SCALARK * (POINTX1, POINTY1).
+     * |        |          |01 = Modulus operation : choose by MODOP (CRPT_ECC_CTL[12:11]).
+     * |        |          |10 = Point addition :.
+     * |        |          |(POINTX1, POINTY1) = (POINTX1, POINTY1) +.
+     * |        |          |(POINTX2, POINTY2)
+     * |        |          |11 = Point doubling :.
+     * |        |          |(POINTX1, POINTY1) = 2 * (POINTX1, POINTY1).
+     * |        |          |Besides above three input data, point operations still need the parameters of elliptic curve (CURVEA, CURVEB, CURVEN and CURVEM) as shown in Figure 6.27-11
+     * |[12:11] |MODOP     |Modulus Operation for PF
+     * |        |          |00 = Division :.
+     * |        |          |POINTX1 = (POINTY1 / POINTX1) % CURVEN.
+     * |        |          |01 = Multiplication :.
+     * |        |          |POINTX1 = (POINTX1 * POINTY1) % CURVEN.
+     * |        |          |10 = Addition :.
+     * |        |          |POINTX1 = (POINTX1 + POINTY1) % CURVEN.
+     * |        |          |11 = Subtraction :.
+     * |        |          |POINTX1 = (POINTX1 - POINTY1) % CURVEN.
+     * |        |          |MODOP is active only when ECCOP = 01.
+     * |[16]    |LDP1      |The Control Signal of Register for the X and Y Coordinate of the First Point (POINTX1, POINTY1)
+     * |        |          |0 = The register for POINTX1 and POINTY1 is not modified by DMA or user.
+     * |        |          |1 = The register for POINTX1 and POINTY1 is modified by DMA or user.
+     * |[17]    |LDP2      |The Control Signal of Register for the X and Y Coordinate of the Second Point (POINTX2, POINTY2)
+     * |        |          |0 = The register for POINTX2 and POINTY2 is not modified by DMA or user.
+     * |        |          |1 = The register for POINTX2 and POINTY2 is modified by DMA or user.
+     * |[18]    |LDA       |The Control Signal of Register for the Parameter CURVEA of Elliptic Curve
+     * |        |          |0 = The register for CURVEA is not modified by DMA or user.
+     * |        |          |1 = The register for CURVEA is modified by DMA or user.
+     * |[19]    |LDB       |The Control Signal of Register for the Parameter CURVEB of Elliptic Curve
+     * |        |          |0 = The register for CURVEB is not modified by DMA or user.
+     * |        |          |1 = The register for CURVEB is modified by DMA or user.
+     * |[20]    |LDN       |The Control Signal of Register for the Parameter CURVEN of Elliptic Curve
+     * |        |          |0 = The register for CURVEN is not modified by DMA or user.
+     * |        |          |1 = The register for CURVEN is modified by DMA or user.
+     * |[21]    |LDK       |The Control Signal of Register for SCALARK
+     * |        |          |0 = The register for SCALARK is not modified by DMA or user.
+     * |        |          |1 = The register for SCALARK is modified by DMA or user.
+     * |[31:22] |CURVEM    |The key length of elliptic curve.
+     * @var CRPT_T::ECC_STS
+     * Offset: 0x804  ECC Status Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[0]     |BUSY      |ECC Accelerator Busy Flag
+     * |        |          |0 = The ECC accelerator is idle or finished.
+     * |        |          |1 = The ECC accelerator is under processing and protects all registers.
+     * |        |          |Remember to clear ECC interrupt flag after ECC accelerator finished
+     * |[1]     |DMABUSY   |ECC DMA Busy Flag
+     * |        |          |0 = ECC DMA is idle or finished.
+     * |        |          |1 = ECC DMA is busy.
+     * |[16]    |BUSERR    |ECC DMA Access Bus Error Flag
+     * |        |          |0 = No error.
+     * |        |          |1 = Bus error will stop DMA operation and ECC accelerator.
+     * @var CRPT_T::ECC_X1[18]
+     * Offset: 0x808 ~ 0x84C  ECC The X-coordinate word 0 ~ 17 of the first point
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |POINTX1   |ECC the x-coordinate Value of the First Point (POINTX1)
+     * |        |          |For B-163 or K-163, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_05
+     * |        |          |For B-233 or K-233, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_07
+     * |        |          |For B-283 or K-283, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_08
+     * |        |          |For B-409 or K-409, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_12
+     * |        |          |For B-571 or K-571, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_17
+     * |        |          |For P-192, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_05
+     * |        |          |For P-224, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_06
+     * |        |          |For P-256, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_07
+     * |        |          |For P-384, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_11
+     * |        |          |For P-521, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_16
+     * @var CRPT_T::ECC_Y1[18]
+     * Offset: 0x850 ~ 0x894  ECC The Y-coordinate word 0 ~ 17 of the first point
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |POINTY1   |ECC the Y-coordinate Value of the First Point (POINTY1)
+     * |        |          |For B-163 or K-163, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_05
+     * |        |          |For B-233 or K-233, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_07
+     * |        |          |For B-283 or K-283, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_08
+     * |        |          |For B-409 or K-409, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_12
+     * |        |          |For B-571 or K-571, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_17
+     * |        |          |For P-192, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_05
+     * |        |          |For P-224, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_06
+     * |        |          |For P-256, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_07
+     * |        |          |For P-384, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_11
+     * |        |          |For P-521, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_16
+     * @var CRPT_T::ECC_X2[18]
+     * Offset: 0x898 ~ 0x8DC  ECC The X-coordinate word 0 ~ 17 of the second point
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |POINTX2   |ECC the x-coordinate Value of the Second Point (POINTX2)
+     * |        |          |For B-163 or K-163, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_05
+     * |        |          |For B-233 or K-233, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_07
+     * |        |          |For B-283 or K-283, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_08
+     * |        |          |For B-409 or K-409, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_12
+     * |        |          |For B-571 or K-571, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_17
+     * |        |          |For P-192, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_05
+     * |        |          |For P-224, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_06
+     * |        |          |For P-256, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_07
+     * |        |          |For P-384, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_11
+     * |        |          |For P-521, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_16
+     * @var CRPT_T::ECC_Y2[18]
+     * Offset: 0x8E0 ~ 0x924  ECC The Y-coordinate word 0 ~ 17 of the second point
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |POINTY2   |ECC the Y-coordinate Value of the Second Point (POINTY2)
+     * |        |          |For B-163 or K-163, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_05
+     * |        |          |For B-233 or K-233, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_07
+     * |        |          |For B-283 or K-283, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_08
+     * |        |          |For B-409 or K-409, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_12
+     * |        |          |For B-571 or K-571, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_17
+     * |        |          |For P-192, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_05
+     * |        |          |For P-224, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_06
+     * |        |          |For P-256, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_07
+     * |        |          |For P-384, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_11
+     * |        |          |For P-521, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_16
+     * @var CRPT_T::ECC_A[18]
+     * Offset: 0x928 ~ 0x96C  ECC The parameter CURVEA word 0 ~ 17 of elliptic curve
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CURVEA    |ECC the Parameter CURVEA Value of Elliptic Curve (CURVEA)
+     * |        |          |The formula of elliptic curve is y2=x3+CURVEA*x+CURVEB in GF(p) and y2+x*y=x3+CURVEA*x2+CURVEB in GF(2^m).
+     * |        |          |For B-163 or K-163, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_05
+     * |        |          |For B-233 or K-233, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_07
+     * |        |          |For B-283 or K-283, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_08
+     * |        |          |For B-409 or K-409, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_12
+     * |        |          |For B-571 or K-571, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_17
+     * |        |          |For P-192, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_05
+     * |        |          |For P-224, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_06
+     * |        |          |For P-256, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_07
+     * |        |          |For P-384, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_11
+     * |        |          |For P-521, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_16
+     * @var CRPT_T::ECC_B[18]
+     * Offset: 0x970 ~ 0x9B4  ECC The parameter CURVEB word 0 ~ 17 of elliptic curve
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CURVEB    |ECC the Parameter CURVEB Value of Elliptic Curve (CURVEA)
+     * |        |          |The formula of elliptic curve is y2=x3+CURVEA*x+CURVEB in GF(p) and y2+x*y=x3+CURVEA*x2+CURVEB in GF(2^m).
+     * |        |          |For B-163 or K-163, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_05
+     * |        |          |For B-233 or K-233, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_07
+     * |        |          |For B-283 or K-283, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_08
+     * |        |          |For B-409 or K-409, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_12
+     * |        |          |For B-521 or K-521, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_17
+     * |        |          |For P-192, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_05
+     * |        |          |For P-224, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_06
+     * |        |          |For P-256, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_07
+     * |        |          |For P-384, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_11
+     * |        |          |For P-521, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_16
+     * @var CRPT_T::ECC_N[18]
+     * Offset: 0x9B8 ~ 0x9FC  ECC The parameter CURVEN word 0 ~ 17 of elliptic curve
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |CURVEN    |ECC the Parameter CURVEN Value of Elliptic Curve (CURVEN)
+     * |        |          |In GF(p), CURVEN is the prime p.
+     * |        |          |In GF(2^m), CURVEN is the irreducible polynomial.
+     * |        |          |For B-163 or K-163, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_05
+     * |        |          |For B-233 or K-233, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_07
+     * |        |          |For B-283 or K-283, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_08
+     * |        |          |For B-409 or K-409, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_12
+     * |        |          |For B-571 or K-571, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_17
+     * |        |          |For P-192, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_05
+     * |        |          |For P-224, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_06
+     * |        |          |For P-256, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_07
+     * |        |          |For P-384, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_11
+     * |        |          |For P-521, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_16
+     * @var CRPT_T::ECC_K[18]
+     * Offset: 0xA00 ~ 0xA44  ECC The scalar SCALARK word0 of point multiplication
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SCALARK   |ECC the Scalar SCALARK Value of Point Multiplication(SCALARK)
+     * |        |          |Because the SCALARK usually stores the private key, ECC accelerator do not allow to read the register SCALARK.
+     * |        |          |For B-163 or K-163, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_05
+     * |        |          |For B-233 or K-233, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_07
+     * |        |          |For B-283 or K-283, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_08
+     * |        |          |For B-409 or K-409, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_12
+     * |        |          |For B-571 or K-571, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_17
+     * |        |          |For P-192, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_05
+     * |        |          |For P-224, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_06
+     * |        |          |For P-256, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_07
+     * |        |          |For P-384, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_11
+     * |        |          |For P-521, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_16
+     * @var CRPT_T::ECC_SADDR
+     * Offset: 0xA48  ECC DMA Source Address Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |SADDR     |ECC DMA Source Address
+     * |        |          |The ECC accelerator supports DMA function to transfer the DATA and PARAMETER between
+     * |        |          |SRAM memory space and ECC accelerator. The SADDR keeps the source address of the data
+     * |        |          |buffer where the source text is stored. Based on the source address, the ECC accelerator
+     * |        |          |can read the DATA and PARAMETER from SRAM memory space and do ECC operation. The start
+     * |        |          |of source address should be located at word boundary. That is, bit 1 and 0 of SADDR are
+     * |        |          |ignored. SADDR can be read and written. In DMA mode, software must update the CRPT_ECC_SADDR
+     * |        |          |before triggering START.
+     * @var CRPT_T::ECC_DADDR
+     * Offset: 0xA4C  ECC DMA Destination Address Register
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |DADDR     |ECC DMA Destination Address
+     * |        |          |The ECC accelerator supports DMA function to transfer the DATA and PARAMETER between system memory and ECC accelerator
+     * |        |          |The DADDR keeps the destination address of the data buffer where output data of ECC engine will be stored
+     * |        |          |Based on the destination address, the ECC accelerator can write the result data back to system memory after the ECC operation is finished
+     * |        |          |The start of destination address should be located at word boundary
+     * |        |          |That is, bit 1 and 0 of DADDR are ignored
+     * |        |          |DADDR can be read and written
+     * |        |          |In DMA mode, software must update the CRPT_ECC_DADDR before triggering START
+     * @var CRPT_T::ECC_STARTREG
+     * Offset: 0xA50  ECC Starting Address of Updated Registers
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |STARTREG  |ECC Starting Address of Updated Registers
+     * |        |          |The address of the updated registers that DMA feeds the first data or parameter to ECC engine
+     * |        |          |When ECC engine is active, ECC accelerator does not allow users to modify STARTREG
+     * |        |          |For example, we want to updated input data from register CRPT_ECC POINTX1
+     * |        |          |Thus, the value of STARTREG is 0x808.
+     * @var CRPT_T::ECC_WORDCNT
+     * Offset: 0xA54  ECC DMA Word Count
+     * ---------------------------------------------------------------------------------------------------
+     * |Bits    |Field     |Descriptions
+     * | :----: | :----:   | :---- |
+     * |[31:0]  |WORDCNT   |ECC DMA Word Count
+     * |        |          |The CRPT_ECC_WORDCNT keeps the word count of source data that is for the required input data of ECC accelerator with various operations in DMA mode
+     * |        |          |Although CRPT_ECC_WORDCNT is 32-bit, the maximum of word count in ECC accelerator is 144 words
+     * |        |          |CRPT_ECC_WORDCNT can be read and written
+     */
+    __IO uint32_t INTEN;                 /*!< [0x0000] Crypto Interrupt Enable Control Register                         */
+    __IO uint32_t INTSTS;                /*!< [0x0004] Crypto Interrupt Flag                                            */
+    __IO uint32_t PRNG_CTL;              /*!< [0x0008] PRNG Control Register                                            */
+    __O  uint32_t PRNG_SEED;             /*!< [0x000c] Seed for PRNG                                                    */
+    __I  uint32_t PRNG_KEY[8];           /*!< [0x0010] ~ [0x002c] PRNG Generated Key0 ~ Key7                            */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE0[8];
+    /// @endcond //HIDDEN_SYMBOLS
+    __I  uint32_t AES_FDBCK[4];          /*!< [0x0050] ~ [0x005c] AES Engine Output Feedback Data after Cryptographic Operation     */
+    __I  uint32_t TDES_FDBCKH;           /*!< [0x0060] TDES/DES Engine Output Feedback High Word Data after Cryptographic Operation */
+    __I  uint32_t TDES_FDBCKL;           /*!< [0x0064] TDES/DES Engine Output Feedback Low Word Data after Cryptographic Operation  */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE1[38];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t AES_CTL;               /*!< [0x0100] AES Control Register                                             */
+    __I  uint32_t AES_STS;               /*!< [0x0104] AES Engine Flag                                                  */
+    __IO uint32_t AES_DATIN;             /*!< [0x0108] AES Engine Data Input Port Register                              */
+    __I  uint32_t AES_DATOUT;            /*!< [0x010c] AES Engine Data Output Port Register                             */
+    __IO uint32_t AES0_KEY[8];           /*!< [0x0110] ~ [0x012c] AES Key Word 0~7 Register for Channel 0               */
+    __IO uint32_t AES0_IV[4];            /*!< [0x0130] ~ [0x013c] AES Initial Vector Word 0 ~ 3 Register for Channel 0  */
+    __IO uint32_t AES0_SADDR;            /*!< [0x0140] AES DMA Source Address Register for Channel 0                    */
+    __IO uint32_t AES0_DADDR;            /*!< [0x0144] AES DMA Destination Address Register for Channel 0               */
+    __IO uint32_t AES0_CNT;              /*!< [0x0148] AES Byte Count Register for Channel 0                            */
+    __IO uint32_t AES1_KEY[8];           /*!< [0x014c] ~ [0x0168] AES Key Word 0~7 Register for Channel 1               */
+    __IO uint32_t AES1_IV[4];            /*!< [0x016c] ~ [0x0178] AES Initial Vector Word 0~3 Register for Channel 1    */
+    __IO uint32_t AES1_SADDR;            /*!< [0x017c] AES DMA Source Address Register for Channel 1                    */
+    __IO uint32_t AES1_DADDR;            /*!< [0x0180] AES DMA Destination Address Register for Channel 1               */
+    __IO uint32_t AES1_CNT;              /*!< [0x0184] AES Byte Count Register for Channel 1                            */
+    __IO uint32_t AES2_KEY[8];           /*!< [0x0188] ~ [0x01a4] AES Key Word 0~7 Register for Channel 2               */
+    __IO uint32_t AES2_IV[4];            /*!< [0x01a8] ~ [0x01b4] AES Initial Vector Word 0~3 Register for Channel 2    */
+    __IO uint32_t AES2_SADDR;            /*!< [0x01b8] AES DMA Source Address Register for Channel 2                    */
+    __IO uint32_t AES2_DADDR;            /*!< [0x01bc] AES DMA Destination Address Register for Channel 2               */
+    __IO uint32_t AES2_CNT;              /*!< [0x01c0] AES Byte Count Register for Channel 2                            */
+    __IO uint32_t AES3_KEY[8];           /*!< [0x01c4] ~ [0x01e0] AES Key Word 0~7 Register for Channel 3               */
+    __IO uint32_t AES3_IV[4];            /*!< [0x01e4] ~ [0x01f0] AES Initial Vector Word 0~3 Register for Channel 3    */
+    __IO uint32_t AES3_SADDR;            /*!< [0x01f4] AES DMA Source Address Register for Channel 3                    */
+    __IO uint32_t AES3_DADDR;            /*!< [0x01f8] AES DMA Destination Address Register for Channel 3               */
+    __IO uint32_t AES3_CNT;              /*!< [0x01fc] AES Byte Count Register for Channel 3                            */
+    __IO uint32_t TDES_CTL;              /*!< [0x0200] TDES/DES Control Register                                        */
+    __I  uint32_t TDES_STS;              /*!< [0x0204] TDES/DES Engine Flag                                             */
+    __IO uint32_t TDES0_KEY1H;           /*!< [0x0208] TDES/DES Key 1 High Word Register for Channel 0                  */
+    __IO uint32_t TDES0_KEY1L;           /*!< [0x020c] TDES/DES Key 1 Low Word Register for Channel 0                   */
+    __IO uint32_t TDES0_KEY2H;           /*!< [0x0210] TDES Key 2 High Word Register for Channel 0                      */
+    __IO uint32_t TDES0_KEY2L;           /*!< [0x0214] TDES Key 2 Low Word Register for Channel 0                       */
+    __IO uint32_t TDES0_KEY3H;           /*!< [0x0218] TDES Key 3 High Word Register for Channel 0                      */
+    __IO uint32_t TDES0_KEY3L;           /*!< [0x021c] TDES Key 3 Low Word Register for Channel 0                       */
+    __IO uint32_t TDES0_IVH;             /*!< [0x0220] TDES/DES Initial Vector High Word Register for Channel 0         */
+    __IO uint32_t TDES0_IVL;             /*!< [0x0224] TDES/DES Initial Vector Low Word Register for Channel 0          */
+    __IO uint32_t TDES0_SA;              /*!< [0x0228] TDES/DES DMA Source Address Register for Channel 0               */
+    __IO uint32_t TDES0_DA;              /*!< [0x022c] TDES/DES DMA Destination Address Register for Channel 0          */
+    __IO uint32_t TDES0_CNT;             /*!< [0x0230] TDES/DES Byte Count Register for Channel 0                       */
+    __IO uint32_t TDES_DATIN;            /*!< [0x0234] TDES/DES Engine Input data Word Register                         */
+    __I  uint32_t TDES_DATOUT;           /*!< [0x0238] TDES/DES Engine Output data Word Register                        */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE2[3];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t TDES1_KEY1H;           /*!< [0x0248] TDES/DES Key 1 High Word Register for Channel 1                  */
+    __IO uint32_t TDES1_KEY1L;           /*!< [0x024c] TDES/DES Key 1 Low Word Register for Channel 1                   */
+    __IO uint32_t TDES1_KEY2H;           /*!< [0x0250] TDES Key 2 High Word Register for Channel 1                      */
+    __IO uint32_t TDES1_KEY2L;           /*!< [0x0254] TDES Key 2 Low Word Register for Channel 1                       */
+    __IO uint32_t TDES1_KEY3H;           /*!< [0x0258] TDES Key 3 High Word Register for Channel 1                      */
+    __IO uint32_t TDES1_KEY3L;           /*!< [0x025c] TDES Key 3 Low Word Register for Channel 1                       */
+    __IO uint32_t TDES1_IVH;             /*!< [0x0260] TDES/DES Initial Vector High Word Register for Channel 1         */
+    __IO uint32_t TDES1_IVL;             /*!< [0x0264] TDES/DES Initial Vector Low Word Register for Channel 1          */
+    __IO uint32_t TDES1_SA;              /*!< [0x0268] TDES/DES DMA Source Address Register for Channel 1               */
+    __IO uint32_t TDES1_DA;              /*!< [0x026c] TDES/DES DMA Destination Address Register for Channel 1          */
+    __IO uint32_t TDES1_CNT;             /*!< [0x0270] TDES/DES Byte Count Register for Channel 1                       */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE3[5];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t TDES2_KEY1H;           /*!< [0x0288] TDES/DES Key 1 High Word Register for Channel 2                  */
+    __IO uint32_t TDES2_KEY1L;           /*!< [0x028c] TDES/DES Key 1 Low Word Register for Channel 2                   */
+    __IO uint32_t TDES2_KEY2H;           /*!< [0x0290] TDES Key 2 High Word Register for Channel 2                      */
+    __IO uint32_t TDES2_KEY2L;           /*!< [0x0294] TDES Key 2 Low Word Register for Channel 2                       */
+    __IO uint32_t TDES2_KEY3H;           /*!< [0x0298] TDES Key 3 High Word Register for Channel 2                      */
+    __IO uint32_t TDES2_KEY3L;           /*!< [0x029c] TDES Key 3 Low Word Register for Channel 2                       */
+    __IO uint32_t TDES2_IVH;             /*!< [0x02a0] TDES/DES Initial Vector High Word Register for Channel 2         */
+    __IO uint32_t TDES2_IVL;             /*!< [0x02a4] TDES/DES Initial Vector Low Word Register for Channel 2          */
+    __IO uint32_t TDES2_SA;              /*!< [0x02a8] TDES/DES DMA Source Address Register for Channel 2               */
+    __IO uint32_t TDES2_DA;              /*!< [0x02ac] TDES/DES DMA Destination Address Register for Channel 2          */
+    __IO uint32_t TDES2_CNT;             /*!< [0x02b0] TDES/DES Byte Count Register for Channel 2                       */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE4[5];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t TDES3_KEY1H;           /*!< [0x02c8] TDES/DES Key 1 High Word Register for Channel 3                  */
+    __IO uint32_t TDES3_KEY1L;           /*!< [0x02cc] TDES/DES Key 1 Low Word Register for Channel 3                   */
+    __IO uint32_t TDES3_KEY2H;           /*!< [0x02d0] TDES Key 2 High Word Register for Channel 3                      */
+    __IO uint32_t TDES3_KEY2L;           /*!< [0x02d4] TDES Key 2 Low Word Register for Channel 3                       */
+    __IO uint32_t TDES3_KEY3H;           /*!< [0x02d8] TDES Key 3 High Word Register for Channel 3                      */
+    __IO uint32_t TDES3_KEY3L;           /*!< [0x02dc] TDES Key 3 Low Word Register for Channel 3                       */
+    __IO uint32_t TDES3_IVH;             /*!< [0x02e0] TDES/DES Initial Vector High Word Register for Channel 3         */
+    __IO uint32_t TDES3_IVL;             /*!< [0x02e4] TDES/DES Initial Vector Low Word Register for Channel 3          */
+    __IO uint32_t TDES3_SA;              /*!< [0x02e8] TDES/DES DMA Source Address Register for Channel 3               */
+    __IO uint32_t TDES3_DA;              /*!< [0x02ec] TDES/DES DMA Destination Address Register for Channel 3          */
+    __IO uint32_t TDES3_CNT;             /*!< [0x02f0] TDES/DES Byte Count Register for Channel 3                       */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE5[3];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t HMAC_CTL;              /*!< [0x0300] SHA/HMAC Control Register                                        */
+    __I  uint32_t HMAC_STS;              /*!< [0x0304] SHA/HMAC Status Flag                                             */
+    __I  uint32_t HMAC_DGST[16];         /*!< [0x0308] ~ [0x0344] SHA/HMAC Digest Message 0~15                          */
+    __IO uint32_t HMAC_KEYCNT;           /*!< [0x0348] SHA/HMAC Key Byte Count Register                                 */
+    __IO uint32_t HMAC_SADDR;            /*!< [0x034c] SHA/HMAC DMA Source Address Register                             */
+    __IO uint32_t HMAC_DMACNT;           /*!< [0x0350] SHA/HMAC Byte Count Register                                     */
+    __IO uint32_t HMAC_DATIN;            /*!< [0x0354] SHA/HMAC Engine Non-DMA Mode Data Input Port Register            */
+    /// @cond HIDDEN_SYMBOLS
+    __I  uint32_t RESERVE6[298];
+    /// @endcond //HIDDEN_SYMBOLS
+    __IO uint32_t ECC_CTL;               /*!< [0x0800] ECC Control Register                                             */
+    __I  uint32_t ECC_STS;               /*!< [0x0804] ECC Status Register                                              */
+    __IO uint32_t ECC_X1[18];            /*!< [0x0808] ~ [0x084c] ECC The X-coordinate word 0~17 of the first point     */
+    __IO uint32_t ECC_Y1[18];            /*!< [0x0850] ~ [0x0894] ECC The Y-coordinate word 0~17 of the first point     */
+    __IO uint32_t ECC_X2[18];            /*!< [0x0898] ~ [0x08dc] ECC The X-coordinate word 0~17 of the second point    */
+    __IO uint32_t ECC_Y2[18];            /*!< [0x08e0] ~ [0x0924] ECC The Y-coordinate word 0~17 of the second point    */
+    __IO uint32_t ECC_A[18];             /*!< [0x0928] ~ [0x096c] ECC The parameter CURVEA word 0~17 of elliptic curve  */
+    __IO uint32_t ECC_B[18];             /*!< [0x0970] ~ [0x09b4] ECC The parameter CURVEB word 0~17 of elliptic curve  */
+    __IO uint32_t ECC_N[18];             /*!< [0x09b8] ~ [0x09fc] ECC The parameter CURVEN word 0~17 of elliptic curve  */
+    __O  uint32_t ECC_K[18];             /*!< [0x0a00] ~ [0x0a44] ECC The scalar SCALARK word 0~17 of point multiplication */
+    __IO uint32_t ECC_SADDR;             /*!< [0x0a48] ECC DMA Source Address Register                                  */
+    __IO uint32_t ECC_DADDR;             /*!< [0x0a4c] ECC DMA Destination Address Register                             */
+    __IO uint32_t ECC_STARTREG;          /*!< [0x0a50] ECC Starting Address of Updated Registers                        */
+    __IO uint32_t ECC_WORDCNT;           /*!< [0x0a54] ECC DMA Word Count                                               */
+
+} CRPT_T;
+
+/**
+    @addtogroup CRPT_CONST CRPT Bit Field Definition
+    Constant Definitions for CRPT Controller
+@{ */
+
+#define CRPT_INTEN_AESIEN_Pos            (0)                                               /*!< CRPT_T::INTEN: AESIEN Position         */
+#define CRPT_INTEN_AESIEN_Msk            (0x1ul << CRPT_INTEN_AESIEN_Pos)                  /*!< CRPT_T::INTEN: AESIEN Mask             */
+
+#define CRPT_INTEN_AESEIEN_Pos           (1)                                               /*!< CRPT_T::INTEN: AESEIEN Position        */
+#define CRPT_INTEN_AESEIEN_Msk           (0x1ul << CRPT_INTEN_AESEIEN_Pos)                 /*!< CRPT_T::INTEN: AESEIEN Mask            */
+
+#define CRPT_INTEN_TDESIEN_Pos           (8)                                               /*!< CRPT_T::INTEN: TDESIEN Position        */
+#define CRPT_INTEN_TDESIEN_Msk           (0x1ul << CRPT_INTEN_TDESIEN_Pos)                 /*!< CRPT_T::INTEN: TDESIEN Mask            */
+
+#define CRPT_INTEN_TDESEIEN_Pos          (9)                                               /*!< CRPT_T::INTEN: TDESEIEN Position       */
+#define CRPT_INTEN_TDESEIEN_Msk          (0x1ul << CRPT_INTEN_TDESEIEN_Pos)                /*!< CRPT_T::INTEN: TDESEIEN Mask           */
+
+#define CRPT_INTEN_PRNGIEN_Pos           (16)                                              /*!< CRPT_T::INTEN: PRNGIEN Position        */
+#define CRPT_INTEN_PRNGIEN_Msk           (0x1ul << CRPT_INTEN_PRNGIEN_Pos)                 /*!< CRPT_T::INTEN: PRNGIEN Mask            */
+
+#define CRPT_INTEN_ECCIEN_Pos            (22)                                              /*!< CRPT_T::INTEN: ECCIEN Position         */
+#define CRPT_INTEN_ECCIEN_Msk            (0x1ul << CRPT_INTEN_ECCIEN_Pos)                  /*!< CRPT_T::INTEN: ECCIEN Mask             */
+
+#define CRPT_INTEN_ECCEIEN_Pos           (23)                                              /*!< CRPT_T::INTEN: ECCEIEN Position        */
+#define CRPT_INTEN_ECCEIEN_Msk           (0x1ul << CRPT_INTEN_ECCEIEN_Pos)                 /*!< CRPT_T::INTEN: ECCEIEN Mask            */
+
+#define CRPT_INTEN_HMACIEN_Pos           (24)                                              /*!< CRPT_T::INTEN: HMACIEN Position        */
+#define CRPT_INTEN_HMACIEN_Msk           (0x1ul << CRPT_INTEN_HMACIEN_Pos)                 /*!< CRPT_T::INTEN: HMACIEN Mask            */
+
+#define CRPT_INTEN_HMACEIEN_Pos          (25)                                              /*!< CRPT_T::INTEN: HMACEIEN Position       */
+#define CRPT_INTEN_HMACEIEN_Msk          (0x1ul << CRPT_INTEN_HMACEIEN_Pos)                /*!< CRPT_T::INTEN: HMACEIEN Mask           */
+
+#define CRPT_INTSTS_AESIF_Pos            (0)                                               /*!< CRPT_T::INTSTS: AESIF Position         */
+#define CRPT_INTSTS_AESIF_Msk            (0x1ul << CRPT_INTSTS_AESIF_Pos)                  /*!< CRPT_T::INTSTS: AESIF Mask             */
+
+#define CRPT_INTSTS_AESEIF_Pos           (1)                                               /*!< CRPT_T::INTSTS: AESEIF Position        */
+#define CRPT_INTSTS_AESEIF_Msk           (0x1ul << CRPT_INTSTS_AESEIF_Pos)                 /*!< CRPT_T::INTSTS: AESEIF Mask            */
+
+#define CRPT_INTSTS_TDESIF_Pos           (8)                                               /*!< CRPT_T::INTSTS: TDESIF Position        */
+#define CRPT_INTSTS_TDESIF_Msk           (0x1ul << CRPT_INTSTS_TDESIF_Pos)                 /*!< CRPT_T::INTSTS: TDESIF Mask            */
+
+#define CRPT_INTSTS_TDESEIF_Pos          (9)                                               /*!< CRPT_T::INTSTS: TDESEIF Position       */
+#define CRPT_INTSTS_TDESEIF_Msk          (0x1ul << CRPT_INTSTS_TDESEIF_Pos)                /*!< CRPT_T::INTSTS: TDESEIF Mask           */
+
+#define CRPT_INTSTS_PRNGIF_Pos           (16)                                              /*!< CRPT_T::INTSTS: PRNGIF Position        */
+#define CRPT_INTSTS_PRNGIF_Msk           (0x1ul << CRPT_INTSTS_PRNGIF_Pos)                 /*!< CRPT_T::INTSTS: PRNGIF Mask            */
+
+#define CRPT_INTSTS_ECCIF_Pos            (22)                                              /*!< CRPT_T::INTSTS: ECCIF Position         */
+#define CRPT_INTSTS_ECCIF_Msk            (0x1ul << CRPT_INTSTS_ECCIF_Pos)                  /*!< CRPT_T::INTSTS: ECCIF Mask             */
+
+#define CRPT_INTSTS_ECCEIF_Pos           (23)                                              /*!< CRPT_T::INTSTS: ECCEIF Position        */
+#define CRPT_INTSTS_ECCEIF_Msk           (0x1ul << CRPT_INTSTS_ECCEIF_Pos)                 /*!< CRPT_T::INTSTS: ECCEIF Mask            */
+
+#define CRPT_INTSTS_HMACIF_Pos           (24)                                              /*!< CRPT_T::INTSTS: HMACIF Position        */
+#define CRPT_INTSTS_HMACIF_Msk           (0x1ul << CRPT_INTSTS_HMACIF_Pos)                 /*!< CRPT_T::INTSTS: HMACIF Mask            */
+
+#define CRPT_INTSTS_HMACEIF_Pos          (25)                                              /*!< CRPT_T::INTSTS: HMACEIF Position       */
+#define CRPT_INTSTS_HMACEIF_Msk          (0x1ul << CRPT_INTSTS_HMACEIF_Pos)                /*!< CRPT_T::INTSTS: HMACEIF Mask           */
+
+#define CRPT_PRNG_CTL_START_Pos          (0)                                               /*!< CRPT_T::PRNG_CTL: START Position       */
+#define CRPT_PRNG_CTL_START_Msk          (0x1ul << CRPT_PRNG_CTL_START_Pos)                /*!< CRPT_T::PRNG_CTL: START Mask           */
+
+#define CRPT_PRNG_CTL_SEEDRLD_Pos        (1)                                               /*!< CRPT_T::PRNG_CTL: SEEDRLD Position     */
+#define CRPT_PRNG_CTL_SEEDRLD_Msk        (0x1ul << CRPT_PRNG_CTL_SEEDRLD_Pos)              /*!< CRPT_T::PRNG_CTL: SEEDRLD Mask         */
+
+#define CRPT_PRNG_CTL_KEYSZ_Pos          (2)                                               /*!< CRPT_T::PRNG_CTL: KEYSZ Position       */
+#define CRPT_PRNG_CTL_KEYSZ_Msk          (0x3ul << CRPT_PRNG_CTL_KEYSZ_Pos)                /*!< CRPT_T::PRNG_CTL: KEYSZ Mask           */
+
+#define CRPT_PRNG_CTL_BUSY_Pos           (8)                                               /*!< CRPT_T::PRNG_CTL: BUSY Position        */
+#define CRPT_PRNG_CTL_BUSY_Msk           (0x1ul << CRPT_PRNG_CTL_BUSY_Pos)                 /*!< CRPT_T::PRNG_CTL: BUSY Mask            */
+
+#define CRPT_PRNG_SEED_SEED_Pos          (0)                                               /*!< CRPT_T::PRNG_SEED: SEED Position       */
+#define CRPT_PRNG_SEED_SEED_Msk          (0xfffffffful << CRPT_PRNG_SEED_SEED_Pos)         /*!< CRPT_T::PRNG_SEED: SEED Mask           */
+
+#define CRPT_PRNG_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::PRNG_KEY[8]: KEY Position      */
+#define CRPT_PRNG_KEYx_KEY_Msk           (0xfffffffful << CRPT_PRNG_KEYx_KEY_Pos)          /*!< CRPT_T::PRNG_KEY[8]: KEY Mask          */
+
+#define CRPT_AES_FDBCKx_FDBCK_Pos        (0)                                               /*!< CRPT_T::AES_FDBCK[4]: FDBCK Position   */
+#define CRPT_AES_FDBCKx_FDBCK_Msk        (0xfffffffful << CRPT_AES_FDBCKx_FDBCK_Pos)       /*!< CRPT_T::AES_FDBCK[4]: FDBCK Mask       */
+
+#define CRPT_TDES_FDBCKH_FDBCK_Pos       (0)                                               /*!< CRPT_T::TDES_FDBCKH: FDBCK Position    */
+#define CRPT_TDES_FDBCKH_FDBCK_Msk       (0xfffffffful << CRPT_TDES_FDBCKH_FDBCK_Pos)      /*!< CRPT_T::TDES_FDBCKH: FDBCK Mask        */
+
+#define CRPT_TDES_FDBCKL_FDBCK_Pos       (0)                                               /*!< CRPT_T::TDES_FDBCKL: FDBCK Position    */
+#define CRPT_TDES_FDBCKL_FDBCK_Msk       (0xfffffffful << CRPT_TDES_FDBCKL_FDBCK_Pos)      /*!< CRPT_T::TDES_FDBCKL: FDBCK Mask        */
+
+#define CRPT_AES_CTL_START_Pos           (0)                                               /*!< CRPT_T::AES_CTL: START Position        */
+#define CRPT_AES_CTL_START_Msk           (0x1ul << CRPT_AES_CTL_START_Pos)                 /*!< CRPT_T::AES_CTL: START Mask            */
+
+#define CRPT_AES_CTL_STOP_Pos            (1)                                               /*!< CRPT_T::AES_CTL: STOP Position         */
+#define CRPT_AES_CTL_STOP_Msk            (0x1ul << CRPT_AES_CTL_STOP_Pos)                  /*!< CRPT_T::AES_CTL: STOP Mask             */
+
+#define CRPT_AES_CTL_KEYSZ_Pos           (2)                                               /*!< CRPT_T::AES_CTL: KEYSZ Position        */
+#define CRPT_AES_CTL_KEYSZ_Msk           (0x3ul << CRPT_AES_CTL_KEYSZ_Pos)                 /*!< CRPT_T::AES_CTL: KEYSZ Mask            */
+
+#define CRPT_AES_CTL_DMALAST_Pos         (5)                                               /*!< CRPT_T::AES_CTL: DMALAST Position      */
+#define CRPT_AES_CTL_DMALAST_Msk         (0x1ul << CRPT_AES_CTL_DMALAST_Pos)               /*!< CRPT_T::AES_CTL: DMALAST Mask          */
+
+#define CRPT_AES_CTL_DMACSCAD_Pos        (6)                                               /*!< CRPT_T::AES_CTL: DMACSCAD Position     */
+#define CRPT_AES_CTL_DMACSCAD_Msk        (0x1ul << CRPT_AES_CTL_DMACSCAD_Pos)              /*!< CRPT_T::AES_CTL: DMACSCAD Mask         */
+
+#define CRPT_AES_CTL_DMAEN_Pos           (7)                                               /*!< CRPT_T::AES_CTL: DMAEN Position        */
+#define CRPT_AES_CTL_DMAEN_Msk           (0x1ul << CRPT_AES_CTL_DMAEN_Pos)                 /*!< CRPT_T::AES_CTL: DMAEN Mask            */
+
+#define CRPT_AES_CTL_OPMODE_Pos          (8)                                               /*!< CRPT_T::AES_CTL: OPMODE Position       */
+#define CRPT_AES_CTL_OPMODE_Msk          (0xfful << CRPT_AES_CTL_OPMODE_Pos)               /*!< CRPT_T::AES_CTL: OPMODE Mask           */
+
+#define CRPT_AES_CTL_ENCRPT_Pos          (16)                                              /*!< CRPT_T::AES_CTL: ENCRPT Position       */
+#define CRPT_AES_CTL_ENCRPT_Msk          (0x1ul << CRPT_AES_CTL_ENCRPT_Pos)                /*!< CRPT_T::AES_CTL: ENCRPT Mask           */
+
+#define CRPT_AES_CTL_OUTSWAP_Pos         (22)                                              /*!< CRPT_T::AES_CTL: OUTSWAP Position      */
+#define CRPT_AES_CTL_OUTSWAP_Msk         (0x1ul << CRPT_AES_CTL_OUTSWAP_Pos)               /*!< CRPT_T::AES_CTL: OUTSWAP Mask          */
+
+#define CRPT_AES_CTL_INSWAP_Pos          (23)                                              /*!< CRPT_T::AES_CTL: INSWAP Position       */
+#define CRPT_AES_CTL_INSWAP_Msk          (0x1ul << CRPT_AES_CTL_INSWAP_Pos)                /*!< CRPT_T::AES_CTL: INSWAP Mask           */
+
+#define CRPT_AES_CTL_CHANNEL_Pos         (24)                                              /*!< CRPT_T::AES_CTL: CHANNEL Position      */
+#define CRPT_AES_CTL_CHANNEL_Msk         (0x3ul << CRPT_AES_CTL_CHANNEL_Pos)               /*!< CRPT_T::AES_CTL: CHANNEL Mask          */
+
+#define CRPT_AES_CTL_KEYUNPRT_Pos        (26)                                              /*!< CRPT_T::AES_CTL: KEYUNPRT Position     */
+#define CRPT_AES_CTL_KEYUNPRT_Msk        (0x1ful << CRPT_AES_CTL_KEYUNPRT_Pos)             /*!< CRPT_T::AES_CTL: KEYUNPRT Mask         */
+
+#define CRPT_AES_CTL_KEYPRT_Pos          (31)                                              /*!< CRPT_T::AES_CTL: KEYPRT Position       */
+#define CRPT_AES_CTL_KEYPRT_Msk          (0x1ul << CRPT_AES_CTL_KEYPRT_Pos)                /*!< CRPT_T::AES_CTL: KEYPRT Mask           */
+
+#define CRPT_AES_STS_BUSY_Pos            (0)                                               /*!< CRPT_T::AES_STS: BUSY Position         */
+#define CRPT_AES_STS_BUSY_Msk            (0x1ul << CRPT_AES_STS_BUSY_Pos)                  /*!< CRPT_T::AES_STS: BUSY Mask             */
+
+#define CRPT_AES_STS_INBUFEMPTY_Pos      (8)                                               /*!< CRPT_T::AES_STS: INBUFEMPTY Position   */
+#define CRPT_AES_STS_INBUFEMPTY_Msk      (0x1ul << CRPT_AES_STS_INBUFEMPTY_Pos)            /*!< CRPT_T::AES_STS: INBUFEMPTY Mask       */
+
+#define CRPT_AES_STS_INBUFFULL_Pos       (9)                                               /*!< CRPT_T::AES_STS: INBUFFULL Position    */
+#define CRPT_AES_STS_INBUFFULL_Msk       (0x1ul << CRPT_AES_STS_INBUFFULL_Pos)             /*!< CRPT_T::AES_STS: INBUFFULL Mask        */
+
+#define CRPT_AES_STS_INBUFERR_Pos        (10)                                              /*!< CRPT_T::AES_STS: INBUFERR Position     */
+#define CRPT_AES_STS_INBUFERR_Msk        (0x1ul << CRPT_AES_STS_INBUFERR_Pos)              /*!< CRPT_T::AES_STS: INBUFERR Mask         */
+
+#define CRPT_AES_STS_CNTERR_Pos          (12)                                              /*!< CRPT_T::AES_STS: CNTERR Position       */
+#define CRPT_AES_STS_CNTERR_Msk          (0x1ul << CRPT_AES_STS_CNTERR_Pos)                /*!< CRPT_T::AES_STS: CNTERR Mask           */
+
+#define CRPT_AES_STS_OUTBUFEMPTY_Pos     (16)                                              /*!< CRPT_T::AES_STS: OUTBUFEMPTY Position  */
+#define CRPT_AES_STS_OUTBUFEMPTY_Msk     (0x1ul << CRPT_AES_STS_OUTBUFEMPTY_Pos)           /*!< CRPT_T::AES_STS: OUTBUFEMPTY Mask      */
+
+#define CRPT_AES_STS_OUTBUFFULL_Pos      (17)                                              /*!< CRPT_T::AES_STS: OUTBUFFULL Position   */
+#define CRPT_AES_STS_OUTBUFFULL_Msk      (0x1ul << CRPT_AES_STS_OUTBUFFULL_Pos)            /*!< CRPT_T::AES_STS: OUTBUFFULL Mask       */
+
+#define CRPT_AES_STS_OUTBUFERR_Pos       (18)                                              /*!< CRPT_T::AES_STS: OUTBUFERR Position    */
+#define CRPT_AES_STS_OUTBUFERR_Msk       (0x1ul << CRPT_AES_STS_OUTBUFERR_Pos)             /*!< CRPT_T::AES_STS: OUTBUFERR Mask        */
+
+#define CRPT_AES_STS_BUSERR_Pos          (20)                                              /*!< CRPT_T::AES_STS: BUSERR Position       */
+#define CRPT_AES_STS_BUSERR_Msk          (0x1ul << CRPT_AES_STS_BUSERR_Pos)                /*!< CRPT_T::AES_STS: BUSERR Mask           */
+
+#define CRPT_AES_DATIN_DATIN_Pos         (0)                                               /*!< CRPT_T::AES_DATIN: DATIN Position      */
+#define CRPT_AES_DATIN_DATIN_Msk         (0xfffffffful << CRPT_AES_DATIN_DATIN_Pos)        /*!< CRPT_T::AES_DATIN: DATIN Mask          */
+
+#define CRPT_AES_DATOUT_DATOUT_Pos       (0)                                               /*!< CRPT_T::AES_DATOUT: DATOUT Position    */
+#define CRPT_AES_DATOUT_DATOUT_Msk       (0xfffffffful << CRPT_AES_DATOUT_DATOUT_Pos)      /*!< CRPT_T::AES_DATOUT: DATOUT Mask        */
+
+#define CRPT_AES0_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES0_KEY[8]: KEY Position      */
+#define CRPT_AES0_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES0_KEYx_KEY_Pos)          /*!< CRPT_T::AES0_KEY[8]: KEY Mask          */
+
+#define CRPT_AES0_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES0_IV[4]: IV Position        */
+#define CRPT_AES0_IVx_IV_Msk             (0xfffffffful << CRPT_AES0_IVx_IV_Pos)            /*!< CRPT_T::AES0_IV[4]: IV Mask            */
+
+#define CRPT_AES0_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES0_SADDR: SADDR Position     */
+#define CRPT_AES0_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES0_SADDR_SADDR_Pos)       /*!< CRPT_T::AES0_SADDR: SADDR Mask         */
+
+#define CRPT_AES0_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES0_DADDR: DADDR Position     */
+#define CRPT_AES0_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES0_DADDR_DADDR_Pos)       /*!< CRPT_T::AES0_DADDR: DADDR Mask         */
+
+#define CRPT_AES0_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES0_CNT: CNT Position         */
+#define CRPT_AES0_CNT_CNT_Msk            (0xfffffffful << CRPT_AES0_CNT_CNT_Pos)           /*!< CRPT_T::AES0_CNT: CNT Mask             */
+
+#define CRPT_AES1_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES1_KEY[8]: KEY Position      */
+#define CRPT_AES1_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES1_KEYx_KEY_Pos)          /*!< CRPT_T::AES1_KEY[8]: KEY Mask          */
+
+#define CRPT_AES1_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES1_IV[4]: IV Position        */
+#define CRPT_AES1_IVx_IV_Msk             (0xfffffffful << CRPT_AES1_IVx_IV_Pos)            /*!< CRPT_T::AES1_IV[4]: IV Mask            */
+
+#define CRPT_AES1_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES1_SADDR: SADDR Position     */
+#define CRPT_AES1_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES1_SADDR_SADDR_Pos)       /*!< CRPT_T::AES1_SADDR: SADDR Mask         */
+
+#define CRPT_AES1_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES1_DADDR: DADDR Position     */
+#define CRPT_AES1_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES1_DADDR_DADDR_Pos)       /*!< CRPT_T::AES1_DADDR: DADDR Mask         */
+
+#define CRPT_AES1_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES1_CNT: CNT Position         */
+#define CRPT_AES1_CNT_CNT_Msk            (0xfffffffful << CRPT_AES1_CNT_CNT_Pos)           /*!< CRPT_T::AES1_CNT: CNT Mask             */
+
+#define CRPT_AES2_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES2_KEY[8]: KEY Position      */
+#define CRPT_AES2_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES2_KEYx_KEY_Pos)          /*!< CRPT_T::AES2_KEY[8]: KEY Mask          */
+
+#define CRPT_AES2_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES2_IV[4]: IV Position        */
+#define CRPT_AES2_IVx_IV_Msk             (0xfffffffful << CRPT_AES2_IVx_IV_Pos)            /*!< CRPT_T::AES2_IV[4]: IV Mask            */
+
+#define CRPT_AES2_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES2_SADDR: SADDR Position     */
+#define CRPT_AES2_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES2_SADDR_SADDR_Pos)       /*!< CRPT_T::AES2_SADDR: SADDR Mask         */
+
+#define CRPT_AES2_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES2_DADDR: DADDR Position     */
+#define CRPT_AES2_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES2_DADDR_DADDR_Pos)       /*!< CRPT_T::AES2_DADDR: DADDR Mask         */
+
+#define CRPT_AES2_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES2_CNT: CNT Position         */
+#define CRPT_AES2_CNT_CNT_Msk            (0xfffffffful << CRPT_AES2_CNT_CNT_Pos)           /*!< CRPT_T::AES2_CNT: CNT Mask             */
+
+#define CRPT_AES3_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES3_KEY[8]: KEY Position      */
+#define CRPT_AES3_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES3_KEYx_KEY_Pos)          /*!< CRPT_T::AES3_KEY[8]: KEY Mask          */
+
+#define CRPT_AES3_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES3_IV[4]: IV Position        */
+#define CRPT_AES3_IVx_IV_Msk             (0xfffffffful << CRPT_AES3_IVx_IV_Pos)            /*!< CRPT_T::AES3_IV[4]: IV Mask            */
+
+#define CRPT_AES3_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES3_SADDR: SADDR Position     */
+#define CRPT_AES3_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES3_SADDR_SADDR_Pos)       /*!< CRPT_T::AES3_SADDR: SADDR Mask         */
+
+#define CRPT_AES3_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES3_DADDR: DADDR Position     */
+#define CRPT_AES3_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES3_DADDR_DADDR_Pos)       /*!< CRPT_T::AES3_DADDR: DADDR Mask         */
+
+#define CRPT_AES3_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES3_CNT: CNT Position         */
+#define CRPT_AES3_CNT_CNT_Msk            (0xfffffffful << CRPT_AES3_CNT_CNT_Pos)           /*!< CRPT_T::AES3_CNT: CNT Mask             */
+
+#define CRPT_TDES_CTL_START_Pos          (0)                                               /*!< CRPT_T::TDES_CTL: START Position       */
+#define CRPT_TDES_CTL_START_Msk          (0x1ul << CRPT_TDES_CTL_START_Pos)                /*!< CRPT_T::TDES_CTL: START Mask           */
+
+#define CRPT_TDES_CTL_STOP_Pos           (1)                                               /*!< CRPT_T::TDES_CTL: STOP Position        */
+#define CRPT_TDES_CTL_STOP_Msk           (0x1ul << CRPT_TDES_CTL_STOP_Pos)                 /*!< CRPT_T::TDES_CTL: STOP Mask            */
+
+#define CRPT_TDES_CTL_TMODE_Pos          (2)                                               /*!< CRPT_T::TDES_CTL: TMODE Position       */
+#define CRPT_TDES_CTL_TMODE_Msk          (0x1ul << CRPT_TDES_CTL_TMODE_Pos)                /*!< CRPT_T::TDES_CTL: TMODE Mask           */
+
+#define CRPT_TDES_CTL_3KEYS_Pos          (3)                                               /*!< CRPT_T::TDES_CTL: 3KEYS Position       */
+#define CRPT_TDES_CTL_3KEYS_Msk          (0x1ul << CRPT_TDES_CTL_3KEYS_Pos)                /*!< CRPT_T::TDES_CTL: 3KEYS Mask           */
+
+#define CRPT_TDES_CTL_DMALAST_Pos        (5)                                               /*!< CRPT_T::TDES_CTL: DMALAST Position     */
+#define CRPT_TDES_CTL_DMALAST_Msk        (0x1ul << CRPT_TDES_CTL_DMALAST_Pos)              /*!< CRPT_T::TDES_CTL: DMALAST Mask         */
+
+#define CRPT_TDES_CTL_DMACSCAD_Pos       (6)                                               /*!< CRPT_T::TDES_CTL: DMACSCAD Position    */
+#define CRPT_TDES_CTL_DMACSCAD_Msk       (0x1ul << CRPT_TDES_CTL_DMACSCAD_Pos)             /*!< CRPT_T::TDES_CTL: DMACSCAD Mask        */
+
+#define CRPT_TDES_CTL_DMAEN_Pos          (7)                                               /*!< CRPT_T::TDES_CTL: DMAEN Position       */
+#define CRPT_TDES_CTL_DMAEN_Msk          (0x1ul << CRPT_TDES_CTL_DMAEN_Pos)                /*!< CRPT_T::TDES_CTL: DMAEN Mask           */
+
+#define CRPT_TDES_CTL_OPMODE_Pos         (8)                                               /*!< CRPT_T::TDES_CTL: OPMODE Position      */
+#define CRPT_TDES_CTL_OPMODE_Msk         (0x7ul << CRPT_TDES_CTL_OPMODE_Pos)               /*!< CRPT_T::TDES_CTL: OPMODE Mask          */
+
+#define CRPT_TDES_CTL_ENCRPT_Pos         (16)                                              /*!< CRPT_T::TDES_CTL: ENCRPT Position      */
+#define CRPT_TDES_CTL_ENCRPT_Msk         (0x1ul << CRPT_TDES_CTL_ENCRPT_Pos)               /*!< CRPT_T::TDES_CTL: ENCRPT Mask          */
+
+#define CRPT_TDES_CTL_BLKSWAP_Pos        (21)                                              /*!< CRPT_T::TDES_CTL: BLKSWAP Position     */
+#define CRPT_TDES_CTL_BLKSWAP_Msk        (0x1ul << CRPT_TDES_CTL_BLKSWAP_Pos)              /*!< CRPT_T::TDES_CTL: BLKSWAP Mask         */
+
+#define CRPT_TDES_CTL_OUTSWAP_Pos        (22)                                              /*!< CRPT_T::TDES_CTL: OUTSWAP Position     */
+#define CRPT_TDES_CTL_OUTSWAP_Msk        (0x1ul << CRPT_TDES_CTL_OUTSWAP_Pos)              /*!< CRPT_T::TDES_CTL: OUTSWAP Mask         */
+
+#define CRPT_TDES_CTL_INSWAP_Pos         (23)                                              /*!< CRPT_T::TDES_CTL: INSWAP Position      */
+#define CRPT_TDES_CTL_INSWAP_Msk         (0x1ul << CRPT_TDES_CTL_INSWAP_Pos)               /*!< CRPT_T::TDES_CTL: INSWAP Mask          */
+
+#define CRPT_TDES_CTL_CHANNEL_Pos        (24)                                              /*!< CRPT_T::TDES_CTL: CHANNEL Position     */
+#define CRPT_TDES_CTL_CHANNEL_Msk        (0x3ul << CRPT_TDES_CTL_CHANNEL_Pos)              /*!< CRPT_T::TDES_CTL: CHANNEL Mask         */
+
+#define CRPT_TDES_CTL_KEYUNPRT_Pos       (26)                                              /*!< CRPT_T::TDES_CTL: KEYUNPRT Position    */
+#define CRPT_TDES_CTL_KEYUNPRT_Msk       (0x1ful << CRPT_TDES_CTL_KEYUNPRT_Pos)            /*!< CRPT_T::TDES_CTL: KEYUNPRT Mask        */
+
+#define CRPT_TDES_CTL_KEYPRT_Pos         (31)                                              /*!< CRPT_T::TDES_CTL: KEYPRT Position      */
+#define CRPT_TDES_CTL_KEYPRT_Msk         (0x1ul << CRPT_TDES_CTL_KEYPRT_Pos)               /*!< CRPT_T::TDES_CTL: KEYPRT Mask          */
+
+#define CRPT_TDES_STS_BUSY_Pos           (0)                                               /*!< CRPT_T::TDES_STS: BUSY Position        */
+#define CRPT_TDES_STS_BUSY_Msk           (0x1ul << CRPT_TDES_STS_BUSY_Pos)                 /*!< CRPT_T::TDES_STS: BUSY Mask            */
+
+#define CRPT_TDES_STS_INBUFEMPTY_Pos     (8)                                               /*!< CRPT_T::TDES_STS: INBUFEMPTY Position  */
+#define CRPT_TDES_STS_INBUFEMPTY_Msk     (0x1ul << CRPT_TDES_STS_INBUFEMPTY_Pos)           /*!< CRPT_T::TDES_STS: INBUFEMPTY Mask      */
+
+#define CRPT_TDES_STS_INBUFFULL_Pos      (9)                                               /*!< CRPT_T::TDES_STS: INBUFFULL Position   */
+#define CRPT_TDES_STS_INBUFFULL_Msk      (0x1ul << CRPT_TDES_STS_INBUFFULL_Pos)            /*!< CRPT_T::TDES_STS: INBUFFULL Mask       */
+
+#define CRPT_TDES_STS_INBUFERR_Pos       (10)                                              /*!< CRPT_T::TDES_STS: INBUFERR Position    */
+#define CRPT_TDES_STS_INBUFERR_Msk       (0x1ul << CRPT_TDES_STS_INBUFERR_Pos)             /*!< CRPT_T::TDES_STS: INBUFERR Mask        */
+
+#define CRPT_TDES_STS_OUTBUFEMPTY_Pos    (16)                                              /*!< CRPT_T::TDES_STS: OUTBUFEMPTY Position */
+#define CRPT_TDES_STS_OUTBUFEMPTY_Msk    (0x1ul << CRPT_TDES_STS_OUTBUFEMPTY_Pos)          /*!< CRPT_T::TDES_STS: OUTBUFEMPTY Mask     */
+
+#define CRPT_TDES_STS_OUTBUFFULL_Pos     (17)                                              /*!< CRPT_T::TDES_STS: OUTBUFFULL Position  */
+#define CRPT_TDES_STS_OUTBUFFULL_Msk     (0x1ul << CRPT_TDES_STS_OUTBUFFULL_Pos)           /*!< CRPT_T::TDES_STS: OUTBUFFULL Mask      */
+
+#define CRPT_TDES_STS_OUTBUFERR_Pos      (18)                                              /*!< CRPT_T::TDES_STS: OUTBUFERR Position   */
+#define CRPT_TDES_STS_OUTBUFERR_Msk      (0x1ul << CRPT_TDES_STS_OUTBUFERR_Pos)            /*!< CRPT_T::TDES_STS: OUTBUFERR Mask       */
+
+#define CRPT_TDES_STS_BUSERR_Pos         (20)                                              /*!< CRPT_T::TDES_STS: BUSERR Position      */
+#define CRPT_TDES_STS_BUSERR_Msk         (0x1ul << CRPT_TDES_STS_BUSERR_Pos)               /*!< CRPT_T::TDES_STS: BUSERR Mask          */
+
+#define CRPT_TDES0_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES0_KEYxH: KEY Position      */
+#define CRPT_TDES0_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES0_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES0_KEYxH: KEY Mask          */
+
+#define CRPT_TDES0_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES0_KEYxL: KEY Position      */
+#define CRPT_TDES0_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES0_KEYxL_KEY_Pos)        /*!< CRPT_T::TDES0_KEYxL: KEY Mask          */
+
+#define CRPT_TDES0_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES0_IVH: IV Position         */
+#define CRPT_TDES0_IVH_IV_Msk            (0xfffffffful << CRPT_TDES0_IVH_IV_Pos)           /*!< CRPT_T::TDES0_IVH: IV Mask             */
+
+#define CRPT_TDES0_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES0_IVL: IV Position         */
+#define CRPT_TDES0_IVL_IV_Msk            (0xfffffffful << CRPT_TDES0_IVL_IV_Pos)           /*!< CRPT_T::TDES0_IVL: IV Mask             */
+
+#define CRPT_TDES0_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES0_SADDR: SADDR Position    */
+#define CRPT_TDES0_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES0_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES0_SADDR: SADDR Mask        */
+
+#define CRPT_TDES0_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES0_DADDR: DADDR Position    */
+#define CRPT_TDES0_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES0_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES0_DADDR: DADDR Mask        */
+
+#define CRPT_TDES0_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES0_CNT: CNT Position        */
+#define CRPT_TDES0_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES0_CNT_CNT_Pos)          /*!< CRPT_T::TDES0_CNT: CNT Mask            */
+
+#define CRPT_TDES_DATIN_DATIN_Pos        (0)                                               /*!< CRPT_T::TDES_DATIN: DATIN Position     */
+#define CRPT_TDES_DATIN_DATIN_Msk        (0xfffffffful << CRPT_TDES_DATIN_DATIN_Pos)       /*!< CRPT_T::TDES_DATIN: DATIN Mask         */
+
+#define CRPT_TDES_DATOUT_DATOUT_Pos      (0)                                               /*!< CRPT_T::TDES_DATOUT: DATOUT Position   */
+#define CRPT_TDES_DATOUT_DATOUT_Msk      (0xfffffffful << CRPT_TDES_DATOUT_DATOUT_Pos)     /*!< CRPT_T::TDES_DATOUT: DATOUT Mask       */
+
+#define CRPT_TDES1_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES1_KEYxH: KEY Position      */
+#define CRPT_TDES1_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES1_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES1_KEYxH: KEY Mask          */
+
+#define CRPT_TDES1_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES1_KEYxL: KEY Position      */
+#define CRPT_TDES1_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES1_KEY1L_KEY_Pos)        /*!< CRPT_T::TDES1_KEYxL: KEY Mask          */
+
+#define CRPT_TDES1_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES1_IVH: IV Position         */
+#define CRPT_TDES1_IVH_IV_Msk            (0xfffffffful << CRPT_TDES1_IVH_IV_Pos)           /*!< CRPT_T::TDES1_IVH: IV Mask             */
+
+#define CRPT_TDES1_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES1_IVL: IV Position         */
+#define CRPT_TDES1_IVL_IV_Msk            (0xfffffffful << CRPT_TDES1_IVL_IV_Pos)           /*!< CRPT_T::TDES1_IVL: IV Mask             */
+
+#define CRPT_TDES1_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES1_SADDR: SADDR Position    */
+#define CRPT_TDES1_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES1_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES1_SADDR: SADDR Mask        */
+
+#define CRPT_TDES1_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES1_DADDR: DADDR Position    */
+#define CRPT_TDES1_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES1_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES1_DADDR: DADDR Mask        */
+
+#define CRPT_TDES1_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES1_CNT: CNT Position        */
+#define CRPT_TDES1_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES1_CNT_CNT_Pos)          /*!< CRPT_T::TDES1_CNT: CNT Mask            */
+
+#define CRPT_TDES2_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES2_KEYxH: KEY Position      */
+#define CRPT_TDES2_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES2_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES2_KEYxH: KEY Mask          */
+
+#define CRPT_TDES2_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES2_KEYxL: KEY Position      */
+#define CRPT_TDES2_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES2_KEYxL_KEY_Pos)        /*!< CRPT_T::TDES2_KEYxL: KEY Mask          */
+
+#define CRPT_TDES2_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES2_IVH: IV Position         */
+#define CRPT_TDES2_IVH_IV_Msk            (0xfffffffful << CRPT_TDES2_IVH_IV_Pos)           /*!< CRPT_T::TDES2_IVH: IV Mask             */
+
+#define CRPT_TDES2_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES2_IVL: IV Position         */
+#define CRPT_TDES2_IVL_IV_Msk            (0xfffffffful << CRPT_TDES2_IVL_IV_Pos)           /*!< CRPT_T::TDES2_IVL: IV Mask             */
+
+#define CRPT_TDES2_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES2_SADDR: SADDR Position    */
+#define CRPT_TDES2_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES2_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES2_SADDR: SADDR Mask        */
+
+#define CRPT_TDES2_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES2_DADDR: DADDR Position    */
+#define CRPT_TDES2_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES2_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES2_DADDR: DADDR Mask        */
+
+#define CRPT_TDES2_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES2_CNT: CNT Position        */
+#define CRPT_TDES2_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES2_CNT_CNT_Pos)          /*!< CRPT_T::TDES2_CNT: CNT Mask            */
+
+#define CRPT_TDES3_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES3_KEYxH: KEY Position      */
+#define CRPT_TDES3_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES3_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES3_KEYxH: KEY Mask          */
+
+#define CRPT_TDES3_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES3_KEYxL: KEY Position      */
+#define CRPT_TDES3_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES3_KEYxL_KEY_Pos)        /*!< CRPT_T::TDES3_KEYxL: KEY Mask          */
+
+#define CRPT_TDES3_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES3_IVH: IV Position         */
+#define CRPT_TDES3_IVH_IV_Msk            (0xfffffffful << CRPT_TDES3_IVH_IV_Pos)           /*!< CRPT_T::TDES3_IVH: IV Mask             */
+
+#define CRPT_TDES3_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES3_IVL: IV Position         */
+#define CRPT_TDES3_IVL_IV_Msk            (0xfffffffful << CRPT_TDES3_IVL_IV_Pos)           /*!< CRPT_T::TDES3_IVL: IV Mask             */
+
+#define CRPT_TDES3_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES3_SADDR: SADDR Position    */
+#define CRPT_TDES3_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES3_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES3_SADDR: SADDR Mask        */
+
+#define CRPT_TDES3_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES3_DADDR: DADDR Position    */
+#define CRPT_TDES3_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES3_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES3_DADDR: DADDR Mask        */
+
+#define CRPT_TDES3_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES3_CNT: CNT Position        */
+#define CRPT_TDES3_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES3_CNT_CNT_Pos)          /*!< CRPT_T::TDES3_CNT: CNT Mask            */
+
+#define CRPT_HMAC_CTL_START_Pos          (0)                                               /*!< CRPT_T::HMAC_CTL: START Position       */
+#define CRPT_HMAC_CTL_START_Msk          (0x1ul << CRPT_HMAC_CTL_START_Pos)                /*!< CRPT_T::HMAC_CTL: START Mask           */
+
+#define CRPT_HMAC_CTL_STOP_Pos           (1)                                               /*!< CRPT_T::HMAC_CTL: STOP Position        */
+#define CRPT_HMAC_CTL_STOP_Msk           (0x1ul << CRPT_HMAC_CTL_STOP_Pos)                 /*!< CRPT_T::HMAC_CTL: STOP Mask            */
+
+#define CRPT_HMAC_CTL_HMACEN_Pos         (4)                                               /*!< CRPT_T::HMAC_CTL: HMACEN Position      */
+#define CRPT_HMAC_CTL_HMACEN_Msk         (0x1ul << CRPT_HMAC_CTL_HMACEN_Pos)               /*!< CRPT_T::HMAC_CTL: HMACEN Mask          */
+
+#define CRPT_HMAC_CTL_DMALAST_Pos        (5)                                               /*!< CRPT_T::HMAC_CTL: DMALAST Position     */
+#define CRPT_HMAC_CTL_DMALAST_Msk        (0x1ul << CRPT_HMAC_CTL_DMALAST_Pos)              /*!< CRPT_T::HMAC_CTL: DMALAST Mask         */
+
+#define CRPT_HMAC_CTL_DMAEN_Pos          (7)                                               /*!< CRPT_T::HMAC_CTL: DMAEN Position       */
+#define CRPT_HMAC_CTL_DMAEN_Msk          (0x1ul << CRPT_HMAC_CTL_DMAEN_Pos)                /*!< CRPT_T::HMAC_CTL: DMAEN Mask           */
+
+#define CRPT_HMAC_CTL_OPMODE_Pos         (8)                                               /*!< CRPT_T::HMAC_CTL: OPMODE Position      */
+#define CRPT_HMAC_CTL_OPMODE_Msk         (0x7ul << CRPT_HMAC_CTL_OPMODE_Pos)               /*!< CRPT_T::HMAC_CTL: OPMODE Mask          */
+
+#define CRPT_HMAC_CTL_OUTSWAP_Pos        (22)                                              /*!< CRPT_T::HMAC_CTL: OUTSWAP Position     */
+#define CRPT_HMAC_CTL_OUTSWAP_Msk        (0x1ul << CRPT_HMAC_CTL_OUTSWAP_Pos)              /*!< CRPT_T::HMAC_CTL: OUTSWAP Mask         */
+
+#define CRPT_HMAC_CTL_INSWAP_Pos         (23)                                              /*!< CRPT_T::HMAC_CTL: INSWAP Position      */
+#define CRPT_HMAC_CTL_INSWAP_Msk         (0x1ul << CRPT_HMAC_CTL_INSWAP_Pos)               /*!< CRPT_T::HMAC_CTL: INSWAP Mask          */
+
+#define CRPT_HMAC_STS_BUSY_Pos           (0)                                               /*!< CRPT_T::HMAC_STS: BUSY Position        */
+#define CRPT_HMAC_STS_BUSY_Msk           (0x1ul << CRPT_HMAC_STS_BUSY_Pos)                 /*!< CRPT_T::HMAC_STS: BUSY Mask            */
+
+#define CRPT_HMAC_STS_DMABUSY_Pos        (1)                                               /*!< CRPT_T::HMAC_STS: DMABUSY Position     */
+#define CRPT_HMAC_STS_DMABUSY_Msk        (0x1ul << CRPT_HMAC_STS_DMABUSY_Pos)              /*!< CRPT_T::HMAC_STS: DMABUSY Mask         */
+
+#define CRPT_HMAC_STS_DMAERR_Pos         (8)                                               /*!< CRPT_T::HMAC_STS: DMAERR Position      */
+#define CRPT_HMAC_STS_DMAERR_Msk         (0x1ul << CRPT_HMAC_STS_DMAERR_Pos)               /*!< CRPT_T::HMAC_STS: DMAERR Mask          */
+
+#define CRPT_HMAC_STS_DATINREQ_Pos       (16)                                              /*!< CRPT_T::HMAC_STS: DATINREQ Position    */
+#define CRPT_HMAC_STS_DATINREQ_Msk       (0x1ul << CRPT_HMAC_STS_DATINREQ_Pos)             /*!< CRPT_T::HMAC_STS: DATINREQ Mask        */
+
+#define CRPT_HMAC_DGSTx_DGST_Pos         (0)                                               /*!< CRPT_T::HMAC_DGST[16]: DGST Position   */
+#define CRPT_HMAC_DGSTx_DGST_Msk         (0xfffffffful << CRPT_HMAC_DGSTx_DGST_Pos)        /*!< CRPT_T::HMAC_DGST[16]: DGST Mask       */
+
+#define CRPT_HMAC_KEYCNT_KEYCNT_Pos      (0)                                               /*!< CRPT_T::HMAC_KEYCNT: KEYCNT Position   */
+#define CRPT_HMAC_KEYCNT_KEYCNT_Msk      (0xfffffffful << CRPT_HMAC_KEYCNT_KEYCNT_Pos)     /*!< CRPT_T::HMAC_KEYCNT: KEYCNT Mask       */
+
+#define CRPT_HMAC_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::HMAC_SADDR: SADDR Position     */
+#define CRPT_HMAC_SADDR_SADDR_Msk        (0xfffffffful << CRPT_HMAC_SADDR_SADDR_Pos)       /*!< CRPT_T::HMAC_SADDR: SADDR Mask         */
+
+#define CRPT_HMAC_DMACNT_DMACNT_Pos      (0)                                               /*!< CRPT_T::HMAC_DMACNT: DMACNT Position   */
+#define CRPT_HMAC_DMACNT_DMACNT_Msk      (0xfffffffful << CRPT_HMAC_DMACNT_DMACNT_Pos)     /*!< CRPT_T::HMAC_DMACNT: DMACNT Mask       */
+
+#define CRPT_HMAC_DATIN_DATIN_Pos        (0)                                               /*!< CRPT_T::HMAC_DATIN: DATIN Position     */
+#define CRPT_HMAC_DATIN_DATIN_Msk        (0xfffffffful << CRPT_HMAC_DATIN_DATIN_Pos)       /*!< CRPT_T::HMAC_DATIN: DATIN Mask         */
+
+#define CRPT_ECC_CTL_START_Pos           (0)                                               /*!< CRPT_T::ECC_CTL: START Position        */
+#define CRPT_ECC_CTL_START_Msk           (0x1ul << CRPT_ECC_CTL_START_Pos)                 /*!< CRPT_T::ECC_CTL: START Mask            */
+
+#define CRPT_ECC_CTL_STOP_Pos            (1)                                               /*!< CRPT_T::ECC_CTL: STOP Position         */
+#define CRPT_ECC_CTL_STOP_Msk            (0x1ul << CRPT_ECC_CTL_STOP_Pos)                  /*!< CRPT_T::ECC_CTL: STOP Mask             */
+
+#define CRPT_ECC_CTL_DMAEN_Pos           (7)                                               /*!< CRPT_T::ECC_CTL: DMAEN Position        */
+#define CRPT_ECC_CTL_DMAEN_Msk           (0x1ul << CRPT_ECC_CTL_DMAEN_Pos)                 /*!< CRPT_T::ECC_CTL: DMAEN Mask            */
+
+#define CRPT_ECC_CTL_FSEL_Pos            (8)                                               /*!< CRPT_T::ECC_CTL: FSEL Position         */
+#define CRPT_ECC_CTL_FSEL_Msk            (0x1ul << CRPT_ECC_CTL_FSEL_Pos)                  /*!< CRPT_T::ECC_CTL: FSEL Mask             */
+
+#define CRPT_ECC_CTL_ECCOP_Pos           (9)                                               /*!< CRPT_T::ECC_CTL: ECCOP Position        */
+#define CRPT_ECC_CTL_ECCOP_Msk           (0x3ul << CRPT_ECC_CTL_ECCOP_Pos)                 /*!< CRPT_T::ECC_CTL: ECCOP Mask            */
+
+#define CRPT_ECC_CTL_MODOP_Pos           (11)                                              /*!< CRPT_T::ECC_CTL: MODOP Position        */
+#define CRPT_ECC_CTL_MODOP_Msk           (0x3ul << CRPT_ECC_CTL_MODOP_Pos)                 /*!< CRPT_T::ECC_CTL: MODOP Mask            */
+
+#define CRPT_ECC_CTL_LDP1_Pos            (16)                                              /*!< CRPT_T::ECC_CTL: LDP1 Position         */
+#define CRPT_ECC_CTL_LDP1_Msk            (0x1ul << CRPT_ECC_CTL_LDP1_Pos)                  /*!< CRPT_T::ECC_CTL: LDP1 Mask             */
+
+#define CRPT_ECC_CTL_LDP2_Pos            (17)                                              /*!< CRPT_T::ECC_CTL: LDP2 Position         */
+#define CRPT_ECC_CTL_LDP2_Msk            (0x1ul << CRPT_ECC_CTL_LDP2_Pos)                  /*!< CRPT_T::ECC_CTL: LDP2 Mask             */
+
+#define CRPT_ECC_CTL_LDA_Pos             (18)                                              /*!< CRPT_T::ECC_CTL: LDA Position          */
+#define CRPT_ECC_CTL_LDA_Msk             (0x1ul << CRPT_ECC_CTL_LDA_Pos)                   /*!< CRPT_T::ECC_CTL: LDA Mask              */
+
+#define CRPT_ECC_CTL_LDB_Pos             (19)                                              /*!< CRPT_T::ECC_CTL: LDB Position          */
+#define CRPT_ECC_CTL_LDB_Msk             (0x1ul << CRPT_ECC_CTL_LDB_Pos)                   /*!< CRPT_T::ECC_CTL: LDB Mask              */
+
+#define CRPT_ECC_CTL_LDN_Pos             (20)                                              /*!< CRPT_T::ECC_CTL: LDN Position          */
+#define CRPT_ECC_CTL_LDN_Msk             (0x1ul << CRPT_ECC_CTL_LDN_Pos)                   /*!< CRPT_T::ECC_CTL: LDN Mask              */
+
+#define CRPT_ECC_CTL_LDK_Pos             (21)                                              /*!< CRPT_T::ECC_CTL: LDK Position          */
+#define CRPT_ECC_CTL_LDK_Msk             (0x1ul << CRPT_ECC_CTL_LDK_Pos)                   /*!< CRPT_T::ECC_CTL: LDK Mask              */
+
+#define CRPT_ECC_CTL_CURVEM_Pos          (22)                                              /*!< CRPT_T::ECC_CTL: CURVEM Position       */
+#define CRPT_ECC_CTL_CURVEM_Msk          (0x3fful << CRPT_ECC_CTL_CURVEM_Pos)              /*!< CRPT_T::ECC_CTL: CURVEM Mask           */
+
+#define CRPT_ECC_STS_BUSY_Pos            (0)                                               /*!< CRPT_T::ECC_STS: BUSY Position         */
+#define CRPT_ECC_STS_BUSY_Msk            (0x1ul << CRPT_ECC_STS_BUSY_Pos)                  /*!< CRPT_T::ECC_STS: BUSY Mask             */
+
+#define CRPT_ECC_STS_DMABUSY_Pos         (1)                                               /*!< CRPT_T::ECC_STS: DMABUSY Position      */
+#define CRPT_ECC_STS_DMABUSY_Msk         (0x1ul << CRPT_ECC_STS_DMABUSY_Pos)               /*!< CRPT_T::ECC_STS: DMABUSY Mask          */
+
+#define CRPT_ECC_STS_BUSERR_Pos          (16)                                              /*!< CRPT_T::ECC_STS: BUSERR Position       */
+#define CRPT_ECC_STS_BUSERR_Msk          (0x1ul << CRPT_ECC_STS_BUSERR_Pos)                /*!< CRPT_T::ECC_STS: BUSERR Mask           */
+
+#define CRPT_ECC_X1_POINTX1_Pos          (0)                                               /*!< CRPT_T::ECC_X1[18]:  POINTX1 Position  */
+#define CRPT_ECC_X1_POINTX1_Msk          (0xfffffffful << CRPT_ECC_X1_POINTX1_Pos)         /*!< CRPT_T::ECC_X1[18]:  POINTX1 Mask      */
+
+#define CRPT_ECC_Y1_POINTY1_Pos          (0)                                               /*!< CRPT_T::ECC_Y1[18]: POINTY1 Position   */
+#define CRPT_ECC_Y1_POINTY1_Msk          (0xfffffffful << CRPT_ECC_Y1_POINTY1_Pos)         /*!< CRPT_T::ECC_Y1[18]: POINTY1 Mask       */
+
+#define CRPT_ECC_X2_POINTX2_Pos          (0)                                               /*!< CRPT_T::ECC_X2[18]: POINTX2 Position   */
+#define CRPT_ECC_X2_POINTX2_Msk          (0xfffffffful << CRPT_ECC_X2_POINTX2_Pos)         /*!< CRPT_T::ECC_X2[18]: POINTX2 Mask       */
+
+#define CRPT_ECC_Y2_POINTY2_Pos          (0)                                               /*!< CRPT_T::ECC_Y2[18]: POINTY2 Position   */
+#define CRPT_ECC_Y2_POINTY2_Msk          (0xfffffffful << CRPT_ECC_Y2_POINTY2_Pos)         /*!< CRPT_T::ECC_Y2[18]: POINTY2 Mask       */
+
+#define CRPT_ECC_A_CURVEA_Pos            (0)                                               /*!< CRPT_T::ECC_A[18]: CURVEA Position     */
+#define CRPT_ECC_A_CURVEA_Msk            (0xfffffffful << CRPT_ECC_A_CURVEA_Pos)           /*!< CRPT_T::ECC_A[18]: CURVEA Mask         */
+
+#define CRPT_ECC_B_CURVEB_Pos            (0)                                               /*!< CRPT_T::ECC_B[18]: CURVEB Position     */
+#define CRPT_ECC_B_CURVEB_Msk            (0xfffffffful << CRPT_ECC_B_CURVEB_Pos)           /*!< CRPT_T::ECC_B[18]: CURVEB Mask         */
+
+#define CRPT_ECC_N_CURVEN_Pos            (0)                                               /*!< CRPT_T::ECC_N[18]: CURVEN Position     */
+#define CRPT_ECC_N_CURVEN_Msk            (0xfffffffful << CRPT_ECC_N_CURVEN_Pos)           /*!< CRPT_T::ECC_N[18]: CURVEN Mask         */
+
+#define CRPT_ECC_K_SCALARK_Pos           (0)                                               /*!< CRPT_T::ECC_K[18]: SCALARK Position    */
+#define CRPT_ECC_K_SCALARK_Msk           (0xfffffffful << CRPT_ECC_K_SCALARK_Pos)          /*!< CRPT_T::ECC_K[18]: SCALARK Mask        */
+
+#define CRPT_ECC_DADDR_DADDR_Pos         (0)                                               /*!< CRPT_T::ECC_DADDR: DADDR Position      */
+#define CRPT_ECC_DADDR_DADDR_Msk         (0xfffffffful << CRPT_ECC_DADDR_DADDR_Pos)        /*!< CRPT_T::ECC_DADDR: DADDR Mask          */
+
+#define CRPT_ECC_STARTREG_STARTREG_Pos   (0)                                               /*!< CRPT_T::ECC_STARTREG: STARTREG Position*/
+#define CRPT_ECC_STARTREG_STARTREG_Msk   (0xfffffffful << CRPT_ECC_STARTREG_STARTREG_Pos)  /*!< CRPT_T::ECC_STARTREG: STARTREG Mask    */
+
+#define CRPT_ECC_WORDCNT_WORDCNT_Pos     (0)                                               /*!< CRPT_T::ECC_WORDCNT: WORDCNT Position  */
+#define CRPT_ECC_WORDCNT_WORDCNT_Msk     (0xfffffffful << CRPT_ECC_WORDCNT_WORDCNT_Pos)    /*!< CRPT_T::ECC_WORDCNT: WORDCNT Mask      */
+
+/**@}*/ /* CRPT_CONST CRYPTO */
+/**@}*/ /* end of CRYPTO register group */
+/**@}*/ /* end of REGISTER group */
+
+#if defined ( __CC_ARM   )
+#pragma no_anon_unions
+#endif
+
+#endif /* __CRYPTO_REG_H__ */

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů