diff options
author | jaseg <git@jaseg.net> | 2018-11-17 11:35:25 +0900 |
---|---|---|
committer | jaseg <git@jaseg.net> | 2018-11-17 11:35:25 +0900 |
commit | 194bd7fdb9c0ffd66f7c574c2854f396c2a8ab93 (patch) | |
tree | 56b6a754a8d67c254d52c4bba2f66f2dca1c09fc | |
parent | 155a29ce08fc019faefbf4ee3bfa0ea82c8501c3 (diff) | |
download | secure-hid-194bd7fdb9c0ffd66f7c574c2854f396c2a8ab93.tar.gz secure-hid-194bd7fdb9c0ffd66f7c574c2854f396c2a8ab93.tar.bz2 secure-hid-194bd7fdb9c0ffd66f7c574c2854f396c2a8ab93.zip |
Initial schematic commit
-rw-r--r-- | Makefile | 75 | ||||
-rw-r--r-- | build/.git_keep | 0 | ||||
-rw-r--r-- | keyboard.c | 73 | ||||
-rw-r--r-- | main.c | 247 | ||||
-rw-r--r-- | main.h | 97 | ||||
-rw-r--r-- | mapparse.py | 129 | ||||
-rw-r--r-- | mapvis.py | 25 | ||||
-rw-r--r-- | menu.c | 110 | ||||
-rw-r--r-- | openocd.cfg | 14 | ||||
-rw-r--r-- | pcb/components.bck | 3 | ||||
-rw-r--r-- | pcb/components.dcm | 3 | ||||
-rw-r--r-- | pcb/components.lib | 44 | ||||
-rw-r--r-- | pcb/securehid-cache.lib | 732 | ||||
-rw-r--r-- | pcb/securehid.bak | 2310 | ||||
-rw-r--r-- | pcb/securehid.kicad_pcb | 1 | ||||
-rw-r--r-- | pcb/securehid.pro | 30 | ||||
-rw-r--r-- | pcb/securehid.sch | 2336 | ||||
-rw-r--r-- | pcb/sym-lib-table | 41 | ||||
-rw-r--r-- | startup_stm32f407xx.s | 523 | ||||
-rw-r--r-- | stm32_flash.ld | 158 | ||||
-rw-r--r-- | stm32f4xx_hal_conf.h | 154 | ||||
-rw-r--r-- | stm32f4xx_it.c | 72 | ||||
-rw-r--r-- | stm32f4xx_it.h | 44 | ||||
-rw-r--r-- | syscalls.c | 190 | ||||
-rw-r--r-- | system_stm32f4xx.c | 143 | ||||
-rw-r--r-- | usbh_conf.c | 434 | ||||
-rw-r--r-- | usbh_conf.h | 114 |
27 files changed, 5500 insertions, 2602 deletions
diff --git a/Makefile b/Makefile deleted file mode 100644 index ab1ca8d..0000000 --- a/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -# put your *.o targets here, make should handle the rest! -CUBE_PATH ?= $(wildcard ~)/resource/STM32CubeF4 -CMSIS_PATH ?= $(CUBE_PATH)/Drivers/CMSIS -CMSIS_DEV_PATH ?= $(CMSIS_PATH)/Device/ST/STM32F4xx -HAL_PATH ?= $(CUBE_PATH)/Drivers/STM32F4xx_HAL_Driver -USB_PATH ?= $(CUBE_PATH)/Middlewares/ST/STM32_USB_Host_Library -OUT ?= out - -VPATH = .:$(HAL_PATH)/Src:$(USB_PATH)/Core/Src:$(USB_PATH)/Class/HID/Src - -CC := arm-none-eabi-gcc -LD := arm-none-eabi-ld -OBJCOPY := arm-none-eabi-objcopy -OBJDUMP := arm-none-eabi-objdump -SIZE := arm-none-eabi-size - -CFLAGS = -g -Wall -std=gnu11 -Os -fdump-rtl-expand -CFLAGS += -mlittle-endian -mcpu=cortex-m4 -mthumb -#CFLAGS += -ffunction-sections -fdata-sections -LDFLAGS = -nostartfiles -LDFLAGS += -g -Wl,-Map=main.map -nostdlib -#LDFLAGS += -Wl,--gc-sections -LIBS = -lgcc - -CFLAGS += -DSTM32F407xx - -LDFLAGS += -Tstm32_flash.ld -CFLAGS += -I$(CMSIS_DEV_PATH)/Include -I$(CMSIS_PATH)/Include -I$(HAL_PATH)/Inc -I. -Iconfig -LDFLAGS += -L$(CMSIS_PATH)/Lib/GCC - -SOURCES = main.c keyboard.c menu.c usbh_conf.c startup_stm32f407xx.s system_stm32f4xx.c syscalls.c stm32f4xx_it.c -SOURCES_C = $(filter %.c,$(SOURCES)) -SOURCES_ASM = $(filter %.s,$(SOURCES)) - -CFLAGS += -I$(USB_PATH)/Core/Inc -I$(USB_PATH)/Class/HID/Inc -USB_SOURCES := $(notdir $(wildcard $(USB_PATH)/Core/Src/*.c)) $(notdir $(wildcard $(USB_PATH)/Class/HID/Src/*.c)) -USB_SOURCES := $(filter-out usbh_conf_template.c,$(USB_SOURCES)) - -HAL_SOURCES = stm32f4xx_hal.c -HAL_SOURCES += stm32f4xx_hal_rcc.c stm32f4xx_hal_flash.c stm32f4xx_hal_flash_ex.c stm32f4xx_hal_dma.c -HAL_SOURCES += stm32f4xx_hal_usart.c stm32f4xx_hal_pwr.c -HAL_SOURCES += stm32f4xx_hal_hcd.c stm32f4xx_hal_gpio.c stm32f4xx_hal_cortex.c -HAL_SOURCES += stm32f4xx_ll_usb.c - -################################################################################ - -.PHONY: program clean - -all: main.elf main.pdf - -%.o: %.c - $(CC) -c $(CFLAGS) -o $@ $^ - -%.o: %.s - $(CC) -c $(CFLAGS) -o $@ $^ - -%.dot: %.elf - r2 -a arm -qc 'aa;agC' $< 2>/dev/null >$@ - -#$(HAL_PATH)/Src/stm32f4xx_ll_utils.o -main.elf: $(SOURCES_ASM:.s=.o) $(SOURCES_C:.c=.o) $(USB_SOURCES:.c=.o) $(HAL_SOURCES:.c=.o) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) - $(OBJCOPY) -O ihex $@ $(@:.elf=.hex) - $(OBJCOPY) -O binary $@ $(@:.elf=.bin) - $(OBJDUMP) -St $@ >$(@:.elf=.lst) - $(SIZE) $@ - -program: main.elf openocd.cfg - openocd -f openocd.cfg -c "program $< verify reset exit" - -clean: - rm -f **.o - rm -f main.elf main.hex main.bin main.map main.lst - rm -f **.expand - diff --git a/build/.git_keep b/build/.git_keep deleted file mode 100644 index e69de29..0000000 --- a/build/.git_keep +++ /dev/null diff --git a/keyboard.c b/keyboard.c deleted file mode 100644 index 6a3f44a..0000000 --- a/keyboard.c +++ /dev/null @@ -1,73 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Src/keyboard.c
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief This file implements the HID keyboard functions
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V.
- * All rights reserved.</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted, provided that the following conditions are met:
- *
- * 1. Redistribution 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. Neither the name of STMicroelectronics nor the names of other
- * contributors to this software may be used to endorse or promote products
- * derived from this software without specific written permission.
- * 4. This software, including modifications and/or derivative works of this
- * software, must execute solely and exclusively on microcontroller or
- * microprocessor devices manufactured by or for STMicroelectronics.
- * 5. Redistribution and use of this software other than as permitted under
- * this license is void and will automatically terminate your rights under
- * this license.
- *
- * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
- * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
- * SHALL STMICROELECTRONICS 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.
- *
- ******************************************************************************
- */
-#include "main.h"
-
-#define KYBRD_FIRST_COLUMN (uint16_t)7
-#define KYBRD_LAST_COLUMN (uint16_t)479
-#define KYBRD_FIRST_LINE (uint8_t)90
-#define SMALL_FONT_COLUMN_WIDTH 8
-#define SMALL_FONT_LINE_WIDTH 15
-#define KYBRD_LAST_LINE (uint16_t)200
-
-extern HID_DEMO_StateMachine hid_demo;
-uint8_t KeybrdCharXpos = 0;
-uint16_t KeybrdCharYpos = 0;
-
-static void USR_KEYBRD_Init(void);
-
-void HID_KeyboardMenuProcess(void) { USR_KEYBRD_Init(); }
-
-static void USR_KEYBRD_Init(void)
-{
- uart_print("Keyboard initialized\n");
-}
-
-void USR_KEYBRD_ProcessData(uint8_t data)
-{
- uart_putc(data);
-}
-
@@ -1,247 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Src/main.c
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief USB host HID Mouse and Keyboard demo main file
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V.
- * All rights reserved.</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted, provided that the following conditions are met:
- *
- * 1. Redistribution 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. Neither the name of STMicroelectronics nor the names of other
- * contributors to this software may be used to endorse or promote products
- * derived from this software without specific written permission.
- * 4. This software, including modifications and/or derivative works of this
- * software, must execute solely and exclusively on microcontroller or
- * microprocessor devices manufactured by or for STMicroelectronics.
- * 5. Redistribution and use of this software other than as permitted under
- * this license is void and will automatically terminate your rights under
- * this license.
- *
- * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
- * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
- * SHALL STMICROELECTRONICS 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.
- *
- ******************************************************************************
- */
-
-#include "main.h"
-
-SCB_Type *scb = SCB;
-GPIO_TypeDef *gpioa = GPIOA;
-
-USBH_HandleTypeDef hUSBHost;
-HID_ApplicationTypeDef Appli_state = APPLICATION_IDLE;
-
-USART_HandleTypeDef console_uart;
-
-static void SystemClock_Config(void);
-static void USBH_UserProcess(USBH_HandleTypeDef* phost, uint8_t id);
-static void HID_InitApplication(void);
-static void Error_Handler(void);
-
-void WWDG_IRQHandler()
-{
- while (1);
-}
-
-void uart_print(char *s)
-{
- /* Like, there is millions of lines of perfectly useless pseudo-comments in the HAL driver. But don't think they'd
- * say what unit that timeout parameter has in any obvious place. I'll just go with milliseconds here -.- */
- HAL_USART_Transmit(&console_uart, (uint8_t*)s, strlen(s), 1000);
-}
-
-void uart_putc(char c)
-{
- /* See above. */
- HAL_USART_Transmit(&console_uart, (uint8_t*)&c, 1, 1000);
-}
-
-void HAL_USART_MspInit(USART_HandleTypeDef *narf)
-{
- __HAL_RCC_GPIOA_CLK_ENABLE();
-
- /* TX */
- GPIO_InitTypeDef pa9 = {
- .Pin = GPIO_PIN_9,
- .Mode = GPIO_MODE_AF_PP,
- .Pull = GPIO_PULLUP,
- .Speed = GPIO_SPEED_FREQ_LOW,
- .Alternate = GPIO_AF7_USART1
- };
- HAL_GPIO_Init(GPIOA, &pa9);
-
- /* RX */
- GPIO_InitTypeDef pa10 = {
- .Pin = GPIO_PIN_10,
- .Mode = GPIO_MODE_AF_PP,
- .Pull = GPIO_PULLUP,
- .Speed = GPIO_SPEED_FREQ_LOW,
- .Alternate = GPIO_AF7_USART1
- };
- HAL_GPIO_Init(GPIOA, &pa10);
-}
-
-int main(void)
-{
- HAL_Init();
- SystemClock_Config();
- /* FIXME
- HID_InitApplication();
- USBH_Init(&hUSBHost, USBH_UserProcess, 0);
- USBH_RegisterClass(&hUSBHost, USBH_HID_CLASS);
- USBH_Start(&hUSBHost);
- */
-
- /* LEDs */
- __HAL_RCC_GPIOA_CLK_ENABLE();
- __HAL_RCC_USART1_CLK_ENABLE();
- RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
- GPIOA->MODER |=
- (1<<GPIO_MODER_MODER6_Pos)|
- (1<<GPIO_MODER_MODER7_Pos);
-
- GPIOA->OSPEEDR |=
- (2<<GPIO_OSPEEDR_OSPEED6_Pos)|
- (2<<GPIO_OSPEEDR_OSPEED7_Pos);
-
- USART_HandleTypeDef foo = {
- .Instance = USART1,
- .Init = {
- .BaudRate = 115200,
- .WordLength = USART_WORDLENGTH_8B,
- .StopBits = USART_STOPBITS_1,
- .Parity = USART_PARITY_NONE,
- .Mode = USART_MODE_TX_RX
- }
- };
- console_uart = foo;
- HAL_USART_Init(&console_uart);
-
- static int ticks = 0;
- while (1) {
- /* FIXME USBH_Process(&hUSBHost); */
- /* FIXME HID_MenuProcess(); */
- Toggle_Leds();
- if (ticks++ == 1000000) {
- uart_print("This is a test\r\n");
- ticks = 0;
- }
- }
-}
-
-static void HID_InitApplication(void)
-{
- HID_MenuInit();
-}
-
-static void USBH_UserProcess(USBH_HandleTypeDef* phost, uint8_t id)
-{
- switch (id) {
- case HOST_USER_SELECT_CONFIGURATION:
- break;
-
- case HOST_USER_DISCONNECTION:
- Appli_state = APPLICATION_DISCONNECT;
- break;
-
- case HOST_USER_CLASS_ACTIVE:
- Appli_state = APPLICATION_READY;
- break;
-
- case HOST_USER_CONNECTION:
- Appli_state = APPLICATION_START;
- break;
-
- default:
- break;
- }
-}
-
-void Toggle_Leds(void) {
- static uint32_t ticks;
-
- if (ticks++ == 1000000) {
- GPIOA->ODR ^= GPIO_ODR_OD6;
- GPIOA->ODR ^= GPIO_ODR_OD7;
- ticks = 0;
- }
-}
-
-static void SystemClock_Config(void)
-{
- /* Enable Power Control clock */
- __HAL_RCC_PWR_CLK_ENABLE();
-
- /* Enable HSE Oscillator and activate PLL with HSE as source */
- RCC_OscInitTypeDef foo = {
- .OscillatorType = RCC_OSCILLATORTYPE_HSE,
- .HSEState = RCC_HSE_ON,
- .PLL.PLLState = RCC_PLL_ON,
- .PLL.PLLSource = RCC_PLLSOURCE_HSE,
- /* HSE input: 8MHz */
- .PLL.PLLM = 8, /* VCO in: 1MHz = 8MHz / 8 */
- .PLL.PLLN = 336, /* VCO out: 336MHz = 1MHz * 336 */
- .PLL.PLLP = RCC_PLLP_DIV2, /* System: 168MHz = 336Mhz / 2 */
- .PLL.PLLQ = 7 /* USB: 48MHz = 336MHz / 7 */
- };
- if (HAL_RCC_OscConfig(&foo) != HAL_OK)
- Error_Handler();
-
- /* FIXME does this require configuration?
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct;
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_CK48;
- PeriphClkInitStruct.Clk48ClockSelection = RCC_CK48CLKSOURCE_PLLSAIP;
- HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct);
- */
-
- /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
- clocks dividers */
- RCC_ClkInitTypeDef bar = {
- .ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2),
- .SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK, /* See above */
- .AHBCLKDivider = RCC_SYSCLK_DIV1, /* 168MHz = 168MHz / 1 */
- .APB1CLKDivider = RCC_HCLK_DIV4, /* 42MHz = 168MHz / 4 */
- .APB2CLKDivider = RCC_HCLK_DIV2 /* 84Mhz = 168MHz / 2 */
- };
- if (HAL_RCC_ClockConfig(&bar, FLASH_LATENCY_5) != HAL_OK)
- Error_Handler();
-}
-
-void HAL_Delay(__IO uint32_t Delay)
-{
- while (Delay) {
- if (SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk)
- Delay--;
- }
-}
-
-static void Error_Handler(void)
-{
- while (1)
- ;
-}
-
-void _init(void) {}
-
@@ -1,97 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Inc/main.h
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief Header for main.c module
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V.
- * All rights reserved.</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted, provided that the following conditions are met:
- *
- * 1. Redistribution 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. Neither the name of STMicroelectronics nor the names of other
- * contributors to this software may be used to endorse or promote products
- * derived from this software without specific written permission.
- * 4. This software, including modifications and/or derivative works of this
- * software, must execute solely and exclusively on microcontroller or
- * microprocessor devices manufactured by or for STMicroelectronics.
- * 5. Redistribution and use of this software other than as permitted under
- * this license is void and will automatically terminate your rights under
- * this license.
- *
- * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
- * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
- * SHALL STMICROELECTRONICS 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 __MAIN_H
-#define __MAIN_H
-
-#include "usbh_core.h"
-#include "usbh_hid.h"
-#include "usbh_hid_parser.h"
-
-#include "stdio.h"
-
-typedef enum {
- HID_DEMO_START = 0,
- HID_DEMO_KEYBOARD,
-} HID_Demo_State;
-
-typedef enum {
- HID_KEYBOARD_IDLE = 0,
- HID_KEYBOARD_WAIT,
- HID_KEYBOARD_START,
-} HID_keyboard_State;
-
-typedef struct _DemoStateMachine {
- __IO HID_Demo_State state;
- __IO HID_keyboard_State keyboard_state;
- __IO uint8_t select;
- __IO uint8_t lock;
-} HID_DEMO_StateMachine;
-
-typedef enum {
- APPLICATION_IDLE = 0,
- APPLICATION_DISCONNECT,
- APPLICATION_START,
- APPLICATION_READY,
- APPLICATION_RUNNING,
-} HID_ApplicationTypeDef;
-
-extern USBH_HandleTypeDef hUSBHost;
-extern HID_ApplicationTypeDef Appli_state;
-extern HID_DEMO_StateMachine hid_demo;
-extern USART_HandleTypeDef console_uart;
-
-void Toggle_Leds(void);
-void HID_SelectItem(uint8_t** menu, uint8_t item);
-void HID_MenuInit(void);
-void HID_MenuProcess(void);
-void HID_KeyboardMenuProcess(void);
-void USR_KEYBRD_ProcessData(uint8_t data);
-
-void uart_print(char *s);
-void uart_putc(char c);
-
-#endif
diff --git a/mapparse.py b/mapparse.py deleted file mode 100644 index c1f460a..0000000 --- a/mapparse.py +++ /dev/null @@ -1,129 +0,0 @@ - -import re -from collections import defaultdict, namedtuple - -Section = namedtuple('Section', ['name', 'offset', 'objects']) -ObjectEntry = namedtuple('ObjectEntry', ['filename', 'object', 'offset', 'size']) -FileEntry = namedtuple('FileEntry', ['section', 'object', 'offset', 'length']) - -class Memory: - def __init__(self, name, origin, length, attrs=''): - self.name, self.origin, self.length, self.attrs = name, origin, length, attrs - self.sections = {} - self.files = defaultdict(lambda: []) - self.totals = defaultdict(lambda: 0) - - def add_toplevel(self, name, offx, length): - self.sections[name] = Section(offx, length, []) - - def add_obj(self, name, offx, length, fn, obj): - base_section, sep, subsec = name[1:].partition('.') - base_section = '.'+base_section - if base_section in self.sections: - sec = secname, secoffx, secobjs = self.sections[base_section] - secobjs.append(ObjectEntry(fn, obj, offx, length)) - else: - sec = None - self.files[fn].append(FileEntry(sec, obj, offx, length)) - self.totals[fn] += length - -class MapFile: - def __init__(self, s): - self._lines = s.splitlines() - self.memcfg = {} - self.defaultmem = Memory('default', 0, 0xffffffffffffffff) - self._parse() - - def __getitem__(self, offx_or_name): - ''' Lookup a memory area by name or address ''' - if offx_or_name in self.memcfg: - return self.memcfg[offx_or_name] - - elif isinstance(offx_or_name, int): - for mem in self.memcfg.values(): - if mem.origin <= offx_or_name < mem.origin+mem.length: - return mem - else: - return self.defaultmem - - raise ValueError('Invalid argument type for indexing') - - def _skip(self, regex): - matcher = re.compile(regex) - for l in self: - if matcher.match(l): - break - - def __iter__(self): - while self._lines: - yield self._lines.pop(0) - - def _parse(self): - self._skip('^Memory Configuration') - - # Parse memory segmentation info - self._skip('^Name') - for l in self: - if not l: - break - name, origin, length, *attrs = l.split() - if not name.startswith('*'): - self.memcfg[name] = Memory(name, int(origin, 16), int(length, 16), attrs[0] if attrs else '') - - # Parse section information - toplevel_m = re.compile('^(\.[a-zA-Z0-9_.]+)\s+(0x[0-9a-fA-F]+)\s+(0x[0-9a-fA-F]+)') - secondlevel_m = re.compile('^ (\.[a-zA-Z0-9_.]+)\s+(0x[0-9a-fA-F]+)\s+(0x[0-9a-fA-F]+)\s+(.*)$') - secondlevel_linebreak_m = re.compile('^ (\.[a-zA-Z0-9_.]+)\n') - filelike = re.compile('^(/?[^()]*\.[a-zA-Z0-9-_]+)(\(.*\))?') - linebreak_section = None - for l in self: - # Toplevel section - match = toplevel_m.match(l) - if match: - name, offx, length = match.groups() - offx, length = int(offx, 16), int(length, 16) - self[offx].add_toplevel(name, offx, length) - - match = secondlevel_linebreak_m.match(l) - if match: - linebreak_section, = match.groups() - continue - - if linebreak_section: - l = ' {} {}'.format(linebreak_section, l) - linebreak_section = None - - # Second-level section - match = secondlevel_m.match(l) - if match: - name, offx, length, misc = match.groups() - match = filelike.match(misc) - if match: - fn, obj = match.groups() - obj = obj.strip('()') if obj else None - offx, length = int(offx, 16), int(length, 16) - self[offx].add_obj(name, offx, length, fn, obj) - - -if __name__ == '__main__': - import argparse - parser = argparse.ArgumentParser(description='Parser GCC map file') - parser.add_argument('mapfile', type=argparse.FileType('r'), help='The GCC .map file to parse') - parser.add_argument('-m', '--memory', type=str, help='The memory segments to print, comma-separated') - args = parser.parse_args() - mf = MapFile(args.mapfile.read()) - args.mapfile.close() - - mems = args.memory.split(',') if args.memory else mf.memcfg.keys() - - for name in mems: - mem = mf.memcfg[name] - print('Symbols by file for memory', name) - for tot, fn in reversed(sorted( (tot, fn) for fn, tot in mem.totals.items() )): - print(' {:>8} {}'.format(tot, fn)) - for length, offx, sec, obj in reversed(sorted(( (length, offx, sec, obj) for sec, obj, offx, length in - mem.files[fn] ), key=lambda e: e[0] )): - name = sec.name if sec else None - print(' {:>8} {:>#08x} {}'.format(length, offx, obj)) - #print('{:>16} 0x{:016x} 0x{:016x} ({:>24}) {}'.format(name, origin, length, length, attrs)) - diff --git a/mapvis.py b/mapvis.py deleted file mode 100644 index 4a71222..0000000 --- a/mapvis.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python3 - -from matplotlib import pyplot as plt - -f, ax = plt.subplots(1, figsize=(3, 8)) -bar_width = 1 - -ax.bar([-bar_width/2], top, bottom=bottom, width=bar_width, label='foo') -ax.set_xticks([0], [filename]) -ax.set_ylabel('Memory usage (B)') -ax.set_xlabel('') - -ax.set_xlim([-bar_width/2, bar_width/2]) -ax.set_ylim([0, mem_max]) - -if __name__ == '__main__': - import argparse - import mapparse - parser = argparse.ArgumentParser(description='Visualize program memory usage using GCC map file') - parser.add_argument('mapfile', type=argparse.FileType('r'), description='Input GCC .map file') - args = parser.parse_args() - - mapping = mapparse.MapFile(args.mapfile.read()) - mapping. - @@ -1,110 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Src/menu.c
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief This file implements Menu Functions
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V.
- * All rights reserved.</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted, provided that the following conditions are met:
- *
- * 1. Redistribution 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. Neither the name of STMicroelectronics nor the names of other
- * contributors to this software may be used to endorse or promote products
- * derived from this software without specific written permission.
- * 4. This software, including modifications and/or derivative works of this
- * software, must execute solely and exclusively on microcontroller or
- * microprocessor devices manufactured by or for STMicroelectronics.
- * 5. Redistribution and use of this software other than as permitted under
- * this license is void and will automatically terminate your rights under
- * this license.
- *
- * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
- * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
- * SHALL STMICROELECTRONICS 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 "main.h"
-
-HID_DEMO_StateMachine hid_demo;
-
-static void USBH_KeybdDemo(USBH_HandleTypeDef* phost);
-
-void HID_MenuInit(void)
-{
- uart_print("Starting HID Demo");
- hid_demo.state = HID_DEMO_START;
- HID_MenuProcess();
-}
-
-void HID_MenuProcess(void)
-{
- switch (hid_demo.state) {
- case HID_DEMO_START:
- if (Appli_state == APPLICATION_READY) {
- if (USBH_HID_GetDeviceType(&hUSBHost) == HID_KEYBOARD) {
- hid_demo.keyboard_state = HID_KEYBOARD_IDLE;
- hid_demo.state = HID_DEMO_KEYBOARD;
-
- uart_print("HID initialized");
-
- HID_KeyboardMenuProcess();
- } else {
- uart_print("Unsupported HID device!\n");
- hid_demo.state = HID_DEMO_START;
- }
- }
- break;
-
- case HID_DEMO_KEYBOARD:
- if (Appli_state == APPLICATION_READY) {
- USBH_KeybdDemo(&hUSBHost);
- }
- break;
-
- default:
- break;
- }
-
- if (Appli_state == APPLICATION_DISCONNECT) {
- Appli_state = APPLICATION_IDLE;
- uart_print("HID device disconnected\n");
- hid_demo.state = HID_DEMO_START;
- hid_demo.select = 0;
- }
-}
-
-static void USBH_KeybdDemo(USBH_HandleTypeDef* phost)
-{
- HID_KEYBD_Info_TypeDef* k_pinfo;
- char c;
- k_pinfo = USBH_HID_GetKeybdInfo(phost);
-
- if (k_pinfo != NULL) {
- c = USBH_HID_GetASCIICode(k_pinfo);
- if (c != 0) {
- USR_KEYBRD_ProcessData(c);
- }
- }
-}
diff --git a/openocd.cfg b/openocd.cfg deleted file mode 100644 index 91a1deb..0000000 --- a/openocd.cfg +++ /dev/null @@ -1,14 +0,0 @@ -telnet_port 4444 -gdb_port 3333 - -interface jlink - -adapter_khz 1000 -transport select swd - -source /usr/share/openocd/scripts/target/stm32f4x.cfg - -init -#arm semihosting enable - -#flash bank sysflash.alias stm32f0x 0x00000000 0 0 0 $_TARGETNAME diff --git a/pcb/components.bck b/pcb/components.bck new file mode 100644 index 0000000..5f3ed79 --- /dev/null +++ b/pcb/components.bck @@ -0,0 +1,3 @@ +EESchema-DOCLIB Version 2.0 +# +#End Doc Library diff --git a/pcb/components.dcm b/pcb/components.dcm new file mode 100644 index 0000000..5f3ed79 --- /dev/null +++ b/pcb/components.dcm @@ -0,0 +1,3 @@ +EESchema-DOCLIB Version 2.0 +# +#End Doc Library diff --git a/pcb/components.lib b/pcb/components.lib new file mode 100644 index 0000000..4d25317 --- /dev/null +++ b/pcb/components.lib @@ -0,0 +1,44 @@ +EESchema-LIBRARY Version 2.4 +#encoding utf-8 +# +# FE1.1s +# +DEF FE1.1s U 0 40 Y Y 1 F N +F0 "U" -750 650 50 H V C CNN +F1 "FE1.1s" 550 650 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +S -800 600 800 -700 0 1 0 f +X VSS 1 1000 -300 200 L 50 50 1 1 I +X DM1 10 -400 -900 200 U 50 50 1 1 I +X DP1 11 -500 -900 200 U 50 50 1 1 I +X VD18_O 12 1000 0 200 L 50 50 1 1 I +X VD33 13 1000 100 200 L 50 50 1 1 I +X REXT 14 -1000 100 200 R 50 50 1 1 I +X DMU 15 100 800 200 D 50 50 1 1 I +X DPU 16 0 800 200 D 50 50 1 1 I +X XRSTJ 17 -1000 -500 200 R 50 50 1 1 I +X VBUSM 18 1000 400 200 L 50 50 1 1 I +X BUSJ 19 -1000 -400 200 R 50 50 1 1 I +X XOUT 2 -1000 400 200 R 50 50 1 1 I +X VDD5 20 1000 300 200 L 50 50 1 1 I +X VDD33_O 21 1000 200 200 L 50 50 1 1 I +X DRV 22 -200 800 200 D 50 50 1 1 I +X LED1 23 -300 800 200 D 50 50 1 1 I +X LED2 24 -400 800 200 D 50 50 1 1 I +X PWRJ 25 -1000 -300 200 R 50 50 1 1 I +X OVCJ 26 -1000 -200 200 R 50 50 1 1 I +X TESTJ 27 -1000 -100 200 R 50 50 1 1 I +X VD18 28 1000 -100 200 L 50 50 1 1 I +X XIN 3 -1000 300 200 R 50 50 1 1 I +X DM4 4 500 -900 200 U 50 50 1 1 I +X DP4 5 400 -900 200 U 50 50 1 1 I +X DM3 6 200 -900 200 U 50 50 1 1 I +X DP3 7 100 -900 200 U 50 50 1 1 I +X DM2 8 -100 -900 200 U 50 50 1 1 I +X DP2 9 -200 -900 200 U 50 50 1 1 I +ENDDRAW +ENDDEF +# +#End Library diff --git a/pcb/securehid-cache.lib b/pcb/securehid-cache.lib new file mode 100644 index 0000000..3fe54b3 --- /dev/null +++ b/pcb/securehid-cache.lib @@ -0,0 +1,732 @@ +EESchema-LIBRARY Version 2.4 +#encoding utf-8 +# +# Connector_Generic_Conn_01x04 +# +DEF Connector_Generic_Conn_01x04 J 0 40 Y N 1 F N +F0 "J" 0 200 50 H V C CNN +F1 "Connector_Generic_Conn_01x04" 0 -300 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + Connector*:*_1x??_* +$ENDFPLIST +DRAW +S -50 -195 0 -205 1 1 6 N +S -50 -95 0 -105 1 1 6 N +S -50 5 0 -5 1 1 6 N +S -50 105 0 95 1 1 6 N +S -50 150 50 -250 1 1 10 f +X Pin_1 1 -200 100 150 R 50 50 1 1 P +X Pin_2 2 -200 0 150 R 50 50 1 1 P +X Pin_3 3 -200 -100 150 R 50 50 1 1 P +X Pin_4 4 -200 -200 150 R 50 50 1 1 P +ENDDRAW +ENDDEF +# +# Connector_Generic_Conn_02x05_Odd_Even +# +DEF Connector_Generic_Conn_02x05_Odd_Even J 0 40 Y N 1 F N +F0 "J" 50 300 50 H V C CNN +F1 "Connector_Generic_Conn_02x05_Odd_Even" 50 -300 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + Connector*:*_2x??_* +$ENDFPLIST +DRAW +S -50 -195 0 -205 1 1 6 N +S -50 -95 0 -105 1 1 6 N +S -50 5 0 -5 1 1 6 N +S -50 105 0 95 1 1 6 N +S -50 205 0 195 1 1 6 N +S -50 250 150 -250 1 1 10 f +S 150 -195 100 -205 1 1 6 N +S 150 -95 100 -105 1 1 6 N +S 150 5 100 -5 1 1 6 N +S 150 105 100 95 1 1 6 N +S 150 205 100 195 1 1 6 N +X Pin_1 1 -200 200 150 R 50 50 1 1 P +X Pin_10 10 300 -200 150 L 50 50 1 1 P +X Pin_2 2 300 200 150 L 50 50 1 1 P +X Pin_3 3 -200 100 150 R 50 50 1 1 P +X Pin_4 4 300 100 150 L 50 50 1 1 P +X Pin_5 5 -200 0 150 R 50 50 1 1 P +X Pin_6 6 300 0 150 L 50 50 1 1 P +X Pin_7 7 -200 -100 150 R 50 50 1 1 P +X Pin_8 8 300 -100 150 L 50 50 1 1 P +X Pin_9 9 -200 -200 150 R 50 50 1 1 P +ENDDRAW +ENDDEF +# +# Connector_USB_B_Micro +# +DEF Connector_USB_B_Micro J 0 40 Y Y 1 F N +F0 "J" -200 450 50 H V L CNN +F1 "Connector_USB_B_Micro" -200 350 50 H V L CNN +F2 "" 150 -50 50 H I C CNN +F3 "" 150 -50 50 H I C CNN +ALIAS USB_B_Mini +$FPLIST + USB* +$ENDFPLIST +DRAW +C -150 85 25 0 1 10 F +C -25 135 15 0 1 10 F +S -200 -300 200 300 0 1 10 f +S -5 -300 5 -270 0 1 0 N +S 10 50 -20 20 0 1 10 F +S 200 -205 170 -195 0 1 0 N +S 200 -105 170 -95 0 1 0 N +S 200 -5 170 5 0 1 0 N +S 200 195 170 205 0 1 0 N +P 2 0 1 10 -75 85 25 85 N +P 4 0 1 10 -125 85 -100 85 -50 135 -25 135 N +P 4 0 1 10 -100 85 -75 85 -50 35 0 35 N +P 4 0 1 10 25 110 25 60 75 85 25 110 F +P 5 0 1 0 -170 220 -70 220 -80 190 -160 190 -170 220 F +P 9 0 1 0 -185 230 -185 220 -175 190 -175 180 -65 180 -65 190 -55 220 -55 230 -185 230 N +X VBUS 1 300 200 100 L 50 50 1 1 w +X D- 2 300 -100 100 L 50 50 1 1 P +X D+ 3 300 0 100 L 50 50 1 1 P +X ID 4 300 -200 100 L 50 50 1 1 P +X GND 5 0 -400 100 U 50 50 1 1 w +X Shield 6 -100 -400 100 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# MCU_ST_STM32F1_STM32F103C8Tx +# +DEF MCU_ST_STM32F1_STM32F103C8Tx U 0 20 Y Y 1 F N +F0 "U" -600 1450 50 H V L CNN +F1 "MCU_ST_STM32F1_STM32F103C8Tx" 300 1450 50 H V L CNN +F2 "Package_QFP:LQFP-48_7x7mm_P0.5mm" -600 -1400 50 H I R CNN +F3 "" 0 0 50 H I C CNN +ALIAS STM32F103CBTx +$FPLIST + LQFP*7x7mm*P0.5mm* +$ENDFPLIST +DRAW +S -600 -1400 500 1400 0 1 10 f +X VBAT 1 -200 1500 100 D 50 50 1 1 W +X PA0 10 600 200 100 L 50 50 1 1 B +X PA1 11 600 100 100 L 50 50 1 1 B +X PA2 12 600 0 100 L 50 50 1 1 B +X PA3 13 600 -100 100 L 50 50 1 1 B +X PA4 14 600 -200 100 L 50 50 1 1 B +X PA5 15 600 -300 100 L 50 50 1 1 B +X PA6 16 600 -400 100 L 50 50 1 1 B +X PA7 17 600 -500 100 L 50 50 1 1 B +X PB0 18 -700 200 100 R 50 50 1 1 B +X PB1 19 -700 100 100 R 50 50 1 1 B +X PC13 2 -700 600 100 R 50 50 1 1 B +X PB2 20 -700 0 100 R 50 50 1 1 B +X PB10 21 -700 -800 100 R 50 50 1 1 B +X PB11 22 -700 -900 100 R 50 50 1 1 B +X VSS 23 -200 -1500 100 U 50 50 1 1 W +X VDD 24 -100 1500 100 D 50 50 1 1 W +X PB12 25 -700 -1000 100 R 50 50 1 1 B +X PB13 26 -700 -1100 100 R 50 50 1 1 B +X PB14 27 -700 -1200 100 R 50 50 1 1 B +X PB15 28 -700 -1300 100 R 50 50 1 1 B +X PA8 29 600 -600 100 L 50 50 1 1 B +X PC14 3 -700 500 100 R 50 50 1 1 B +X PA9 30 600 -700 100 L 50 50 1 1 B +X PA10 31 600 -800 100 L 50 50 1 1 B +X PA11 32 600 -900 100 L 50 50 1 1 B +X PA12 33 600 -1000 100 L 50 50 1 1 B +X PA13 34 600 -1100 100 L 50 50 1 1 B +X VSS 35 -100 -1500 100 U 50 50 1 1 W +X VDD 36 0 1500 100 D 50 50 1 1 W +X PA14 37 600 -1200 100 L 50 50 1 1 B +X PA15 38 600 -1300 100 L 50 50 1 1 B +X PB3 39 -700 -100 100 R 50 50 1 1 B +X PC15 4 -700 400 100 R 50 50 1 1 B +X PB4 40 -700 -200 100 R 50 50 1 1 B +X PB5 41 -700 -300 100 R 50 50 1 1 B +X PB6 42 -700 -400 100 R 50 50 1 1 B +X PB7 43 -700 -500 100 R 50 50 1 1 B +X BOOT0 44 -700 1100 100 R 50 50 1 1 I +X PB8 45 -700 -600 100 R 50 50 1 1 B +X PB9 46 -700 -700 100 R 50 50 1 1 B +X VSS 47 0 -1500 100 U 50 50 1 1 W +X VDD 48 100 1500 100 D 50 50 1 1 W +X PD0 5 -700 900 100 R 50 50 1 1 I +X PD1 6 -700 800 100 R 50 50 1 1 I +X NRST 7 -700 1300 100 R 50 50 1 1 I +X VSSA 8 100 -1500 100 U 50 50 1 1 W +X VDDA 9 200 1500 100 D 50 50 1 1 W +ENDDRAW +ENDDEF +# +# MCU_ST_STM32F4_STM32F407VETx +# +DEF MCU_ST_STM32F4_STM32F407VETx U 0 20 Y Y 1 F N +F0 "U" -700 2550 50 H V L CNN +F1 "MCU_ST_STM32F4_STM32F407VETx" 500 2550 50 H V L CNN +F2 "Package_QFP:LQFP-100_14x14mm_P0.5mm" -700 -2600 50 H I R CNN +F3 "" 0 0 50 H I C CNN +ALIAS STM32F407VGTx +$FPLIST + LQFP*14x14mm*P0.5mm* +$ENDFPLIST +DRAW +S -700 -2600 700 2500 0 1 10 f +X PE2 1 -900 500 200 R 50 50 1 1 B +X VSS 10 -200 -2800 200 U 50 50 1 1 W +X VDD 100 300 2700 200 D 50 50 1 1 W +X VDD 11 -200 2700 200 D 50 50 1 1 W +X PH0 12 -900 1000 200 R 50 50 1 1 I +X PH1 13 -900 900 200 R 50 50 1 1 I +X NRST 14 -900 2400 200 R 50 50 1 1 I +X PC0 15 900 -1000 200 L 50 50 1 1 B +X PC1 16 900 -1100 200 L 50 50 1 1 B +X PC2 17 900 -1200 200 L 50 50 1 1 B +X PC3 18 900 -1300 200 L 50 50 1 1 B +X VDD 19 -100 2700 200 D 50 50 1 1 W +X PE3 2 -900 400 200 R 50 50 1 1 B +X VSSA 20 200 -2800 200 U 50 50 1 1 W +X VREF+ 21 -900 1800 200 R 50 50 1 1 W +X VDDA 22 400 2700 200 D 50 50 1 1 W +X PA0 23 900 2400 200 L 50 50 1 1 B +X PA1 24 900 2300 200 L 50 50 1 1 B +X PA2 25 900 2200 200 L 50 50 1 1 B +X PA3 26 900 2100 200 L 50 50 1 1 B +X VSS 27 -100 -2800 200 U 50 50 1 1 W +X VDD 28 0 2700 200 D 50 50 1 1 W +X PA4 29 900 2000 200 L 50 50 1 1 B +X PE4 3 -900 300 200 R 50 50 1 1 B +X PA5 30 900 1900 200 L 50 50 1 1 B +X PA6 31 900 1800 200 L 50 50 1 1 B +X PA7 32 900 1700 200 L 50 50 1 1 B +X PC4 33 900 -1400 200 L 50 50 1 1 B +X PC5 34 900 -1500 200 L 50 50 1 1 B +X PB0 35 900 700 200 L 50 50 1 1 B +X PB1 36 900 600 200 L 50 50 1 1 B +X PB2 37 900 500 200 L 50 50 1 1 B +X PE7 38 -900 0 200 R 50 50 1 1 B +X PE8 39 -900 -100 200 R 50 50 1 1 B +X PE5 4 -900 200 200 R 50 50 1 1 B +X PE9 40 -900 -200 200 R 50 50 1 1 B +X PE10 41 -900 -300 200 R 50 50 1 1 B +X PE11 42 -900 -400 200 R 50 50 1 1 B +X PE12 43 -900 -500 200 R 50 50 1 1 B +X PE13 44 -900 -600 200 R 50 50 1 1 B +X PE14 45 -900 -700 200 R 50 50 1 1 B +X PE15 46 -900 -800 200 R 50 50 1 1 B +X PB10 47 900 -300 200 L 50 50 1 1 B +X PB11 48 900 -400 200 L 50 50 1 1 B +X VCAP_1 49 -900 2000 200 R 50 50 1 1 W +X PE6 5 -900 100 200 R 50 50 1 1 B +X VDD 50 100 2700 200 D 50 50 1 1 W +X PB12 51 900 -500 200 L 50 50 1 1 B +X PB13 52 900 -600 200 L 50 50 1 1 B +X PB14 53 900 -700 200 L 50 50 1 1 B +X PB15 54 900 -800 200 L 50 50 1 1 B +X PD8 55 -900 -1800 200 R 50 50 1 1 B +X PD9 56 -900 -1900 200 R 50 50 1 1 B +X PD10 57 -900 -2000 200 R 50 50 1 1 B +X PD11 58 -900 -2100 200 R 50 50 1 1 B +X PD12 59 -900 -2200 200 R 50 50 1 1 B +X VBAT 6 -300 2700 200 D 50 50 1 1 W +X PD13 60 -900 -2300 200 R 50 50 1 1 B +X PD14 61 -900 -2400 200 R 50 50 1 1 B +X PD15 62 -900 -2500 200 R 50 50 1 1 B +X PC6 63 900 -1600 200 L 50 50 1 1 B +X PC7 64 900 -1700 200 L 50 50 1 1 B +X PC8 65 900 -1800 200 L 50 50 1 1 B +X PC9 66 900 -1900 200 L 50 50 1 1 B +X PA8 67 900 1600 200 L 50 50 1 1 B +X PA9 68 900 1500 200 L 50 50 1 1 B +X PA10 69 900 1400 200 L 50 50 1 1 B +X PC13 7 900 -2300 200 L 50 50 1 1 B +X PA11 70 900 1300 200 L 50 50 1 1 B +X PA12 71 900 1200 200 L 50 50 1 1 B +X PA13 72 900 1100 200 L 50 50 1 1 B +X VCAP_2 73 -900 1900 200 R 50 50 1 1 W +X VSS 74 0 -2800 200 U 50 50 1 1 W +X VDD 75 200 2700 200 D 50 50 1 1 W +X PA14 76 900 1000 200 L 50 50 1 1 B +X PA15 77 900 900 200 L 50 50 1 1 B +X PC10 78 900 -2000 200 L 50 50 1 1 B +X PC11 79 900 -2100 200 L 50 50 1 1 B +X PC14 8 900 -2400 200 L 50 50 1 1 B +X PC12 80 900 -2200 200 L 50 50 1 1 B +X PD0 81 -900 -1000 200 R 50 50 1 1 B +X PD1 82 -900 -1100 200 R 50 50 1 1 B +X PD2 83 -900 -1200 200 R 50 50 1 1 B +X PD3 84 -900 -1300 200 R 50 50 1 1 B +X PD4 85 -900 -1400 200 R 50 50 1 1 B +X PD5 86 -900 -1500 200 R 50 50 1 1 B +X PD6 87 -900 -1600 200 R 50 50 1 1 B +X PD7 88 -900 -1700 200 R 50 50 1 1 B +X PB3 89 900 400 200 L 50 50 1 1 B +X PC15 9 900 -2500 200 L 50 50 1 1 B +X PB4 90 900 300 200 L 50 50 1 1 B +X PB5 91 900 200 200 L 50 50 1 1 B +X PB6 92 900 100 200 L 50 50 1 1 B +X PB7 93 900 0 200 L 50 50 1 1 B +X BOOT0 94 -900 2200 200 R 50 50 1 1 I +X PB8 95 900 -100 200 L 50 50 1 1 B +X PB9 96 900 -200 200 L 50 50 1 1 B +X PE0 97 -900 700 200 R 50 50 1 1 B +X PE1 98 -900 600 200 R 50 50 1 1 B +X VSS 99 100 -2800 200 U 50 50 1 1 W +ENDDRAW +ENDDEF +# +# components_FE1.1s +# +DEF components_FE1.1s U 0 40 Y Y 1 F N +F0 "U" -750 650 50 H V C CNN +F1 "components_FE1.1s" 550 650 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +S -800 600 800 -700 0 1 0 f +X VSS 1 1000 -300 200 L 50 50 1 1 I +X DM1 10 -400 -900 200 U 50 50 1 1 I +X DP1 11 -500 -900 200 U 50 50 1 1 I +X VD18_O 12 1000 0 200 L 50 50 1 1 I +X VD33 13 1000 100 200 L 50 50 1 1 I +X REXT 14 -1000 100 200 R 50 50 1 1 I +X DMU 15 100 800 200 D 50 50 1 1 I +X DPU 16 0 800 200 D 50 50 1 1 I +X XRSTJ 17 -1000 -500 200 R 50 50 1 1 I +X VBUSM 18 1000 400 200 L 50 50 1 1 I +X BUSJ 19 -1000 -400 200 R 50 50 1 1 I +X XOUT 2 -1000 400 200 R 50 50 1 1 I +X VDD5 20 1000 300 200 L 50 50 1 1 I +X VDD33_O 21 1000 200 200 L 50 50 1 1 I +X DRV 22 -200 800 200 D 50 50 1 1 I +X LED1 23 -300 800 200 D 50 50 1 1 I +X LED2 24 -400 800 200 D 50 50 1 1 I +X PWRJ 25 -1000 -300 200 R 50 50 1 1 I +X OVCJ 26 -1000 -200 200 R 50 50 1 1 I +X TESTJ 27 -1000 -100 200 R 50 50 1 1 I +X VD18 28 1000 -100 200 L 50 50 1 1 I +X XIN 3 -1000 300 200 R 50 50 1 1 I +X DM4 4 500 -900 200 U 50 50 1 1 I +X DP4 5 400 -900 200 U 50 50 1 1 I +X DM3 6 200 -900 200 U 50 50 1 1 I +X DP3 7 100 -900 200 U 50 50 1 1 I +X DM2 8 -100 -900 200 U 50 50 1 1 I +X DP2 9 -200 -900 200 U 50 50 1 1 I +ENDDRAW +ENDDEF +# +# conn_USB_A +# +DEF conn_USB_A J 0 40 Y Y 1 F N +F0 "J" -200 450 50 H V L CNN +F1 "conn_USB_A" -200 350 50 H V L CNN +F2 "" 150 -50 50 H I C CNN +F3 "" 150 -50 50 H I C CNN +$FPLIST + USB* +$ENDFPLIST +DRAW +C -150 85 25 0 1 10 F +C -25 135 15 0 1 10 F +S -200 -300 200 300 0 1 10 f +S -60 190 -170 210 0 1 0 F +S -50 180 -180 230 0 1 0 N +S -5 -300 5 -270 0 1 0 N +S 10 50 -20 20 0 1 10 F +S 200 -105 170 -95 0 1 0 N +S 200 -5 170 5 0 1 0 N +S 200 195 170 205 0 1 0 N +P 4 0 1 10 -125 85 -100 85 -50 135 -25 135 N +P 4 0 1 10 -100 85 -75 85 -50 35 0 35 N +P 4 0 1 10 25 110 25 60 75 85 25 110 F +P 2 1 1 10 -75 85 25 85 N +X VBUS 1 300 200 100 L 50 50 1 1 W +X D- 2 300 -100 100 L 50 50 1 1 P +X D+ 3 300 0 100 L 50 50 1 1 P +X GND 4 0 -400 100 U 50 50 1 1 W +X Shield 5 -100 -400 100 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_Battery_Cell +# +DEF device_Battery_Cell BT 0 0 N N 1 F N +F0 "BT" 100 100 50 H V L CNN +F1 "device_Battery_Cell" 100 0 50 H V L CNN +F2 "" 0 60 50 V I C CNN +F3 "" 0 60 50 V I C CNN +DRAW +S -90 70 90 60 0 1 0 F +S -62 47 58 27 0 1 0 F +P 2 0 1 0 0 30 0 0 N +P 2 0 1 0 0 70 0 100 N +P 2 0 1 10 20 135 60 135 N +P 2 0 1 10 40 155 40 115 N +X + 1 0 200 100 D 50 50 1 1 P +X - 2 0 -100 100 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_C +# +DEF device_C C 0 10 N Y 1 F N +F0 "C" 25 100 50 H V L CNN +F1 "device_C" 25 -100 50 H V L CNN +F2 "" 38 -150 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + C_* +$ENDFPLIST +DRAW +P 2 0 1 20 -80 -30 80 -30 N +P 2 0 1 20 -80 30 80 30 N +X ~ 1 0 150 110 D 50 50 1 1 P +X ~ 2 0 -150 110 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_CP +# +DEF device_CP C 0 10 N Y 1 F N +F0 "C" 25 100 50 H V L CNN +F1 "device_CP" 25 -100 50 H V L CNN +F2 "" 38 -150 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + CP_* +$ENDFPLIST +DRAW +S -90 20 -90 40 0 1 0 N +S -90 20 90 20 0 1 0 N +S 90 -20 -90 -40 0 1 0 F +S 90 40 -90 40 0 1 0 N +S 90 40 90 20 0 1 0 N +P 2 0 1 0 -70 90 -30 90 N +P 2 0 1 0 -50 110 -50 70 N +X ~ 1 0 150 110 D 50 50 1 1 P +X ~ 2 0 -150 110 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_CP_Small +# +DEF device_CP_Small C 0 10 N N 1 F N +F0 "C" 10 70 50 H V L CNN +F1 "device_CP_Small" 10 -80 50 H V L CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + CP_* +$ENDFPLIST +DRAW +S -60 -12 60 -27 0 1 0 F +S -60 27 60 12 0 1 0 N +P 2 0 1 0 -50 60 -30 60 N +P 2 0 1 0 -40 50 -40 70 N +X ~ 1 0 100 73 D 50 50 1 1 P +X ~ 2 0 -100 73 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_C_Small +# +DEF device_C_Small C 0 10 N N 1 F N +F0 "C" 10 70 50 H V L CNN +F1 "device_C_Small" 10 -80 50 H V L CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + C_* +$ENDFPLIST +DRAW +P 2 0 1 13 -60 -20 60 -20 N +P 2 0 1 12 -60 20 60 20 N +X ~ 1 0 100 80 D 50 50 1 1 P +X ~ 2 0 -100 80 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_Crystal_GND24_Small +# +DEF device_Crystal_GND24_Small Y 0 40 Y N 1 F N +F0 "Y" 50 175 50 H V L CNN +F1 "device_Crystal_GND24_Small" 50 100 50 H V L CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + Crystal* +$ENDFPLIST +DRAW +S -30 -60 30 60 0 1 0 N +P 2 0 1 15 -50 -30 -50 30 N +P 2 0 1 15 50 -30 50 30 N +P 4 0 1 0 -50 -50 -50 -75 50 -75 50 -50 N +P 4 0 1 0 -50 50 -50 75 50 75 50 50 N +X 1 1 -100 0 50 R 50 50 1 1 P +X 2 2 0 -125 50 U 50 50 1 1 P +X 3 3 100 0 50 L 50 50 1 1 P +X 4 4 0 125 50 D 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_LED +# +DEF device_LED D 0 40 Y N 1 F N +F0 "D" 0 100 50 H V C CNN +F1 "device_LED" 0 -100 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + LED* +$ENDFPLIST +DRAW +P 2 0 1 8 -50 -50 -50 50 N +P 2 0 1 0 -50 0 50 0 N +P 4 0 1 8 50 -50 50 50 -50 0 50 -50 N +P 5 0 1 0 -120 -30 -180 -90 -150 -90 -180 -90 -180 -60 N +P 5 0 1 0 -70 -30 -130 -90 -100 -90 -130 -90 -130 -60 N +X K 1 -150 0 100 R 50 50 1 1 P +X A 2 150 0 100 L 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_LED_Small +# +DEF device_LED_Small D 0 10 N N 1 F N +F0 "D" -50 125 50 H V L CNN +F1 "device_LED_Small" -175 -100 50 H V L CNN +F2 "" 0 0 50 V I C CNN +F3 "" 0 0 50 V I C CNN +$FPLIST + LED-* + LED_* +$ENDFPLIST +DRAW +P 2 0 1 0 -30 -40 -30 40 N +P 2 0 1 0 40 0 -30 0 N +P 4 0 1 0 30 -40 -30 0 30 40 30 -40 N +P 5 0 1 0 0 30 -20 50 -10 50 -20 50 -20 40 N +P 5 0 1 0 20 50 0 70 10 70 0 70 0 60 N +X K 1 -100 0 70 R 50 50 1 1 P +X A 2 100 0 70 L 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_R_Pack04 +# +DEF device_R_Pack04 RN 0 0 Y N 1 F N +F0 "RN" -300 0 50 V V C CNN +F1 "device_R_Pack04" 200 0 50 V V C CNN +F2 "" 275 0 50 V I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + DIP* + SOIC* +$ENDFPLIST +DRAW +S -250 -95 150 95 0 1 10 f +S -225 75 -175 -75 0 1 10 N +S -125 75 -75 -75 0 1 10 N +S -25 75 25 -75 0 1 10 N +S 75 75 125 -75 0 1 10 N +P 2 0 1 0 -200 -100 -200 -75 N +P 2 0 1 0 -200 75 -200 100 N +P 2 0 1 0 -100 -100 -100 -75 N +P 2 0 1 0 -100 75 -100 100 N +P 2 0 1 0 0 -100 0 -75 N +P 2 0 1 0 0 75 0 100 N +P 2 0 1 0 100 -100 100 -75 N +P 2 0 1 0 100 75 100 100 N +X R1.1 1 -200 -200 100 U 50 50 1 1 P +X R2.1 2 -100 -200 100 U 50 50 1 1 P +X R3.1 3 0 -200 100 U 50 50 1 1 P +X R4.1 4 100 -200 100 U 50 50 1 1 P +X R4.2 5 100 200 100 D 50 50 1 1 P +X R3.2 6 0 200 100 D 50 50 1 1 P +X R2.2 7 -100 200 100 D 50 50 1 1 P +X R1.2 8 -200 200 100 D 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_R_Small +# +DEF device_R_Small R 0 10 N N 1 F N +F0 "R" 30 20 50 H V L CNN +F1 "device_R_Small" 30 -40 50 H V L CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + R_* +$ENDFPLIST +DRAW +S -30 70 30 -70 0 1 8 N +X ~ 1 0 100 30 D 50 50 1 1 P +X ~ 2 0 -100 30 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +# device_Speaker_Crystal +# +DEF device_Speaker_Crystal LS 0 0 Y N 1 F N +F0 "LS" 25 225 50 H V R CNN +F1 "device_Speaker_Crystal" 25 150 50 H V R CNN +F2 "" -35 -50 50 H I C CNN +F3 "" -35 -50 50 H I C CNN +ALIAS Speaker_Ultrasound +DRAW +S -100 50 45 -150 0 0 10 N +S -80 -25 25 -75 0 0 10 N +P 2 0 0 0 -65 -90 15 -90 N +P 2 0 0 0 -65 -10 15 -10 N +P 2 0 0 0 -25 -90 -25 -120 N +P 2 0 0 0 -25 -10 -25 20 N +P 4 0 0 10 45 50 145 150 145 -250 45 -150 N +X 1 1 -200 0 100 R 50 50 1 1 I +X 2 2 -200 -100 100 R 50 50 1 1 I +ENDDRAW +ENDDEF +# +# power_+3.3V +# +DEF power_+3.3V #PWR 0 0 Y Y 1 F P +F0 "#PWR" 0 -150 50 H I C CNN +F1 "power_+3.3V" 0 140 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +ALIAS +3.3V +DRAW +P 2 0 1 0 -30 50 0 100 N +P 2 0 1 0 0 0 0 100 N +P 2 0 1 0 0 100 30 50 N +X +3V3 1 0 0 0 U 50 50 1 1 W N +ENDDRAW +ENDDEF +# +# power_GND +# +DEF power_GND #PWR 0 0 Y Y 1 F P +F0 "#PWR" 0 -250 50 H I C CNN +F1 "power_GND" 0 -150 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N +X GND 1 0 0 0 D 50 50 1 1 W N +ENDDRAW +ENDDEF +# +# power_VBUS +# +DEF power_VBUS #PWR 0 0 Y Y 1 F P +F0 "#PWR" 0 -150 50 H I C CNN +F1 "power_VBUS" 0 150 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 0 1 0 -30 50 0 100 N +P 2 0 1 0 0 0 0 100 N +P 2 0 1 0 0 100 30 50 N +X VBUS 1 0 0 0 U 50 50 1 1 W N +ENDDRAW +ENDDEF +# +# power_VDDA +# +DEF power_VDDA #PWR 0 0 Y Y 1 F P +F0 "#PWR" 0 -150 50 H I C CNN +F1 "power_VDDA" 0 150 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +C 0 75 25 0 1 0 N +P 2 0 1 0 0 0 0 50 N +X VDDA 1 0 0 0 U 50 50 1 1 W N +ENDDRAW +ENDDEF +# +# power_VSSA +# +DEF power_VSSA #PWR 0 0 Y Y 1 F P +F0 "#PWR" 0 -150 50 H I C CNN +F1 "power_VSSA" 0 150 50 H V C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +C 0 75 25 0 1 0 N +P 2 0 1 0 0 0 0 50 N +X VSSA 1 0 0 0 U 50 50 1 1 W N +ENDDRAW +ENDDEF +# +# regul_AP1117-33 +# +DEF regul_AP1117-33 U 0 10 Y Y 1 F N +F0 "U" -150 125 50 H V C CNN +F1 "regul_AP1117-33" 0 125 50 H V L CNN +F2 "TO_SOT_Packages_SMD:SOT-223-3Lead_TabPin2" 0 200 50 H I C CNN +F3 "" 100 -250 50 H I C CNN +ALIAS AP1117-18 AP1117-25 AP1117-33 AP1117-50 LD1117S33TR_SOT223 LD1117S12TR_SOT223 LD1117S18TR_SOT223 LD1117S25TR_SOT223 LD1117S50TR_SOT223 NCP1117-12_SOT223 NCP1117-1.5_SOT223 NCP1117-1.8_SOT223 NCP1117-2.0_SOT223 NCP1117-2.5_SOT223 NCP1117-2.85_SOT223 NCP1117-3.3_SOT223 NCP1117-5.0_SOT223 +$FPLIST + SOT?223*TabPin2* +$ENDFPLIST +DRAW +S -200 -200 200 75 0 1 10 f +X GND 1 0 -300 100 U 50 50 1 1 W +X VO 2 300 0 100 L 50 50 1 1 P +X VI 3 -300 0 100 R 50 50 1 1 W +ENDDRAW +ENDDEF +# +# switches_SW_Push +# +DEF switches_SW_Push SW 0 40 N N 1 F N +F0 "SW" 50 100 50 H V L CNN +F1 "switches_SW_Push" 0 -60 50 H V C CNN +F2 "" 0 200 50 H I C CNN +F3 "" 0 200 50 H I C CNN +DRAW +C -80 0 20 0 1 0 N +C 80 0 20 0 1 0 N +P 2 0 1 0 0 50 0 120 N +P 2 0 1 0 100 50 -100 50 N +X 1 1 -200 0 100 R 50 50 0 1 P +X 2 2 200 0 100 L 50 50 0 1 P +ENDDRAW +ENDDEF +# +# transistors_2N7002 +# +DEF transistors_2N7002 Q 0 0 Y N 1 F N +F0 "Q" 200 75 50 H V L CNN +F1 "transistors_2N7002" 200 0 50 H V L CNN +F2 "TO_SOT_Packages_SMD:SOT-23" 200 -75 50 H I L CIN +F3 "" 0 0 50 H I L CNN +ALIAS 2N7002 MMBF170 +$FPLIST + SOT?23* +$ENDFPLIST +DRAW +C 65 0 111 0 1 10 N +C 100 -70 11 0 1 0 F +C 100 70 11 0 1 0 F +P 2 0 1 0 30 -70 100 -70 N +P 2 0 1 10 30 -50 30 -90 N +P 2 0 1 0 30 0 100 0 N +P 2 0 1 10 30 20 30 -20 N +P 2 0 1 0 30 70 100 70 N +P 2 0 1 10 30 90 30 50 N +P 2 0 1 0 100 -70 100 -100 N +P 2 0 1 0 100 -70 100 0 N +P 2 0 1 0 100 100 100 70 N +P 3 0 1 10 10 75 10 -75 10 -75 N +P 4 0 1 0 40 0 80 15 80 -15 40 0 F +P 4 0 1 0 100 -70 130 -70 130 70 100 70 N +P 4 0 1 0 110 20 115 15 145 15 150 10 N +P 4 0 1 0 130 15 115 -10 145 -10 130 15 N +X G 1 -200 0 210 R 50 50 1 1 I +X S 2 100 -200 100 U 50 50 1 1 P +X D 3 100 200 100 D 50 50 1 1 P +ENDDRAW +ENDDEF +# +#End Library diff --git a/pcb/securehid.bak b/pcb/securehid.bak new file mode 100644 index 0000000..73893eb --- /dev/null +++ b/pcb/securehid.bak @@ -0,0 +1,2310 @@ +EESchema Schematic File Version 4 +LIBS:securehid-cache +EELAYER 26 0 +EELAYER END +$Descr A3 16535 11693 +encoding utf-8 +Sheet 1 1 +Title "" +Date "" +Rev "" +Comp "" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +$Comp +L MCU_ST_STM32F1:STM32F103C8Tx U? +U 1 1 5BEEAD06 +P 12850 3550 +F 0 "U?" H 12250 5000 50 0000 L CNN +F 1 "STM32F103C8Tx" H 13150 5000 50 0000 L CNN +F 2 "Package_QFP:LQFP-48_7x7mm_P0.5mm" H 12250 2150 50 0001 R CNN +F 3 "" H 12850 3550 50 0001 C CNN + 1 12850 3550 + 1 0 0 -1 +$EndComp +$Comp +L Connector:USB_B_Micro J? +U 1 1 5BEEADC1 +P 1700 3650 +F 0 "J?" H 1500 4100 50 0000 L CNN +F 1 "USB_B_Micro" H 1500 4000 50 0000 L CNN +F 2 "" H 1850 3600 50 0001 C CNN +F 3 "" H 1850 3600 50 0001 C CNN + 1 1700 3650 + 1 0 0 -1 +$EndComp +$Comp +L conn:USB_A J? +U 1 1 5BEEAE66 +P 1700 9200 +F 0 "J?" H 1500 9650 50 0000 L CNN +F 1 "USB_A" H 1500 9550 50 0000 L CNN +F 2 "" H 1850 9150 50 0001 C CNN +F 3 "" H 1850 9150 50 0001 C CNN + 1 1700 9200 + 1 0 0 -1 +$EndComp +$Comp +L regul:AP1117-33 U? +U 1 1 5BEF631A +P 2650 2200 +F 0 "U?" H 2650 2442 50 0000 C CNN +F 1 "AP1117-33" H 2650 2351 50 0000 C CNN +F 2 "TO_SOT_Packages_SMD:SOT-223-3Lead_TabPin2" H 2650 2400 50 0001 C CNN +F 3 "http://www.diodes.com/datasheets/AP1117.pdf" H 2750 1950 50 0001 C CNN + 1 2650 2200 + 1 0 0 -1 +$EndComp +$Comp +L device:C C? +U 1 1 5BEF660D +P 2050 2350 +F 0 "C?" H 2165 2396 50 0000 L CNN +F 1 "100n" H 2165 2305 50 0000 L CNN +F 2 "" H 2088 2200 50 0001 C CNN +F 3 "" H 2050 2350 50 0001 C CNN + 1 2050 2350 + 1 0 0 -1 +$EndComp +$Comp +L device:CP C? +U 1 1 5BEF69F7 +P 1550 2350 +F 0 "C?" H 1668 2396 50 0000 L CNN +F 1 "220u" H 1668 2305 50 0000 L CNN +F 2 "" H 1588 2200 50 0001 C CNN +F 3 "" H 1550 2350 50 0001 C CNN + 1 1550 2350 + 1 0 0 -1 +$EndComp +$Comp +L device:CP C? +U 1 1 5BEF6DE0 +P 3600 2350 +F 0 "C?" H 3718 2396 50 0000 L CNN +F 1 "47u" H 3718 2305 50 0000 L CNN +F 2 "" H 3638 2200 50 0001 C CNN +F 3 "" H 3600 2350 50 0001 C CNN + 1 3600 2350 + 1 0 0 -1 +$EndComp +$Comp +L device:C C? +U 1 1 5BEF7098 +P 3100 2350 +F 0 "C?" H 3215 2396 50 0000 L CNN +F 1 "100n" H 3215 2305 50 0000 L CNN +F 2 "" H 3138 2200 50 0001 C CNN +F 3 "" H 3100 2350 50 0001 C CNN + 1 3100 2350 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BEF78F8 +P 2650 2650 +F 0 "#PWR?" H 2650 2400 50 0001 C CNN +F 1 "GND" H 2655 2477 50 0000 C CNN +F 2 "" H 2650 2650 50 0001 C CNN +F 3 "" H 2650 2650 50 0001 C CNN + 1 2650 2650 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BEF7D0E +P 1550 2050 +F 0 "#PWR?" H 1550 1900 50 0001 C CNN +F 1 "VBUS" H 1565 2223 50 0000 C CNN +F 2 "" H 1550 2050 50 0001 C CNN +F 3 "" H 1550 2050 50 0001 C CNN + 1 1550 2050 + 1 0 0 -1 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BEF8091 +P 3600 2050 +F 0 "#PWR?" H 3600 1900 50 0001 C CNN +F 1 "+3.3V" H 3615 2223 50 0000 C CNN +F 2 "" H 3600 2050 50 0001 C CNN +F 3 "" H 3600 2050 50 0001 C CNN + 1 3600 2050 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1550 2050 1550 2200 +Wire Wire Line + 1550 2200 2050 2200 +Connection ~ 1550 2200 +Connection ~ 2050 2200 +Wire Wire Line + 2050 2200 2350 2200 +Wire Wire Line + 2950 2200 3100 2200 +Wire Wire Line + 3600 2200 3600 2050 +Connection ~ 3600 2200 +Connection ~ 3100 2200 +Wire Wire Line + 3100 2200 3600 2200 +Wire Wire Line + 3600 2500 3100 2500 +Connection ~ 2050 2500 +Wire Wire Line + 2050 2500 1550 2500 +Connection ~ 2650 2500 +Wire Wire Line + 2650 2500 2050 2500 +Connection ~ 3100 2500 +Wire Wire Line + 2650 2500 2650 2650 +Wire Wire Line + 2100 8600 2100 8750 +Wire Wire Line + 2100 9000 2000 9000 +Wire Wire Line + 1600 9600 1700 9600 +Wire Wire Line + 1700 9700 1700 9600 +Connection ~ 1700 9600 +$Comp +L power:GND #PWR? +U 1 1 5BEFC201 +P 1700 9700 +F 0 "#PWR?" H 1700 9450 50 0001 C CNN +F 1 "GND" H 1705 9527 50 0000 C CNN +F 2 "" H 1700 9700 50 0001 C CNN +F 3 "" H 1700 9700 50 0001 C CNN + 1 1700 9700 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BEFC5C0 +P 2100 8600 +F 0 "#PWR?" H 2100 8450 50 0001 C CNN +F 1 "VBUS" H 2115 8773 50 0000 C CNN +F 2 "" H 2100 8600 50 0001 C CNN +F 3 "" H 2100 8600 50 0001 C CNN + 1 2100 8600 + 1 0 0 -1 +$EndComp +Text Label 3600 6300 3 50 ~ 0 +USBH_DM +Text Label 3500 6300 3 50 ~ 0 +USBH_DP +Text Label 10100 3300 2 50 ~ 0 +USBH_DM +Text Label 10100 3400 2 50 ~ 0 +USBH_DP +Wire Wire Line + 10100 3400 9350 3400 +Wire Wire Line + 10100 3300 9350 3300 +$Comp +L power:VBUS #PWR? +U 1 1 5BF01EF8 +P 2100 3350 +F 0 "#PWR?" H 2100 3200 50 0001 C CNN +F 1 "VBUS" H 2115 3523 50 0000 C CNN +F 2 "" H 2100 3350 50 0001 C CNN +F 3 "" H 2100 3350 50 0001 C CNN + 1 2100 3350 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF022FC +P 1700 4150 +F 0 "#PWR?" H 1700 3900 50 0001 C CNN +F 1 "GND" H 1705 3977 50 0000 C CNN +F 2 "" H 1700 4150 50 0001 C CNN +F 3 "" H 1700 4150 50 0001 C CNN + 1 1700 4150 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1700 4150 1700 4050 +Wire Wire Line + 1600 4050 1700 4050 +Connection ~ 1700 4050 +Wire Wire Line + 2000 3450 2100 3450 +Wire Wire Line + 2100 3450 2100 3350 +Text Label 3200 3650 2 50 ~ 0 +USBD_DP +Text Label 3200 3750 2 50 ~ 0 +USBD_DM +$Comp +L device:R_Small R? +U 1 1 5BF05F40 +P 2700 3750 +F 0 "R?" V 2500 3750 50 0000 C CNN +F 1 "22" V 2600 3750 50 0000 C CNN +F 2 "" H 2700 3750 50 0001 C CNN +F 3 "" H 2700 3750 50 0001 C CNN + 1 2700 3750 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF06DFB +P 2700 3650 +F 0 "R?" V 2504 3650 50 0000 C CNN +F 1 "22" V 2595 3650 50 0000 C CNN +F 2 "" H 2700 3650 50 0001 C CNN +F 3 "" H 2700 3650 50 0001 C CNN + 1 2700 3650 + 0 1 1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF07F6E +P 2300 3450 +F 0 "R?" H 2359 3496 50 0000 L CNN +F 1 "1k5" H 2359 3405 50 0000 L CNN +F 2 "" H 2300 3450 50 0001 C CNN +F 3 "" H 2300 3450 50 0001 C CNN + 1 2300 3450 + 1 0 0 -1 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BF08B1C +P 2300 3350 +F 0 "#PWR?" H 2300 3200 50 0001 C CNN +F 1 "+3.3V" H 2315 3523 50 0000 C CNN +F 2 "" H 2300 3350 50 0001 C CNN +F 3 "" H 2300 3350 50 0001 C CNN + 1 2300 3350 + 1 0 0 -1 +$EndComp +Wire Wire Line + 2300 3550 2300 3650 +Connection ~ 2300 3650 +Wire Wire Line + 2300 3650 2000 3650 +Wire Wire Line + 2300 3650 2600 3650 +Wire Wire Line + 2000 3750 2600 3750 +Wire Wire Line + 3200 3750 2800 3750 +Wire Wire Line + 2800 3650 3200 3650 +$Comp +L device:Crystal_GND24_Small Y? +U 1 1 5BF102A6 +P 6600 3650 +F 0 "Y?" V 6554 3816 50 0000 L CNN +F 1 "8MHz" V 6645 3816 50 0000 L CNN +F 2 "" H 6600 3650 50 0001 C CNN +F 3 "" H 6600 3650 50 0001 C CNN + 1 6600 3650 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF11861 +P 6350 3450 +F 0 "C?" V 6579 3450 50 0000 C CNN +F 1 "12p" V 6488 3450 50 0000 C CNN +F 2 "" H 6350 3450 50 0001 C CNN +F 3 "" H 6350 3450 50 0001 C CNN + 1 6350 3450 + 0 -1 -1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF125C0 +P 6350 3850 +F 0 "C?" V 6579 3850 50 0000 C CNN +F 1 "12p" V 6488 3850 50 0000 C CNN +F 2 "" H 6350 3850 50 0001 C CNN +F 3 "" H 6350 3850 50 0001 C CNN + 1 6350 3850 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF1348D +P 7050 3650 +F 0 "R?" H 7109 3696 50 0000 L CNN +F 1 "1M" H 7109 3605 50 0000 L CNN +F 2 "" H 7050 3650 50 0001 C CNN +F 3 "" H 7050 3650 50 0001 C CNN + 1 7050 3650 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6450 3450 6600 3450 +Wire Wire Line + 6600 3450 6600 3550 +Wire Wire Line + 2650 2500 3100 2500 +Wire Wire Line + 6600 3450 7050 3450 +Wire Wire Line + 7050 3450 7050 3550 +Connection ~ 6600 3450 +Wire Wire Line + 7550 3600 7300 3600 +Wire Wire Line + 7300 3600 7300 3450 +Wire Wire Line + 7300 3450 7050 3450 +Connection ~ 7050 3450 +Wire Wire Line + 6450 3850 6600 3850 +Wire Wire Line + 7300 3850 7300 3700 +Wire Wire Line + 7300 3700 7550 3700 +Wire Wire Line + 7050 3750 7050 3850 +Connection ~ 7050 3850 +Wire Wire Line + 7050 3850 7300 3850 +Wire Wire Line + 6600 3750 6600 3850 +Connection ~ 6600 3850 +Wire Wire Line + 6600 3850 7050 3850 +Wire Wire Line + 6150 3450 6150 3650 +Wire Wire Line + 6150 3850 6250 3850 +Wire Wire Line + 6150 3450 6250 3450 +$Comp +L power:GND #PWR? +U 1 1 5BF18330 +P 6150 3950 +F 0 "#PWR?" H 6150 3700 50 0001 C CNN +F 1 "GND" H 6155 3777 50 0000 C CNN +F 2 "" H 6150 3950 50 0001 C CNN +F 3 "" H 6150 3950 50 0001 C CNN + 1 6150 3950 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6150 3950 6150 3850 +Connection ~ 6150 3850 +Wire Wire Line + 6475 3650 6425 3650 +Connection ~ 6150 3650 +Wire Wire Line + 6150 3650 6150 3850 +Wire Wire Line + 6725 3650 6725 3800 +Wire Wire Line + 6725 3800 6425 3800 +Wire Wire Line + 6425 3800 6425 3650 +Connection ~ 6425 3650 +Wire Wire Line + 6425 3650 6150 3650 +$Comp +L device:C_Small C? +U 1 1 5BF1E83A +P 7150 2600 +F 0 "C?" V 6921 2600 50 0000 C CNN +F 1 "10u" V 7012 2600 50 0000 C CNN +F 2 "" H 7150 2600 50 0001 C CNN +F 3 "" H 7150 2600 50 0001 C CNN + 1 7150 2600 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF1FBEB +P 6900 2700 +F 0 "C?" V 6671 2700 50 0000 C CNN +F 1 "10u" V 6762 2700 50 0000 C CNN +F 2 "" H 6900 2700 50 0001 C CNN +F 3 "" H 6900 2700 50 0001 C CNN + 1 6900 2700 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF210DF +P 6700 2800 +F 0 "#PWR?" H 6700 2550 50 0001 C CNN +F 1 "GND" H 6705 2627 50 0000 C CNN +F 2 "" H 6700 2800 50 0001 C CNN +F 3 "" H 6700 2800 50 0001 C CNN + 1 6700 2800 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6700 2800 6700 2700 +Wire Wire Line + 6700 2600 7050 2600 +Wire Wire Line + 6800 2700 6700 2700 +Connection ~ 6700 2700 +Wire Wire Line + 6700 2700 6700 2600 +Wire Wire Line + 7000 2700 7550 2700 +Wire Wire Line + 7550 2600 7250 2600 +$Comp +L device:R_Small R? +U 1 1 5BF2746F +P 9500 1300 +F 0 "R?" H 9350 1350 50 0000 L CNN +F 1 "0" H 9350 1250 50 0000 L CNN +F 2 "" H 9500 1300 50 0001 C CNN +F 3 "" H 9500 1300 50 0001 C CNN + 1 9500 1300 + 1 0 0 -1 +$EndComp +$Comp +L power:VSSA #PWR? +U 1 1 5BF2A251 +P 8650 7500 +F 0 "#PWR?" H 8650 7350 50 0001 C CNN +F 1 "VSSA" H 8668 7673 50 0000 C CNN +F 2 "" H 8650 7500 50 0001 C CNN +F 3 "" H 8650 7500 50 0001 C CNN + 1 8650 7500 + -1 0 0 1 +$EndComp +Wire Wire Line + 8650 7500 8650 7400 +$Comp +L power:GND #PWR? +U 1 1 5BF2BAF5 +P 8400 7500 +F 0 "#PWR?" H 8400 7250 50 0001 C CNN +F 1 "GND" H 8405 7327 50 0000 C CNN +F 2 "" H 8400 7500 50 0001 C CNN +F 3 "" H 8400 7500 50 0001 C CNN + 1 8400 7500 + 1 0 0 -1 +$EndComp +Wire Wire Line + 8400 7500 8400 7400 +Connection ~ 8400 7400 +$Comp +L power:VDDA #PWR? +U 1 1 5BF3003A +P 8850 1500 +F 0 "#PWR?" H 8850 1350 50 0001 C CNN +F 1 "VDDA" H 8867 1673 50 0000 C CNN +F 2 "" H 8850 1500 50 0001 C CNN +F 3 "" H 8850 1500 50 0001 C CNN + 1 8850 1500 + 1 0 0 -1 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BF32616 +P 8250 1800 +F 0 "#PWR?" H 8250 1650 50 0001 C CNN +F 1 "+3.3V" H 8265 1973 50 0000 C CNN +F 2 "" H 8250 1800 50 0001 C CNN +F 3 "" H 8250 1800 50 0001 C CNN + 1 8250 1800 + 1 0 0 -1 +$EndComp +Wire Wire Line + 8250 1800 8250 1900 +$Comp +L power:+3.3V #PWR? +U 1 1 5BF35844 +P 9500 1100 +F 0 "#PWR?" H 9500 950 50 0001 C CNN +F 1 "+3.3V" H 9515 1273 50 0000 C CNN +F 2 "" H 9500 1100 50 0001 C CNN +F 3 "" H 9500 1100 50 0001 C CNN + 1 9500 1100 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9500 1100 9500 1200 +$Comp +L device:C_Small C? +U 1 1 5BF38053 +P 9100 1600 +F 0 "C?" H 9008 1554 50 0000 R CNN +F 1 "100n" H 9008 1645 50 0000 R CNN +F 2 "" H 9100 1600 50 0001 C CNN +F 3 "" H 9100 1600 50 0001 C CNN + 1 9100 1600 + -1 0 0 1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF395B5 +P 9500 1600 +F 0 "C?" H 9592 1646 50 0000 L CNN +F 1 "10u" H 9592 1555 50 0000 L CNN +F 2 "" H 9500 1600 50 0001 C CNN +F 3 "" H 9500 1600 50 0001 C CNN + 1 9500 1600 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9500 1400 9500 1500 +Connection ~ 9500 1500 +Connection ~ 8850 1500 +Wire Wire Line + 9100 1500 9500 1500 +Connection ~ 9100 1500 +Wire Wire Line + 8850 1500 9100 1500 +$Comp +L power:VSSA #PWR? +U 1 1 5BF4D7F0 +P 9500 1800 +F 0 "#PWR?" H 9500 1650 50 0001 C CNN +F 1 "VSSA" H 9518 1973 50 0000 C CNN +F 2 "" H 9500 1800 50 0001 C CNN +F 3 "" H 9500 1800 50 0001 C CNN + 1 9500 1800 + -1 0 0 1 +$EndComp +Wire Wire Line + 9500 1800 9500 1700 +Wire Wire Line + 8450 7400 8550 7400 +Wire Wire Line + 8400 7400 8450 7400 +Connection ~ 8450 7400 +Wire Wire Line + 8350 7400 8250 7400 +Wire Wire Line + 8400 7400 8350 7400 +Connection ~ 8350 7400 +Wire Wire Line + 8750 1900 8650 1900 +Connection ~ 8650 1900 +Wire Wire Line + 8650 1900 8550 1900 +Connection ~ 8550 1900 +Wire Wire Line + 8550 1900 8450 1900 +Connection ~ 8450 1900 +Wire Wire Line + 8450 1900 8350 1900 +Wire Wire Line + 8350 1900 8250 1900 +Connection ~ 8350 1900 +Connection ~ 8250 1900 +$Comp +L MCU_ST_STM32F4:STM32F407VETx U? +U 1 1 5BEEABF3 +P 8450 4600 +F 0 "U?" H 7750 7150 50 0000 L CNN +F 1 "STM32F407VETx" H 8950 7150 50 0000 L CNN +F 2 "Package_QFP:LQFP-100_14x14mm_P0.5mm" H 7750 2000 50 0001 R CNN +F 3 "" H 8450 4600 50 0001 C CNN + 1 8450 4600 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9500 1700 9100 1700 +Connection ~ 9500 1700 +Wire Wire Line + 8850 1500 8850 1900 +$Comp +L power:VDDA #PWR? +U 1 1 5BF5AE28 +P 7300 2800 +F 0 "#PWR?" H 7300 2650 50 0001 C CNN +F 1 "VDDA" V 7318 2928 50 0000 L CNN +F 2 "" H 7300 2800 50 0001 C CNN +F 3 "" H 7300 2800 50 0001 C CNN + 1 7300 2800 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF5BB39 +P 7400 2800 +F 0 "R?" V 7500 2750 50 0000 C CNN +F 1 "0" V 7500 2900 50 0000 C CNN +F 2 "" H 7400 2800 50 0001 C CNN +F 3 "" H 7400 2800 50 0001 C CNN + 1 7400 2800 + 0 1 1 0 +$EndComp +Wire Wire Line + 7500 2800 7550 2800 +$Comp +L power:+3.3V #PWR? +U 1 1 5BF610A9 +P 1550 1050 +F 0 "#PWR?" H 1550 900 50 0001 C CNN +F 1 "+3.3V" H 1565 1223 50 0000 C CNN +F 2 "" H 1550 1050 50 0001 C CNN +F 3 "" H 1550 1050 50 0001 C CNN + 1 1550 1050 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF617B4 +P 1550 1250 +F 0 "#PWR?" H 1550 1000 50 0001 C CNN +F 1 "GND" H 1555 1077 50 0000 C CNN +F 2 "" H 1550 1250 50 0001 C CNN +F 3 "" H 1550 1250 50 0001 C CNN + 1 1550 1250 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF62211 +P 1550 1150 +F 0 "C?" H 1642 1196 50 0000 L CNN +F 1 "100n" H 1642 1105 50 0000 L CNN +F 2 "" H 1550 1150 50 0001 C CNN +F 3 "" H 1550 1150 50 0001 C CNN + 1 1550 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF6342B +P 1950 1150 +F 0 "C?" H 2042 1196 50 0000 L CNN +F 1 "100n" H 2042 1105 50 0000 L CNN +F 2 "" H 1950 1150 50 0001 C CNN +F 3 "" H 1950 1150 50 0001 C CNN + 1 1950 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF645FD +P 2350 1150 +F 0 "C?" H 2442 1196 50 0000 L CNN +F 1 "100n" H 2442 1105 50 0000 L CNN +F 2 "" H 2350 1150 50 0001 C CNN +F 3 "" H 2350 1150 50 0001 C CNN + 1 2350 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF6483B +P 2750 1150 +F 0 "C?" H 2842 1196 50 0000 L CNN +F 1 "100n" H 2842 1105 50 0000 L CNN +F 2 "" H 2750 1150 50 0001 C CNN +F 3 "" H 2750 1150 50 0001 C CNN + 1 2750 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF65555 +P 3150 1150 +F 0 "C?" H 3242 1196 50 0000 L CNN +F 1 "100n" H 3242 1105 50 0000 L CNN +F 2 "" H 3150 1150 50 0001 C CNN +F 3 "" H 3150 1150 50 0001 C CNN + 1 3150 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF65AAF +P 3550 1150 +F 0 "C?" H 3642 1196 50 0000 L CNN +F 1 "100n" H 3642 1105 50 0000 L CNN +F 2 "" H 3550 1150 50 0001 C CNN +F 3 "" H 3550 1150 50 0001 C CNN + 1 3550 1150 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3550 1050 3150 1050 +Connection ~ 1550 1050 +Connection ~ 1950 1050 +Wire Wire Line + 1950 1050 1550 1050 +Connection ~ 2350 1050 +Wire Wire Line + 2350 1050 1950 1050 +Connection ~ 2750 1050 +Wire Wire Line + 2750 1050 2350 1050 +Connection ~ 3150 1050 +Wire Wire Line + 3150 1050 2750 1050 +Wire Wire Line + 1550 1250 1950 1250 +Connection ~ 1550 1250 +Connection ~ 1950 1250 +Wire Wire Line + 1950 1250 2350 1250 +Connection ~ 2350 1250 +Wire Wire Line + 2350 1250 2750 1250 +Connection ~ 2750 1250 +Wire Wire Line + 2750 1250 3150 1250 +Connection ~ 3150 1250 +Wire Wire Line + 3150 1250 3550 1250 +$Comp +L device:Battery_Cell BT? +U 1 1 5BF6C982 +P 7750 1650 +F 0 "BT?" H 7500 1750 50 0000 L CNN +F 1 "CR2032" H 7300 1650 50 0000 L CNN +F 2 "" V 7750 1710 50 0001 C CNN +F 3 "" V 7750 1710 50 0001 C CNN + 1 7750 1650 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF6E562 +P 7750 1750 +F 0 "#PWR?" H 7750 1500 50 0001 C CNN +F 1 "GND" H 7755 1577 50 0000 C CNN +F 2 "" H 7750 1750 50 0001 C CNN +F 3 "" H 7750 1750 50 0001 C CNN + 1 7750 1750 + 1 0 0 -1 +$EndComp +Wire Wire Line + 7750 1450 8150 1450 +Wire Wire Line + 8150 1450 8150 1900 +Text Label 10100 3500 2 50 ~ 0 +SWDIO +Text Label 10100 3600 2 50 ~ 0 +SWCLK +Wire Wire Line + 10100 3600 9350 3600 +Wire Wire Line + 10100 3500 9350 3500 +$Comp +L Connector_Generic:Conn_01x04 J? +U 1 1 5BF8388D +P 1550 4800 +F 0 "J?" H 1470 5117 50 0000 C CNN +F 1 "SWD" H 1470 5026 50 0000 C CNN +F 2 "" H 1550 4800 50 0001 C CNN +F 3 "~" H 1550 4800 50 0001 C CNN + 1 1550 4800 + -1 0 0 -1 +$EndComp +Text Label 2100 5000 2 50 ~ 0 +SWDIO +Text Label 2100 4800 2 50 ~ 0 +SWCLK +$Comp +L power:GND #PWR? +U 1 1 5BF9410F +P 2200 4900 +F 0 "#PWR?" H 2200 4650 50 0001 C CNN +F 1 "GND" V 2205 4772 50 0000 R CNN +F 2 "" H 2200 4900 50 0001 C CNN +F 3 "" H 2200 4900 50 0001 C CNN + 1 2200 4900 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 2200 4900 1750 4900 +Wire Wire Line + 1750 4800 2100 4800 +Wire Wire Line + 2200 4700 1750 4700 +Wire Wire Line + 1750 5000 2100 5000 +Text Label 10100 3100 2 50 ~ 0 +DBGH_TX +Text Label 10100 3200 2 50 ~ 0 +DBGH_RX +Wire Wire Line + 10100 3200 9350 3200 +Wire Wire Line + 10100 3100 9350 3100 +$Comp +L Connector_Generic:Conn_01x04 J? +U 1 1 5BFBEF9F +P 2750 4800 +F 0 "J?" H 2670 5117 50 0000 C CNN +F 1 "UART_HOST" H 2670 5026 50 0000 C CNN +F 2 "" H 2750 4800 50 0001 C CNN +F 3 "~" H 2750 4800 50 0001 C CNN + 1 2750 4800 + -1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BFC1836 +P 3450 4700 +F 0 "#PWR?" H 3450 4550 50 0001 C CNN +F 1 "VBUS" V 3465 4828 50 0000 L CNN +F 2 "" H 3450 4700 50 0001 C CNN +F 3 "" H 3450 4700 50 0001 C CNN + 1 3450 4700 + 0 1 1 0 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BF8F4B2 +P 2200 4700 +F 0 "#PWR?" H 2200 4550 50 0001 C CNN +F 1 "+3.3V" V 2215 4828 50 0000 L CNN +F 2 "" H 2200 4700 50 0001 C CNN +F 3 "" H 2200 4700 50 0001 C CNN + 1 2200 4700 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BFC580C +P 3450 4800 +F 0 "#PWR?" H 3450 4550 50 0001 C CNN +F 1 "GND" V 3455 4672 50 0000 R CNN +F 2 "" H 3450 4800 50 0001 C CNN +F 3 "" H 3450 4800 50 0001 C CNN + 1 3450 4800 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 3450 4800 2950 4800 +Wire Wire Line + 3450 4700 2950 4700 +$Comp +L Connector_Generic:Conn_01x04 J? +U 1 1 5BFCCF0F +P 3950 4800 +F 0 "J?" H 3870 5117 50 0000 C CNN +F 1 "UART_DEVICE" H 3870 5026 50 0000 C CNN +F 2 "" H 3950 4800 50 0001 C CNN +F 3 "~" H 3950 4800 50 0001 C CNN + 1 3950 4800 + -1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BFD18DB +P 4650 4700 +F 0 "#PWR?" H 4650 4550 50 0001 C CNN +F 1 "VBUS" V 4665 4828 50 0000 L CNN +F 2 "" H 4650 4700 50 0001 C CNN +F 3 "" H 4650 4700 50 0001 C CNN + 1 4650 4700 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BFD27A6 +P 4650 4800 +F 0 "#PWR?" H 4650 4550 50 0001 C CNN +F 1 "GND" V 4655 4672 50 0000 R CNN +F 2 "" H 4650 4800 50 0001 C CNN +F 3 "" H 4650 4800 50 0001 C CNN + 1 4650 4800 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 4650 4800 4150 4800 +Wire Wire Line + 4150 4700 4650 4700 +Text Label 3300 4900 2 50 ~ 0 +DBGH_RX +Text Label 3300 5000 2 50 ~ 0 +DBGH_TX +Text Label 4500 4900 2 50 ~ 0 +DBGD_RX +Text Label 4500 5000 2 50 ~ 0 +DBGD_TX +Wire Wire Line + 4500 5000 4150 5000 +Wire Wire Line + 4150 4900 4500 4900 +Wire Wire Line + 3300 5000 2950 5000 +Wire Wire Line + 2950 4900 3300 4900 +$Comp +L components:FE1.1s U? +U 1 1 5BFFC98A +P 3500 7500 +F 0 "U?" H 2750 8150 50 0000 C CNN +F 1 "FE1.1s" H 4150 8150 50 0000 C CNN +F 2 "" H 3500 7500 50 0001 C CNN +F 3 "" H 3500 7500 50 0001 C CNN + 1 3500 7500 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3600 6300 3600 6700 +Wire Wire Line + 3500 6300 3500 6700 +Wire Wire Line + 3000 9200 3000 8400 +Wire Wire Line + 2000 9200 3000 9200 +Wire Wire Line + 3100 8400 3100 9300 +Wire Wire Line + 2000 9300 3100 9300 +$Comp +L conn:USB_A J? +U 1 1 5C01D6A6 +P 1700 10400 +F 0 "J?" H 1500 10850 50 0000 L CNN +F 1 "USB_A" H 1500 10750 50 0000 L CNN +F 2 "" H 1850 10350 50 0001 C CNN +F 3 "" H 1850 10350 50 0001 C CNN + 1 1700 10400 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C01EA78 +P 1700 10900 +F 0 "#PWR?" H 1700 10650 50 0001 C CNN +F 1 "GND" H 1705 10727 50 0000 C CNN +F 2 "" H 1700 10900 50 0001 C CNN +F 3 "" H 1700 10900 50 0001 C CNN + 1 1700 10900 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1700 10900 1700 10800 +Wire Wire Line + 1600 10800 1700 10800 +Connection ~ 1700 10800 +Wire Wire Line + 2000 10400 3300 10400 +Wire Wire Line + 3300 10400 3300 8400 +Wire Wire Line + 2000 10500 3400 10500 +Wire Wire Line + 3400 10500 3400 8400 +Wire Wire Line + 4500 7300 4500 7400 +Wire Wire Line + 4500 7500 4500 7600 +$Comp +L device:C_Small C? +U 1 1 5C047824 +P 5050 7600 +F 0 "C?" V 5100 7700 50 0000 C CNN +F 1 "10u" V 4912 7600 50 0000 C CNN +F 2 "" H 5050 7600 50 0001 C CNN +F 3 "" H 5050 7600 50 0001 C CNN + 1 5050 7600 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C048AFF +P 5200 7400 +F 0 "C?" V 4971 7400 50 0000 C CNN +F 1 "10u" V 5062 7400 50 0000 C CNN +F 2 "" H 5200 7400 50 0001 C CNN +F 3 "" H 5200 7400 50 0001 C CNN + 1 5200 7400 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C049AB0 +P 5300 7800 +F 0 "#PWR?" H 5300 7550 50 0001 C CNN +F 1 "GND" H 5305 7627 50 0000 C CNN +F 2 "" H 5300 7800 50 0001 C CNN +F 3 "" H 5300 7800 50 0001 C CNN + 1 5300 7800 + 1 0 0 -1 +$EndComp +Wire Wire Line + 5300 7800 4500 7800 +Wire Wire Line + 5300 7800 5300 7600 +Connection ~ 5300 7800 +Wire Wire Line + 5150 7600 5300 7600 +Connection ~ 5300 7600 +Wire Wire Line + 5300 7600 5300 7400 +Wire Wire Line + 4950 7600 4500 7600 +Connection ~ 4500 7600 +Wire Wire Line + 4500 7400 5100 7400 +Connection ~ 4500 7400 +Wire Wire Line + 4500 7200 4500 7100 +$Comp +L power:VBUS #PWR? +U 1 1 5C06BD77 +P 4500 7000 +F 0 "#PWR?" H 4500 6850 50 0001 C CNN +F 1 "VBUS" H 4515 7173 50 0000 C CNN +F 2 "" H 4500 7000 50 0001 C CNN +F 3 "" H 4500 7000 50 0001 C CNN + 1 4500 7000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4500 7000 4500 7100 +Connection ~ 4500 7100 +$Comp +L device:Crystal_GND24_Small Y? +U 1 1 5C073CEB +P 2000 7100 +F 0 "Y?" V 1954 7266 50 0000 L CNN +F 1 "12MHz" V 2045 7266 50 0000 L CNN +F 2 "" H 2000 7100 50 0001 C CNN +F 3 "" H 2000 7100 50 0001 C CNN + 1 2000 7100 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C07723C +P 1650 7200 +F 0 "C?" V 1750 7300 50 0000 C CNN +F 1 "22p" V 1800 7200 50 0000 C CNN +F 2 "" H 1650 7200 50 0001 C CNN +F 3 "" H 1650 7200 50 0001 C CNN + 1 1650 7200 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C079071 +P 1650 7000 +F 0 "C?" V 1550 7100 50 0000 C CNN +F 1 "22p" V 1512 7000 50 0000 C CNN +F 2 "" H 1650 7000 50 0001 C CNN +F 3 "" H 1650 7000 50 0001 C CNN + 1 1650 7000 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C07C20B +P 1450 7500 +F 0 "#PWR?" H 1450 7250 50 0001 C CNN +F 1 "GND" H 1455 7327 50 0000 C CNN +F 2 "" H 1450 7500 50 0001 C CNN +F 3 "" H 1450 7500 50 0001 C CNN + 1 1450 7500 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1450 7500 1450 7400 +Wire Wire Line + 1450 7000 1550 7000 +Wire Wire Line + 1550 7200 1450 7200 +Connection ~ 1450 7200 +Wire Wire Line + 1450 7200 1450 7000 +Wire Wire Line + 1750 7200 2000 7200 +Connection ~ 2000 7200 +Wire Wire Line + 2000 7200 2500 7200 +Wire Wire Line + 2500 7100 2300 7100 +Wire Wire Line + 2300 7100 2300 7000 +Wire Wire Line + 2300 7000 2000 7000 +Connection ~ 2000 7000 +Wire Wire Line + 2000 7000 1750 7000 +$Comp +L device:R_Small R? +U 1 1 5C095FA0 +P 2300 7400 +F 0 "R?" V 2400 7400 50 0000 C CNN +F 1 "2k7" V 2195 7400 50 0000 C CNN +F 2 "" H 2300 7400 50 0001 C CNN +F 3 "" H 2300 7400 50 0001 C CNN + 1 2300 7400 + 0 1 1 0 +$EndComp +Wire Wire Line + 2200 7400 2000 7400 +Connection ~ 1450 7400 +Wire Wire Line + 1450 7400 1450 7200 +Wire Wire Line + 2500 7400 2400 7400 +Wire Wire Line + 2500 7600 2000 7600 +Wire Wire Line + 2000 7600 2000 7400 +Connection ~ 2000 7400 +Wire Wire Line + 2000 7400 1450 7400 +Text Label 4600 7400 0 50 ~ 0 +3V3_HUB +Text Label 2100 7700 0 50 ~ 0 +3V3_HUB +Wire Wire Line + 2100 7700 2500 7700 +NoConn ~ 2500 7800 +Wire Wire Line + 2000 7600 2000 7900 +Wire Wire Line + 2000 7900 2500 7900 +Connection ~ 2000 7600 +$Comp +L device:R_Small R? +U 1 1 5C0F41D6 +P 1900 8000 +F 0 "R?" V 2000 8000 50 0000 C CNN +F 1 "10k" V 1795 8000 50 0000 C CNN +F 2 "" H 1900 8000 50 0001 C CNN +F 3 "" H 1900 8000 50 0001 C CNN + 1 1900 8000 + 0 1 1 0 +$EndComp +Text Label 1450 8000 0 50 ~ 0 +3V3_HUB +Wire Wire Line + 1450 8000 1800 8000 +Wire Wire Line + 2000 8000 2200 8000 +Text Label 1700 8250 0 50 ~ 0 +HUB_NRST +Wire Wire Line + 1700 8250 2200 8250 +Wire Wire Line + 2200 8250 2200 8000 +Connection ~ 2200 8000 +Wire Wire Line + 2200 8000 2500 8000 +Text Label 10100 2700 2 50 ~ 0 +HUB_NRST +Wire Wire Line + 10100 2700 9350 2700 +$Comp +L Connector_Generic:Conn_02x05_Odd_Even J? +U 1 1 5C134723 +P 4150 9550 +F 0 "J?" H 4200 9967 50 0000 C CNN +F 1 "USB_SPARE" H 4200 9876 50 0000 C CNN +F 2 "" H 4150 9550 50 0001 C CNN +F 3 "~" H 4150 9550 50 0001 C CNN + 1 4150 9550 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5C17F16B +P 4200 9000 +F 0 "#PWR?" H 4200 8850 50 0001 C CNN +F 1 "VBUS" H 4215 9173 50 0000 C CNN +F 2 "" H 4200 9000 50 0001 C CNN +F 3 "" H 4200 9000 50 0001 C CNN + 1 4200 9000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4200 9000 3950 9000 +Wire Wire Line + 3950 9000 3950 9350 +Wire Wire Line + 4200 9000 4450 9000 +Wire Wire Line + 4450 9000 4450 9350 +Connection ~ 4200 9000 +$Comp +L power:GND #PWR? +U 1 1 5C18FF7C +P 4200 9950 +F 0 "#PWR?" H 4200 9700 50 0001 C CNN +F 1 "GND" H 4205 9777 50 0000 C CNN +F 2 "" H 4200 9950 50 0001 C CNN +F 3 "" H 4200 9950 50 0001 C CNN + 1 4200 9950 + 1 0 0 -1 +$EndComp +NoConn ~ 3950 9750 +NoConn ~ 4450 9750 +Wire Wire Line + 3950 9650 3850 9650 +Wire Wire Line + 3850 9650 3850 9950 +Wire Wire Line + 3850 9950 4200 9950 +Wire Wire Line + 4550 9950 4550 9650 +Wire Wire Line + 4550 9650 4450 9650 +Connection ~ 4200 9950 +Wire Wire Line + 4200 9950 4550 9950 +Wire Wire Line + 3950 9450 3700 9450 +Wire Wire Line + 3700 9450 3700 8400 +Wire Wire Line + 3600 8400 3600 9550 +Wire Wire Line + 3600 9550 3950 9550 +Wire Wire Line + 4450 9450 4650 9450 +Wire Wire Line + 4650 9450 4650 8500 +Wire Wire Line + 4650 8500 4000 8500 +Wire Wire Line + 4000 8500 4000 8400 +Wire Wire Line + 3900 8400 3900 8600 +Wire Wire Line + 3900 8600 4550 8600 +Wire Wire Line + 4550 8600 4550 9550 +Wire Wire Line + 4550 9550 4450 9550 +$Comp +L device:Speaker_Crystal LS? +U 1 1 5C238571 +P 7650 10250 +F 0 "LS?" H 7617 9833 50 0000 C CNN +F 1 "12mm passive piezo" H 7617 9924 50 0000 C CNN +F 2 "" H 7615 10200 50 0001 C CNN +F 3 "" H 7615 10200 50 0001 C CNN + 1 7650 10250 + -1 0 0 1 +$EndComp +$Comp +L transistors:2N7002 Q? +U 1 1 5C23FA3A +P 9350 9700 +F 0 "Q?" H 9556 9654 50 0000 L CNN +F 1 "AO3400" H 9556 9745 50 0000 L CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 9550 9625 50 0001 L CIN +F 3 "https://www.fairchildsemi.com/datasheets/2N/2N7002.pdf" H 9350 9700 50 0001 L CNN + 1 9350 9700 + -1 0 0 1 +$EndComp +$Comp +L device:LED D? +U 1 1 5C249B1C +P 7500 9250 +F 0 "D?" V 7492 9132 50 0000 R CNN +F 1 "Ice blue" V 7447 9133 50 0001 R CNN +F 2 "" H 7500 9250 50 0001 C CNN +F 3 "" H 7500 9250 50 0001 C CNN + 1 7500 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25931E +P 7850 9250 +F 0 "D?" V 7842 9132 50 0000 R CNN +F 1 "Ice blue" V 7797 9133 50 0001 R CNN +F 2 "" H 7850 9250 50 0001 C CNN +F 3 "" H 7850 9250 50 0001 C CNN + 1 7850 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25AEAB +P 8200 9250 +F 0 "D?" V 8192 9132 50 0000 R CNN +F 1 "Ice blue" V 8147 9133 50 0001 R CNN +F 2 "" H 8200 9250 50 0001 C CNN +F 3 "" H 8200 9250 50 0001 C CNN + 1 8200 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25B671 +P 8550 9250 +F 0 "D?" V 8542 9132 50 0000 R CNN +F 1 "Ice blue" V 8497 9133 50 0001 R CNN +F 2 "" H 8550 9250 50 0001 C CNN +F 3 "" H 8550 9250 50 0001 C CNN + 1 8550 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25C2E7 +P 8900 9250 +F 0 "D?" V 8892 9132 50 0000 R CNN +F 1 "Ice blue" V 8847 9133 50 0001 R CNN +F 2 "" H 8900 9250 50 0001 C CNN +F 3 "" H 8900 9250 50 0001 C CNN + 1 8900 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25CA14 +P 9250 9250 +F 0 "D?" V 9288 9132 50 0000 R CNN +F 1 "ice blue" V 9197 9132 50 0000 R CNN +F 2 "" H 9250 9250 50 0001 C CNN +F 3 "" H 9250 9250 50 0001 C CNN + 1 9250 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25E0F0 +P 7500 8900 +F 0 "R?" H 7559 8946 50 0000 L CNN +F 1 "100" H 7559 8855 50 0000 L CNN +F 2 "" H 7500 8900 50 0001 C CNN +F 3 "" H 7500 8900 50 0001 C CNN + 1 7500 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25EB0C +P 7850 8900 +F 0 "R?" H 7909 8946 50 0000 L CNN +F 1 "100" H 7909 8855 50 0000 L CNN +F 2 "" H 7850 8900 50 0001 C CNN +F 3 "" H 7850 8900 50 0001 C CNN + 1 7850 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25EC8A +P 8200 8900 +F 0 "R?" H 8259 8946 50 0000 L CNN +F 1 "100" H 8259 8855 50 0000 L CNN +F 2 "" H 8200 8900 50 0001 C CNN +F 3 "" H 8200 8900 50 0001 C CNN + 1 8200 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25F0FB +P 8550 8900 +F 0 "R?" H 8609 8946 50 0000 L CNN +F 1 "100" H 8609 8855 50 0000 L CNN +F 2 "" H 8550 8900 50 0001 C CNN +F 3 "" H 8550 8900 50 0001 C CNN + 1 8550 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25F439 +P 8900 8900 +F 0 "R?" H 8959 8946 50 0000 L CNN +F 1 "100" H 8959 8855 50 0000 L CNN +F 2 "" H 8900 8900 50 0001 C CNN +F 3 "" H 8900 8900 50 0001 C CNN + 1 8900 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C26016A +P 9250 8900 +F 0 "R?" H 9309 8946 50 0000 L CNN +F 1 "100" H 9309 8855 50 0000 L CNN +F 2 "" H 9250 8900 50 0001 C CNN +F 3 "" H 9250 8900 50 0001 C CNN + 1 9250 8900 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9250 9500 9250 9400 +Wire Wire Line + 9250 9400 8900 9400 +Connection ~ 9250 9400 +Connection ~ 7850 9400 +Wire Wire Line + 7850 9400 7500 9400 +Connection ~ 8200 9400 +Wire Wire Line + 8200 9400 7850 9400 +Connection ~ 8550 9400 +Wire Wire Line + 8550 9400 8200 9400 +Connection ~ 8900 9400 +Wire Wire Line + 8900 9400 8550 9400 +Wire Wire Line + 7500 9100 7500 9000 +Wire Wire Line + 7850 9000 7850 9100 +Wire Wire Line + 8200 9000 8200 9100 +Wire Wire Line + 8550 9000 8550 9100 +Wire Wire Line + 8900 9000 8900 9100 +Wire Wire Line + 9250 9000 9250 9100 +$Comp +L power:VBUS #PWR? +U 1 1 5C2C37A2 +P 9250 8700 +F 0 "#PWR?" H 9250 8550 50 0001 C CNN +F 1 "VBUS" H 9265 8873 50 0000 C CNN +F 2 "" H 9250 8700 50 0001 C CNN +F 3 "" H 9250 8700 50 0001 C CNN + 1 9250 8700 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9250 8700 9250 8800 +Wire Wire Line + 9250 8800 8900 8800 +Connection ~ 9250 8800 +Connection ~ 7850 8800 +Wire Wire Line + 7850 8800 7500 8800 +Connection ~ 8200 8800 +Wire Wire Line + 8200 8800 7850 8800 +Connection ~ 8550 8800 +Wire Wire Line + 8550 8800 8200 8800 +Connection ~ 8900 8800 +Wire Wire Line + 8900 8800 8550 8800 +$Comp +L power:GND #PWR? +U 1 1 5C2D1E2D +P 9250 10000 +F 0 "#PWR?" H 9250 9750 50 0001 C CNN +F 1 "GND" H 9255 9827 50 0000 C CNN +F 2 "" H 9250 10000 50 0001 C CNN +F 3 "" H 9250 10000 50 0001 C CNN + 1 9250 10000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9250 10000 9250 9900 +$Comp +L transistors:2N7002 Q? +U 1 1 5C2E1C85 +P 11650 9700 +F 0 "Q?" H 11856 9654 50 0000 L CNN +F 1 "AO3400" H 11856 9745 50 0000 L CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 11850 9625 50 0001 L CIN +F 3 "https://www.fairchildsemi.com/datasheets/2N/2N7002.pdf" H 11650 9700 50 0001 L CNN + 1 11650 9700 + -1 0 0 1 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1C8C +P 9800 9250 +F 0 "D?" V 9792 9132 50 0000 R CNN +F 1 "pink" V 9747 9133 50 0001 R CNN +F 2 "" H 9800 9250 50 0001 C CNN +F 3 "" H 9800 9250 50 0001 C CNN + 1 9800 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1C93 +P 10150 9250 +F 0 "D?" V 10142 9132 50 0000 R CNN +F 1 "pink" V 10097 9133 50 0001 R CNN +F 2 "" H 10150 9250 50 0001 C CNN +F 3 "" H 10150 9250 50 0001 C CNN + 1 10150 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1C9A +P 10500 9250 +F 0 "D?" V 10492 9132 50 0000 R CNN +F 1 "pink" V 10447 9133 50 0001 R CNN +F 2 "" H 10500 9250 50 0001 C CNN +F 3 "" H 10500 9250 50 0001 C CNN + 1 10500 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1CA1 +P 10850 9250 +F 0 "D?" V 10842 9132 50 0000 R CNN +F 1 "pink" V 10797 9133 50 0001 R CNN +F 2 "" H 10850 9250 50 0001 C CNN +F 3 "" H 10850 9250 50 0001 C CNN + 1 10850 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1CA8 +P 11200 9250 +F 0 "D?" V 11192 9132 50 0000 R CNN +F 1 "pink" V 11147 9133 50 0001 R CNN +F 2 "" H 11200 9250 50 0001 C CNN +F 3 "" H 11200 9250 50 0001 C CNN + 1 11200 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1CAF +P 11550 9250 +F 0 "D?" V 11588 9132 50 0000 R CNN +F 1 "pink" V 11497 9132 50 0000 R CNN +F 2 "" H 11550 9250 50 0001 C CNN +F 3 "" H 11550 9250 50 0001 C CNN + 1 11550 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CB6 +P 9800 8900 +F 0 "R?" H 9859 8946 50 0000 L CNN +F 1 "100" H 9859 8855 50 0000 L CNN +F 2 "" H 9800 8900 50 0001 C CNN +F 3 "" H 9800 8900 50 0001 C CNN + 1 9800 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CBD +P 10150 8900 +F 0 "R?" H 10209 8946 50 0000 L CNN +F 1 "100" H 10209 8855 50 0000 L CNN +F 2 "" H 10150 8900 50 0001 C CNN +F 3 "" H 10150 8900 50 0001 C CNN + 1 10150 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CC4 +P 10500 8900 +F 0 "R?" H 10559 8946 50 0000 L CNN +F 1 "100" H 10559 8855 50 0000 L CNN +F 2 "" H 10500 8900 50 0001 C CNN +F 3 "" H 10500 8900 50 0001 C CNN + 1 10500 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CCB +P 10850 8900 +F 0 "R?" H 10909 8946 50 0000 L CNN +F 1 "100" H 10909 8855 50 0000 L CNN +F 2 "" H 10850 8900 50 0001 C CNN +F 3 "" H 10850 8900 50 0001 C CNN + 1 10850 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CD2 +P 11200 8900 +F 0 "R?" H 11259 8946 50 0000 L CNN +F 1 "100" H 11259 8855 50 0000 L CNN +F 2 "" H 11200 8900 50 0001 C CNN +F 3 "" H 11200 8900 50 0001 C CNN + 1 11200 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CD9 +P 11550 8900 +F 0 "R?" H 11609 8946 50 0000 L CNN +F 1 "100" H 11609 8855 50 0000 L CNN +F 2 "" H 11550 8900 50 0001 C CNN +F 3 "" H 11550 8900 50 0001 C CNN + 1 11550 8900 + 1 0 0 -1 +$EndComp +Wire Wire Line + 11550 9500 11550 9400 +Wire Wire Line + 11550 9400 11200 9400 +Connection ~ 11550 9400 +Connection ~ 10150 9400 +Wire Wire Line + 10150 9400 9800 9400 +Connection ~ 10500 9400 +Wire Wire Line + 10500 9400 10150 9400 +Connection ~ 10850 9400 +Wire Wire Line + 10850 9400 10500 9400 +Connection ~ 11200 9400 +Wire Wire Line + 11200 9400 10850 9400 +Wire Wire Line + 9800 9100 9800 9000 +Wire Wire Line + 10150 9000 10150 9100 +Wire Wire Line + 10500 9000 10500 9100 +Wire Wire Line + 10850 9000 10850 9100 +Wire Wire Line + 11200 9000 11200 9100 +Wire Wire Line + 11550 9000 11550 9100 +$Comp +L power:VBUS #PWR? +U 1 1 5C2E1CF1 +P 11550 8700 +F 0 "#PWR?" H 11550 8550 50 0001 C CNN +F 1 "VBUS" H 11565 8873 50 0000 C CNN +F 2 "" H 11550 8700 50 0001 C CNN +F 3 "" H 11550 8700 50 0001 C CNN + 1 11550 8700 + 1 0 0 -1 +$EndComp +Wire Wire Line + 11550 8700 11550 8800 +Wire Wire Line + 11550 8800 11200 8800 +Connection ~ 11550 8800 +Connection ~ 10150 8800 +Wire Wire Line + 10150 8800 9800 8800 +Connection ~ 10500 8800 +Wire Wire Line + 10500 8800 10150 8800 +Connection ~ 10850 8800 +Wire Wire Line + 10850 8800 10500 8800 +Connection ~ 11200 8800 +Wire Wire Line + 11200 8800 10850 8800 +$Comp +L power:GND #PWR? +U 1 1 5C2E1D02 +P 11550 10000 +F 0 "#PWR?" H 11550 9750 50 0001 C CNN +F 1 "GND" H 11555 9827 50 0000 C CNN +F 2 "" H 11550 10000 50 0001 C CNN +F 3 "" H 11550 10000 50 0001 C CNN + 1 11550 10000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 11550 10000 11550 9900 +Text Label 10250 9700 2 50 ~ 0 +ALARM_LED_BLUE +Wire Wire Line + 10250 9700 9550 9700 +Text Label 12550 9700 2 50 ~ 0 +ALARM_LED_PINK +Wire Wire Line + 12550 9700 11850 9700 +Text Label 10100 2800 2 50 ~ 0 +ALARM_LED_BLUE +Text Label 10100 2900 2 50 ~ 0 +ALARM_LED_PINK +Wire Wire Line + 10100 2900 9350 2900 +Wire Wire Line + 9350 2800 10100 2800 +$Comp +L transistors:2N7002 Q? +U 1 1 5C35C82C +P 8050 10550 +F 0 "Q?" H 8256 10504 50 0000 L CNN +F 1 "AO3400" H 8256 10595 50 0000 L CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 8250 10475 50 0001 L CIN +F 3 "https://www.fairchildsemi.com/datasheets/2N/2N7002.pdf" H 8050 10550 50 0001 L CNN + 1 8050 10550 + -1 0 0 1 +$EndComp +Wire Wire Line + 7950 10350 7950 10300 +Wire Wire Line + 7950 10250 7850 10250 +$Comp +L device:C_Small C? +U 1 1 5C36E3E6 +P 8500 10650 +F 0 "C?" H 8592 10696 50 0000 L CNN +F 1 "100p" H 8592 10605 50 0000 L CNN +F 2 "" H 8500 10650 50 0001 C CNN +F 3 "" H 8500 10650 50 0001 C CNN + 1 8500 10650 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5C3825D2 +P 7950 10050 +F 0 "#PWR?" H 7950 9900 50 0001 C CNN +F 1 "VBUS" H 7965 10223 50 0000 C CNN +F 2 "" H 7950 10050 50 0001 C CNN +F 3 "" H 7950 10050 50 0001 C CNN + 1 7950 10050 + 1 0 0 -1 +$EndComp +Wire Wire Line + 7850 10150 7950 10150 +Wire Wire Line + 7950 10150 7950 10100 +$Comp +L device:R_Small R? +U 1 1 5C39507D +P 8150 10200 +F 0 "R?" H 8209 10246 50 0000 L CNN +F 1 "100" H 8209 10155 50 0000 L CNN +F 2 "" H 8150 10200 50 0001 C CNN +F 3 "" H 8150 10200 50 0001 C CNN + 1 8150 10200 + 1 0 0 -1 +$EndComp +Wire Wire Line + 8150 10100 7950 10100 +Connection ~ 7950 10100 +Wire Wire Line + 7950 10100 7950 10050 +Wire Wire Line + 8150 10300 7950 10300 +Connection ~ 7950 10300 +Wire Wire Line + 7950 10300 7950 10250 +$Comp +L power:GND #PWR? +U 1 1 5C3B929C +P 7950 10850 +F 0 "#PWR?" H 7950 10600 50 0001 C CNN +F 1 "GND" H 7955 10677 50 0000 C CNN +F 2 "" H 7950 10850 50 0001 C CNN +F 3 "" H 7950 10850 50 0001 C CNN + 1 7950 10850 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C3BA02E +P 8800 10550 +F 0 "R?" V 8604 10550 50 0000 C CNN +F 1 "1k" V 8695 10550 50 0000 C CNN +F 2 "" H 8800 10550 50 0001 C CNN +F 3 "" H 8800 10550 50 0001 C CNN + 1 8800 10550 + 0 1 1 0 +$EndComp +Wire Wire Line + 8700 10550 8500 10550 +Connection ~ 8500 10550 +Wire Wire Line + 8500 10550 8250 10550 +Wire Wire Line + 7950 10750 7950 10850 +Wire Wire Line + 7950 10750 8500 10750 +Connection ~ 7950 10750 +Wire Wire Line + 8900 10550 9400 10550 +Text Label 9400 10550 2 50 ~ 0 +PIEZO_OUT +Text Label 10100 4900 2 50 ~ 0 +PIEZO_OUT +Wire Wire Line + 10100 4900 9350 4900 +$Comp +L device:CP_Small C? +U 1 1 5C51704D +P 2350 8750 +F 0 "C?" V 2250 8600 50 0000 C CNN +F 1 "47u" V 2216 8750 50 0000 C CNN +F 2 "" H 2350 8750 50 0001 C CNN +F 3 "" H 2350 8750 50 0001 C CNN + 1 2350 8750 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C51BE00 +P 2350 9000 +F 0 "C?" V 2250 8850 50 0000 C CNN +F 1 "100n" V 2500 9000 50 0000 C CNN +F 2 "" H 2350 9000 50 0001 C CNN +F 3 "" H 2350 9000 50 0001 C CNN + 1 2350 9000 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C5297AC +P 2550 9000 +F 0 "#PWR?" H 2550 8750 50 0001 C CNN +F 1 "GND" H 2700 8950 50 0000 C CNN +F 2 "" H 2550 9000 50 0001 C CNN +F 3 "" H 2550 9000 50 0001 C CNN + 1 2550 9000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 2550 9000 2450 9000 +Wire Wire Line + 2450 9000 2450 8750 +Connection ~ 2450 9000 +Wire Wire Line + 2250 9000 2100 9000 +Connection ~ 2100 9000 +Wire Wire Line + 2250 8750 2100 8750 +Connection ~ 2100 8750 +Wire Wire Line + 2100 8750 2100 9000 +Wire Wire Line + 2100 9800 2100 9950 +Wire Wire Line + 2100 10200 2000 10200 +$Comp +L power:VBUS #PWR? +U 1 1 5C562857 +P 2100 9800 +F 0 "#PWR?" H 2100 9650 50 0001 C CNN +F 1 "VBUS" H 2115 9973 50 0000 C CNN +F 2 "" H 2100 9800 50 0001 C CNN +F 3 "" H 2100 9800 50 0001 C CNN + 1 2100 9800 + 1 0 0 -1 +$EndComp +$Comp +L device:CP_Small C? +U 1 1 5C56285D +P 2350 9950 +F 0 "C?" V 2250 9800 50 0000 C CNN +F 1 "47u" V 2216 9950 50 0000 C CNN +F 2 "" H 2350 9950 50 0001 C CNN +F 3 "" H 2350 9950 50 0001 C CNN + 1 2350 9950 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C562864 +P 2350 10200 +F 0 "C?" V 2250 10050 50 0000 C CNN +F 1 "100n" V 2500 10200 50 0000 C CNN +F 2 "" H 2350 10200 50 0001 C CNN +F 3 "" H 2350 10200 50 0001 C CNN + 1 2350 10200 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C56286B +P 2550 10200 +F 0 "#PWR?" H 2550 9950 50 0001 C CNN +F 1 "GND" H 2700 10150 50 0000 C CNN +F 2 "" H 2550 10200 50 0001 C CNN +F 3 "" H 2550 10200 50 0001 C CNN + 1 2550 10200 + 1 0 0 -1 +$EndComp +Wire Wire Line + 2550 10200 2450 10200 +Wire Wire Line + 2450 10200 2450 9950 +Connection ~ 2450 10200 +Wire Wire Line + 2250 10200 2100 10200 +Connection ~ 2100 10200 +Wire Wire Line + 2250 9950 2100 9950 +Connection ~ 2100 9950 +Wire Wire Line + 2100 9950 2100 10200 +Text Label 10100 2400 2 50 ~ 0 +SECURE_IF_F4TX +Text Label 10100 2500 2 50 ~ 0 +SECURE_IF_F4RX +Wire Wire Line + 10100 2500 9350 2500 +Wire Wire Line + 10100 2400 9350 2400 +$Comp +L device:LED_Small D? +U 1 1 5C5B8E64 +P 6600 8950 +F 0 "D?" H 6500 8900 50 0000 C CNN +F 1 "red" H 6700 8900 50 0000 C CNN +F 2 "" V 6600 8950 50 0001 C CNN +F 3 "" V 6600 8950 50 0001 C CNN + 1 6600 8950 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5C2170 +P 6600 9100 +F 0 "D?" H 6500 9050 50 0000 C CNN +F 1 "red" H 6700 9050 50 0000 C CNN +F 2 "" V 6600 9100 50 0001 C CNN +F 3 "" V 6600 9100 50 0001 C CNN + 1 6600 9100 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5C4C69 +P 6600 9250 +F 0 "D?" H 6500 9200 50 0000 C CNN +F 1 "red" H 6700 9200 50 0000 C CNN +F 2 "" V 6600 9250 50 0001 C CNN +F 3 "" V 6600 9250 50 0001 C CNN + 1 6600 9250 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5C8AAB +P 6600 9400 +F 0 "D?" H 6500 9350 50 0000 C CNN +F 1 "red" H 6700 9350 50 0000 C CNN +F 2 "" V 6600 9400 50 0001 C CNN +F 3 "" V 6600 9400 50 0001 C CNN + 1 6600 9400 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5CCC8D +P 6600 9550 +F 0 "D?" H 6500 9500 50 0000 C CNN +F 1 "red" H 6700 9500 50 0000 C CNN +F 2 "" V 6600 9550 50 0001 C CNN +F 3 "" V 6600 9550 50 0001 C CNN + 1 6600 9550 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5CF123 +P 6600 9700 +F 0 "D?" H 6500 9650 50 0000 C CNN +F 1 "red" H 6700 9650 50 0000 C CNN +F 2 "" V 6600 9700 50 0001 C CNN +F 3 "" V 6600 9700 50 0001 C CNN + 1 6600 9700 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5CFFD0 +P 6600 9850 +F 0 "D?" H 6500 9800 50 0000 C CNN +F 1 "red" H 6700 9800 50 0000 C CNN +F 2 "" V 6600 9850 50 0001 C CNN +F 3 "" V 6600 9850 50 0001 C CNN + 1 6600 9850 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D158A +P 6600 10000 +F 0 "D?" H 6500 9950 50 0000 C CNN +F 1 "red" H 6700 9950 50 0000 C CNN +F 2 "" V 6600 10000 50 0001 C CNN +F 3 "" V 6600 10000 50 0001 C CNN + 1 6600 10000 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D3F1F +P 6600 10150 +F 0 "D?" H 6500 10100 50 0000 C CNN +F 1 "red" H 6700 10100 50 0000 C CNN +F 2 "" V 6600 10150 50 0001 C CNN +F 3 "" V 6600 10150 50 0001 C CNN + 1 6600 10150 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D4845 +P 6600 10300 +F 0 "D?" H 6500 10250 50 0000 C CNN +F 1 "red" H 6700 10250 50 0000 C CNN +F 2 "" V 6600 10300 50 0001 C CNN +F 3 "" V 6600 10300 50 0001 C CNN + 1 6600 10300 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D5CC9 +P 6600 10450 +F 0 "D?" H 6500 10400 50 0000 C CNN +F 1 "red" H 6700 10400 50 0000 C CNN +F 2 "" V 6600 10450 50 0001 C CNN +F 3 "" V 6600 10450 50 0001 C CNN + 1 6600 10450 + -1 0 0 1 +$EndComp +$Comp +L device:R_Pack04 RN? +U 1 1 5C5DE49D +P 6150 9150 +F 0 "RN?" V 5733 9150 50 0000 C CNN +F 1 "4*620" V 5824 9150 50 0000 C CNN +F 2 "" V 6425 9150 50 0001 C CNN +F 3 "" H 6150 9150 50 0001 C CNN + 1 6150 9150 + 0 1 1 0 +$EndComp +Wire Wire Line + 6500 8950 6350 8950 +Wire Wire Line + 6500 9100 6400 9100 +Wire Wire Line + 6400 9100 6400 9050 +Wire Wire Line + 6400 9050 6350 9050 +Wire Wire Line + 6350 9150 6400 9150 +Wire Wire Line + 6400 9150 6400 9250 +Wire Wire Line + 6400 9250 6500 9250 +Wire Wire Line + 6350 9250 6350 9400 +Wire Wire Line + 6350 9400 6500 9400 +$Comp +L device:R_Pack04 RN? +U 1 1 5C63187D +P 6150 9750 +F 0 "RN?" V 5733 9750 50 0000 C CNN +F 1 "4*620" V 5824 9750 50 0000 C CNN +F 2 "" V 6425 9750 50 0001 C CNN +F 3 "" H 6150 9750 50 0001 C CNN + 1 6150 9750 + 0 1 1 0 +$EndComp +$Comp +L device:R_Pack04 RN? +U 1 1 5C63296F +P 6150 10350 +F 0 "RN?" V 5733 10350 50 0000 C CNN +F 1 "4*620" V 5824 10350 50 0000 C CNN +F 2 "" V 6425 10350 50 0001 C CNN +F 3 "" H 6150 10350 50 0001 C CNN + 1 6150 10350 + 0 1 1 0 +$EndComp +Wire Wire Line + 6500 9550 6350 9550 +Wire Wire Line + 6350 9650 6400 9650 +Wire Wire Line + 6400 9650 6400 9700 +Wire Wire Line + 6400 9700 6500 9700 +Wire Wire Line + 6500 9850 6400 9850 +Wire Wire Line + 6400 9850 6400 9750 +Wire Wire Line + 6400 9750 6350 9750 +Wire Wire Line + 6350 9850 6350 10000 +Wire Wire Line + 6350 10000 6500 10000 +Wire Wire Line + 6500 10150 6350 10150 +Wire Wire Line + 6350 10250 6400 10250 +Wire Wire Line + 6400 10250 6400 10300 +Wire Wire Line + 6400 10300 6500 10300 +Wire Wire Line + 6500 10450 6400 10450 +Wire Wire Line + 6400 10450 6400 10350 +Wire Wire Line + 6400 10350 6350 10350 +$Comp +L device:LED_Small D? +U 1 1 5C6C0DF6 +P 6600 10600 +F 0 "D?" H 6500 10550 50 0000 C CNN +F 1 "red" H 6700 10550 50 0000 C CNN +F 2 "" V 6600 10600 50 0001 C CNN +F 3 "" V 6600 10600 50 0001 C CNN + 1 6600 10600 + -1 0 0 1 +$EndComp +Wire Wire Line + 6500 10600 6350 10600 +Wire Wire Line + 6350 10600 6350 10450 +Connection ~ 5950 9050 +Wire Wire Line + 5950 9050 5950 8950 +Connection ~ 5950 9150 +Wire Wire Line + 5950 9150 5950 9050 +Connection ~ 5950 9250 +Wire Wire Line + 5950 9250 5950 9150 +Connection ~ 5950 9550 +Wire Wire Line + 5950 9550 5950 9250 +Connection ~ 5950 9650 +Wire Wire Line + 5950 9650 5950 9550 +Connection ~ 5950 9750 +Wire Wire Line + 5950 9750 5950 9650 +Connection ~ 5950 9850 +Wire Wire Line + 5950 9850 5950 9750 +Connection ~ 5950 10150 +Wire Wire Line + 5950 10150 5950 9850 +Connection ~ 5950 10250 +Wire Wire Line + 5950 10250 5950 10150 +Connection ~ 5950 10350 +Wire Wire Line + 5950 10350 5950 10250 +Wire Wire Line + 5950 10450 5950 10350 +Text Label 7000 9100 2 50 ~ 0 +LED1 +Text Label 7000 9250 2 50 ~ 0 +LED2 +Text Label 7000 9400 2 50 ~ 0 +LED3 +Text Label 7000 9550 2 50 ~ 0 +LED4 +Text Label 7000 9700 2 50 ~ 0 +LED5 +Text Label 7000 9850 2 50 ~ 0 +LED6 +Text Label 7000 10000 2 50 ~ 0 +LED7 +Text Label 7000 8950 2 50 ~ 0 +LED0 +Text Label 7000 10150 2 50 ~ 0 +LED8 +Text Label 7000 10300 2 50 ~ 0 +LED9 +Text Label 7000 10450 2 50 ~ 0 +LED10 +Text Label 7000 10600 2 50 ~ 0 +LED11 +Wire Wire Line + 7000 8950 6700 8950 +Wire Wire Line + 6700 9100 7000 9100 +Wire Wire Line + 7000 9250 6700 9250 +Wire Wire Line + 6700 9400 7000 9400 +Wire Wire Line + 7000 9550 6700 9550 +Wire Wire Line + 6700 9700 7000 9700 +Wire Wire Line + 7000 9850 6700 9850 +Wire Wire Line + 6700 10000 7000 10000 +Wire Wire Line + 7000 10150 6700 10150 +Wire Wire Line + 6700 10300 7000 10300 +Wire Wire Line + 7000 10450 6700 10450 +Wire Wire Line + 6700 10600 7000 10600 +$Comp +L power:VBUS #PWR? +U 1 1 5C8558D2 +P 5950 8850 +F 0 "#PWR?" H 5950 8700 50 0001 C CNN +F 1 "VBUS" H 5965 9023 50 0000 C CNN +F 2 "" H 5950 8850 50 0001 C CNN +F 3 "" H 5950 8850 50 0001 C CNN + 1 5950 8850 + 1 0 0 -1 +$EndComp +Wire Wire Line + 5950 8850 5950 8950 +Connection ~ 5950 8950 +Text Label 7200 4300 0 50 ~ 0 +LED0 +Text Label 7200 4400 0 50 ~ 0 +LED1 +Text Label 7200 4500 0 50 ~ 0 +LED2 +Text Label 7200 4600 0 50 ~ 0 +LED3 +Text Label 7200 4700 0 50 ~ 0 +LED4 +Text Label 7200 4800 0 50 ~ 0 +LED5 +Text Label 7200 4900 0 50 ~ 0 +LED6 +Text Label 7200 5000 0 50 ~ 0 +LED7 +Text Label 7200 5100 0 50 ~ 0 +LED8 +Text Label 7200 5200 0 50 ~ 0 +LED9 +Text Label 7200 5300 0 50 ~ 0 +LED10 +Text Label 7200 5400 0 50 ~ 0 +LED11 +Wire Wire Line + 7200 5400 7550 5400 +Wire Wire Line + 7200 5300 7550 5300 +Wire Wire Line + 7200 5200 7550 5200 +Wire Wire Line + 7550 5100 7200 5100 +Wire Wire Line + 7200 5000 7550 5000 +Wire Wire Line + 7550 4900 7200 4900 +Wire Wire Line + 7200 4800 7550 4800 +Wire Wire Line + 7550 4700 7200 4700 +Wire Wire Line + 7200 4600 7550 4600 +Wire Wire Line + 7550 4500 7200 4500 +Wire Wire Line + 7200 4400 7550 4400 +Wire Wire Line + 7550 4300 7200 4300 +$EndSCHEMATC diff --git a/pcb/securehid.kicad_pcb b/pcb/securehid.kicad_pcb new file mode 100644 index 0000000..02c8ecb --- /dev/null +++ b/pcb/securehid.kicad_pcb @@ -0,0 +1 @@ +(kicad_pcb (version 4) (host kicad "dummy file") ) diff --git a/pcb/securehid.pro b/pcb/securehid.pro new file mode 100644 index 0000000..0ee4f36 --- /dev/null +++ b/pcb/securehid.pro @@ -0,0 +1,30 @@ +update=Sat Nov 17 08:52:10 2018 +version=1 +last_client=kicad +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[general] +version=1 +[eeschema] +version=1 +LibDir= diff --git a/pcb/securehid.sch b/pcb/securehid.sch new file mode 100644 index 0000000..6bb4c71 --- /dev/null +++ b/pcb/securehid.sch @@ -0,0 +1,2336 @@ +EESchema Schematic File Version 4 +LIBS:securehid-cache +EELAYER 26 0 +EELAYER END +$Descr A3 16535 11693 +encoding utf-8 +Sheet 1 1 +Title "" +Date "" +Rev "" +Comp "" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +$Comp +L MCU_ST_STM32F1:STM32F103C8Tx U? +U 1 1 5BEEAD06 +P 12850 3550 +F 0 "U?" H 12250 5000 50 0000 L CNN +F 1 "STM32F103C8Tx" H 13150 5000 50 0000 L CNN +F 2 "Package_QFP:LQFP-48_7x7mm_P0.5mm" H 12250 2150 50 0001 R CNN +F 3 "" H 12850 3550 50 0001 C CNN + 1 12850 3550 + 1 0 0 -1 +$EndComp +$Comp +L Connector:USB_B_Micro J? +U 1 1 5BEEADC1 +P 1700 3650 +F 0 "J?" H 1500 4100 50 0000 L CNN +F 1 "USB_B_Micro" H 1500 4000 50 0000 L CNN +F 2 "" H 1850 3600 50 0001 C CNN +F 3 "" H 1850 3600 50 0001 C CNN + 1 1700 3650 + 1 0 0 -1 +$EndComp +$Comp +L conn:USB_A J? +U 1 1 5BEEAE66 +P 1700 9200 +F 0 "J?" H 1500 9650 50 0000 L CNN +F 1 "USB_A" H 1500 9550 50 0000 L CNN +F 2 "" H 1850 9150 50 0001 C CNN +F 3 "" H 1850 9150 50 0001 C CNN + 1 1700 9200 + 1 0 0 -1 +$EndComp +$Comp +L regul:AP1117-33 U? +U 1 1 5BEF631A +P 2650 2200 +F 0 "U?" H 2650 2442 50 0000 C CNN +F 1 "AP1117-33" H 2650 2351 50 0000 C CNN +F 2 "TO_SOT_Packages_SMD:SOT-223-3Lead_TabPin2" H 2650 2400 50 0001 C CNN +F 3 "http://www.diodes.com/datasheets/AP1117.pdf" H 2750 1950 50 0001 C CNN + 1 2650 2200 + 1 0 0 -1 +$EndComp +$Comp +L device:C C? +U 1 1 5BEF660D +P 2050 2350 +F 0 "C?" H 2165 2396 50 0000 L CNN +F 1 "100n" H 2165 2305 50 0000 L CNN +F 2 "" H 2088 2200 50 0001 C CNN +F 3 "" H 2050 2350 50 0001 C CNN + 1 2050 2350 + 1 0 0 -1 +$EndComp +$Comp +L device:CP C? +U 1 1 5BEF69F7 +P 1550 2350 +F 0 "C?" H 1668 2396 50 0000 L CNN +F 1 "220u" H 1668 2305 50 0000 L CNN +F 2 "" H 1588 2200 50 0001 C CNN +F 3 "" H 1550 2350 50 0001 C CNN + 1 1550 2350 + 1 0 0 -1 +$EndComp +$Comp +L device:CP C? +U 1 1 5BEF6DE0 +P 3600 2350 +F 0 "C?" H 3718 2396 50 0000 L CNN +F 1 "47u" H 3718 2305 50 0000 L CNN +F 2 "" H 3638 2200 50 0001 C CNN +F 3 "" H 3600 2350 50 0001 C CNN + 1 3600 2350 + 1 0 0 -1 +$EndComp +$Comp +L device:C C? +U 1 1 5BEF7098 +P 3100 2350 +F 0 "C?" H 3215 2396 50 0000 L CNN +F 1 "100n" H 3215 2305 50 0000 L CNN +F 2 "" H 3138 2200 50 0001 C CNN +F 3 "" H 3100 2350 50 0001 C CNN + 1 3100 2350 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BEF78F8 +P 2650 2650 +F 0 "#PWR?" H 2650 2400 50 0001 C CNN +F 1 "GND" H 2655 2477 50 0000 C CNN +F 2 "" H 2650 2650 50 0001 C CNN +F 3 "" H 2650 2650 50 0001 C CNN + 1 2650 2650 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BEF7D0E +P 1550 2050 +F 0 "#PWR?" H 1550 1900 50 0001 C CNN +F 1 "VBUS" H 1565 2223 50 0000 C CNN +F 2 "" H 1550 2050 50 0001 C CNN +F 3 "" H 1550 2050 50 0001 C CNN + 1 1550 2050 + 1 0 0 -1 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BEF8091 +P 3600 2050 +F 0 "#PWR?" H 3600 1900 50 0001 C CNN +F 1 "+3.3V" H 3615 2223 50 0000 C CNN +F 2 "" H 3600 2050 50 0001 C CNN +F 3 "" H 3600 2050 50 0001 C CNN + 1 3600 2050 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1550 2050 1550 2200 +Wire Wire Line + 1550 2200 2050 2200 +Connection ~ 1550 2200 +Connection ~ 2050 2200 +Wire Wire Line + 2050 2200 2350 2200 +Wire Wire Line + 2950 2200 3100 2200 +Wire Wire Line + 3600 2200 3600 2050 +Connection ~ 3600 2200 +Connection ~ 3100 2200 +Wire Wire Line + 3100 2200 3600 2200 +Wire Wire Line + 3600 2500 3100 2500 +Connection ~ 2050 2500 +Wire Wire Line + 2050 2500 1550 2500 +Connection ~ 2650 2500 +Wire Wire Line + 2650 2500 2050 2500 +Connection ~ 3100 2500 +Wire Wire Line + 2650 2500 2650 2650 +Wire Wire Line + 2100 8600 2100 8750 +Wire Wire Line + 2100 9000 2000 9000 +Wire Wire Line + 1600 9600 1700 9600 +Wire Wire Line + 1700 9700 1700 9600 +Connection ~ 1700 9600 +$Comp +L power:GND #PWR? +U 1 1 5BEFC201 +P 1700 9700 +F 0 "#PWR?" H 1700 9450 50 0001 C CNN +F 1 "GND" H 1705 9527 50 0000 C CNN +F 2 "" H 1700 9700 50 0001 C CNN +F 3 "" H 1700 9700 50 0001 C CNN + 1 1700 9700 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BEFC5C0 +P 2100 8600 +F 0 "#PWR?" H 2100 8450 50 0001 C CNN +F 1 "VBUS" H 2115 8773 50 0000 C CNN +F 2 "" H 2100 8600 50 0001 C CNN +F 3 "" H 2100 8600 50 0001 C CNN + 1 2100 8600 + 1 0 0 -1 +$EndComp +Text Label 3600 6300 3 50 ~ 0 +USBH_DM +Text Label 3500 6300 3 50 ~ 0 +USBH_DP +Text Label 10100 3300 2 50 ~ 0 +USBH_DM +Text Label 10100 3400 2 50 ~ 0 +USBH_DP +Wire Wire Line + 10100 3400 9350 3400 +Wire Wire Line + 10100 3300 9350 3300 +$Comp +L power:VBUS #PWR? +U 1 1 5BF01EF8 +P 2100 3350 +F 0 "#PWR?" H 2100 3200 50 0001 C CNN +F 1 "VBUS" H 2115 3523 50 0000 C CNN +F 2 "" H 2100 3350 50 0001 C CNN +F 3 "" H 2100 3350 50 0001 C CNN + 1 2100 3350 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF022FC +P 1700 4150 +F 0 "#PWR?" H 1700 3900 50 0001 C CNN +F 1 "GND" H 1705 3977 50 0000 C CNN +F 2 "" H 1700 4150 50 0001 C CNN +F 3 "" H 1700 4150 50 0001 C CNN + 1 1700 4150 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1700 4150 1700 4050 +Wire Wire Line + 1600 4050 1700 4050 +Connection ~ 1700 4050 +Wire Wire Line + 2000 3450 2100 3450 +Wire Wire Line + 2100 3450 2100 3350 +Text Label 3200 3650 2 50 ~ 0 +USBD_DP +Text Label 3200 3750 2 50 ~ 0 +USBD_DM +$Comp +L device:R_Small R? +U 1 1 5BF05F40 +P 2700 3750 +F 0 "R?" V 2500 3750 50 0000 C CNN +F 1 "22" V 2600 3750 50 0000 C CNN +F 2 "" H 2700 3750 50 0001 C CNN +F 3 "" H 2700 3750 50 0001 C CNN + 1 2700 3750 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF06DFB +P 2700 3650 +F 0 "R?" V 2504 3650 50 0000 C CNN +F 1 "22" V 2595 3650 50 0000 C CNN +F 2 "" H 2700 3650 50 0001 C CNN +F 3 "" H 2700 3650 50 0001 C CNN + 1 2700 3650 + 0 1 1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF07F6E +P 2300 3450 +F 0 "R?" H 2359 3496 50 0000 L CNN +F 1 "1k5" H 2359 3405 50 0000 L CNN +F 2 "" H 2300 3450 50 0001 C CNN +F 3 "" H 2300 3450 50 0001 C CNN + 1 2300 3450 + 1 0 0 -1 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BF08B1C +P 2300 3350 +F 0 "#PWR?" H 2300 3200 50 0001 C CNN +F 1 "+3.3V" H 2315 3523 50 0000 C CNN +F 2 "" H 2300 3350 50 0001 C CNN +F 3 "" H 2300 3350 50 0001 C CNN + 1 2300 3350 + 1 0 0 -1 +$EndComp +Wire Wire Line + 2300 3550 2300 3650 +Connection ~ 2300 3650 +Wire Wire Line + 2300 3650 2000 3650 +Wire Wire Line + 2300 3650 2600 3650 +Wire Wire Line + 2000 3750 2600 3750 +Wire Wire Line + 3200 3750 2800 3750 +Wire Wire Line + 2800 3650 3200 3650 +$Comp +L device:Crystal_GND24_Small Y? +U 1 1 5BF102A6 +P 6600 3650 +F 0 "Y?" V 6554 3816 50 0000 L CNN +F 1 "8MHz" V 6645 3816 50 0000 L CNN +F 2 "" H 6600 3650 50 0001 C CNN +F 3 "" H 6600 3650 50 0001 C CNN + 1 6600 3650 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF11861 +P 6350 3450 +F 0 "C?" V 6579 3450 50 0000 C CNN +F 1 "12p" V 6488 3450 50 0000 C CNN +F 2 "" H 6350 3450 50 0001 C CNN +F 3 "" H 6350 3450 50 0001 C CNN + 1 6350 3450 + 0 -1 -1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF125C0 +P 6350 3850 +F 0 "C?" V 6579 3850 50 0000 C CNN +F 1 "12p" V 6488 3850 50 0000 C CNN +F 2 "" H 6350 3850 50 0001 C CNN +F 3 "" H 6350 3850 50 0001 C CNN + 1 6350 3850 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF1348D +P 7050 3650 +F 0 "R?" H 7109 3696 50 0000 L CNN +F 1 "1M" H 7109 3605 50 0000 L CNN +F 2 "" H 7050 3650 50 0001 C CNN +F 3 "" H 7050 3650 50 0001 C CNN + 1 7050 3650 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6450 3450 6600 3450 +Wire Wire Line + 6600 3450 6600 3550 +Wire Wire Line + 2650 2500 3100 2500 +Wire Wire Line + 6600 3450 7050 3450 +Wire Wire Line + 7050 3450 7050 3550 +Connection ~ 6600 3450 +Wire Wire Line + 7550 3600 7300 3600 +Wire Wire Line + 7300 3600 7300 3450 +Wire Wire Line + 7300 3450 7050 3450 +Connection ~ 7050 3450 +Wire Wire Line + 6450 3850 6600 3850 +Wire Wire Line + 7300 3850 7300 3700 +Wire Wire Line + 7300 3700 7550 3700 +Wire Wire Line + 7050 3750 7050 3850 +Connection ~ 7050 3850 +Wire Wire Line + 7050 3850 7300 3850 +Wire Wire Line + 6600 3750 6600 3850 +Connection ~ 6600 3850 +Wire Wire Line + 6600 3850 7050 3850 +Wire Wire Line + 6150 3450 6150 3650 +Wire Wire Line + 6150 3850 6250 3850 +Wire Wire Line + 6150 3450 6250 3450 +$Comp +L power:GND #PWR? +U 1 1 5BF18330 +P 6150 3950 +F 0 "#PWR?" H 6150 3700 50 0001 C CNN +F 1 "GND" H 6155 3777 50 0000 C CNN +F 2 "" H 6150 3950 50 0001 C CNN +F 3 "" H 6150 3950 50 0001 C CNN + 1 6150 3950 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6150 3950 6150 3850 +Connection ~ 6150 3850 +Wire Wire Line + 6475 3650 6425 3650 +Connection ~ 6150 3650 +Wire Wire Line + 6150 3650 6150 3850 +Wire Wire Line + 6725 3650 6725 3800 +Wire Wire Line + 6725 3800 6425 3800 +Wire Wire Line + 6425 3800 6425 3650 +Connection ~ 6425 3650 +Wire Wire Line + 6425 3650 6150 3650 +$Comp +L device:C_Small C? +U 1 1 5BF1E83A +P 7150 2600 +F 0 "C?" V 6921 2600 50 0000 C CNN +F 1 "10u" V 7012 2600 50 0000 C CNN +F 2 "" H 7150 2600 50 0001 C CNN +F 3 "" H 7150 2600 50 0001 C CNN + 1 7150 2600 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF1FBEB +P 6900 2700 +F 0 "C?" V 6671 2700 50 0000 C CNN +F 1 "10u" V 6762 2700 50 0000 C CNN +F 2 "" H 6900 2700 50 0001 C CNN +F 3 "" H 6900 2700 50 0001 C CNN + 1 6900 2700 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF210DF +P 6700 2800 +F 0 "#PWR?" H 6700 2550 50 0001 C CNN +F 1 "GND" H 6705 2627 50 0000 C CNN +F 2 "" H 6700 2800 50 0001 C CNN +F 3 "" H 6700 2800 50 0001 C CNN + 1 6700 2800 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6700 2800 6700 2700 +Wire Wire Line + 6700 2600 7050 2600 +Wire Wire Line + 6800 2700 6700 2700 +Connection ~ 6700 2700 +Wire Wire Line + 6700 2700 6700 2600 +Wire Wire Line + 7000 2700 7550 2700 +Wire Wire Line + 7550 2600 7250 2600 +$Comp +L device:R_Small R? +U 1 1 5BF2746F +P 9500 1300 +F 0 "R?" H 9350 1350 50 0000 L CNN +F 1 "0" H 9350 1250 50 0000 L CNN +F 2 "" H 9500 1300 50 0001 C CNN +F 3 "" H 9500 1300 50 0001 C CNN + 1 9500 1300 + 1 0 0 -1 +$EndComp +$Comp +L power:VSSA #PWR? +U 1 1 5BF2A251 +P 8650 7500 +F 0 "#PWR?" H 8650 7350 50 0001 C CNN +F 1 "VSSA" H 8668 7673 50 0000 C CNN +F 2 "" H 8650 7500 50 0001 C CNN +F 3 "" H 8650 7500 50 0001 C CNN + 1 8650 7500 + -1 0 0 1 +$EndComp +Wire Wire Line + 8650 7500 8650 7400 +$Comp +L power:GND #PWR? +U 1 1 5BF2BAF5 +P 8400 7500 +F 0 "#PWR?" H 8400 7250 50 0001 C CNN +F 1 "GND" H 8405 7327 50 0000 C CNN +F 2 "" H 8400 7500 50 0001 C CNN +F 3 "" H 8400 7500 50 0001 C CNN + 1 8400 7500 + 1 0 0 -1 +$EndComp +Wire Wire Line + 8400 7500 8400 7400 +Connection ~ 8400 7400 +$Comp +L power:VDDA #PWR? +U 1 1 5BF3003A +P 8850 1500 +F 0 "#PWR?" H 8850 1350 50 0001 C CNN +F 1 "VDDA" H 8867 1673 50 0000 C CNN +F 2 "" H 8850 1500 50 0001 C CNN +F 3 "" H 8850 1500 50 0001 C CNN + 1 8850 1500 + 1 0 0 -1 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BF32616 +P 8250 1800 +F 0 "#PWR?" H 8250 1650 50 0001 C CNN +F 1 "+3.3V" H 8265 1973 50 0000 C CNN +F 2 "" H 8250 1800 50 0001 C CNN +F 3 "" H 8250 1800 50 0001 C CNN + 1 8250 1800 + 1 0 0 -1 +$EndComp +Wire Wire Line + 8250 1800 8250 1900 +$Comp +L power:+3.3V #PWR? +U 1 1 5BF35844 +P 9500 1100 +F 0 "#PWR?" H 9500 950 50 0001 C CNN +F 1 "+3.3V" H 9515 1273 50 0000 C CNN +F 2 "" H 9500 1100 50 0001 C CNN +F 3 "" H 9500 1100 50 0001 C CNN + 1 9500 1100 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9500 1100 9500 1200 +$Comp +L device:C_Small C? +U 1 1 5BF38053 +P 9100 1600 +F 0 "C?" H 9008 1554 50 0000 R CNN +F 1 "100n" H 9008 1645 50 0000 R CNN +F 2 "" H 9100 1600 50 0001 C CNN +F 3 "" H 9100 1600 50 0001 C CNN + 1 9100 1600 + -1 0 0 1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF395B5 +P 9500 1600 +F 0 "C?" H 9592 1646 50 0000 L CNN +F 1 "10u" H 9592 1555 50 0000 L CNN +F 2 "" H 9500 1600 50 0001 C CNN +F 3 "" H 9500 1600 50 0001 C CNN + 1 9500 1600 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9500 1400 9500 1500 +Connection ~ 9500 1500 +Connection ~ 8850 1500 +Wire Wire Line + 9100 1500 9500 1500 +Connection ~ 9100 1500 +Wire Wire Line + 8850 1500 9100 1500 +$Comp +L power:VSSA #PWR? +U 1 1 5BF4D7F0 +P 9500 1800 +F 0 "#PWR?" H 9500 1650 50 0001 C CNN +F 1 "VSSA" H 9518 1973 50 0000 C CNN +F 2 "" H 9500 1800 50 0001 C CNN +F 3 "" H 9500 1800 50 0001 C CNN + 1 9500 1800 + -1 0 0 1 +$EndComp +Wire Wire Line + 9500 1800 9500 1700 +Wire Wire Line + 8450 7400 8550 7400 +Wire Wire Line + 8400 7400 8450 7400 +Connection ~ 8450 7400 +Wire Wire Line + 8350 7400 8250 7400 +Wire Wire Line + 8400 7400 8350 7400 +Connection ~ 8350 7400 +Wire Wire Line + 8750 1900 8650 1900 +Connection ~ 8650 1900 +Wire Wire Line + 8650 1900 8550 1900 +Connection ~ 8550 1900 +Wire Wire Line + 8550 1900 8450 1900 +Connection ~ 8450 1900 +Wire Wire Line + 8450 1900 8350 1900 +Wire Wire Line + 8350 1900 8250 1900 +Connection ~ 8350 1900 +Connection ~ 8250 1900 +$Comp +L MCU_ST_STM32F4:STM32F407VETx U? +U 1 1 5BEEABF3 +P 8450 4600 +F 0 "U?" H 7750 7150 50 0000 L CNN +F 1 "STM32F407VETx" H 8950 7150 50 0000 L CNN +F 2 "Package_QFP:LQFP-100_14x14mm_P0.5mm" H 7750 2000 50 0001 R CNN +F 3 "" H 8450 4600 50 0001 C CNN + 1 8450 4600 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9500 1700 9100 1700 +Connection ~ 9500 1700 +Wire Wire Line + 8850 1500 8850 1900 +$Comp +L power:VDDA #PWR? +U 1 1 5BF5AE28 +P 7300 2800 +F 0 "#PWR?" H 7300 2650 50 0001 C CNN +F 1 "VDDA" V 7318 2928 50 0000 L CNN +F 2 "" H 7300 2800 50 0001 C CNN +F 3 "" H 7300 2800 50 0001 C CNN + 1 7300 2800 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5BF5BB39 +P 7400 2800 +F 0 "R?" V 7500 2750 50 0000 C CNN +F 1 "0" V 7500 2900 50 0000 C CNN +F 2 "" H 7400 2800 50 0001 C CNN +F 3 "" H 7400 2800 50 0001 C CNN + 1 7400 2800 + 0 1 1 0 +$EndComp +Wire Wire Line + 7500 2800 7550 2800 +$Comp +L power:+3.3V #PWR? +U 1 1 5BF610A9 +P 1550 1050 +F 0 "#PWR?" H 1550 900 50 0001 C CNN +F 1 "+3.3V" H 1565 1223 50 0000 C CNN +F 2 "" H 1550 1050 50 0001 C CNN +F 3 "" H 1550 1050 50 0001 C CNN + 1 1550 1050 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF617B4 +P 1550 1250 +F 0 "#PWR?" H 1550 1000 50 0001 C CNN +F 1 "GND" H 1555 1077 50 0000 C CNN +F 2 "" H 1550 1250 50 0001 C CNN +F 3 "" H 1550 1250 50 0001 C CNN + 1 1550 1250 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF62211 +P 1550 1150 +F 0 "C?" H 1642 1196 50 0000 L CNN +F 1 "100n" H 1642 1105 50 0000 L CNN +F 2 "" H 1550 1150 50 0001 C CNN +F 3 "" H 1550 1150 50 0001 C CNN + 1 1550 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF6342B +P 1950 1150 +F 0 "C?" H 2042 1196 50 0000 L CNN +F 1 "100n" H 2042 1105 50 0000 L CNN +F 2 "" H 1950 1150 50 0001 C CNN +F 3 "" H 1950 1150 50 0001 C CNN + 1 1950 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF645FD +P 2350 1150 +F 0 "C?" H 2442 1196 50 0000 L CNN +F 1 "100n" H 2442 1105 50 0000 L CNN +F 2 "" H 2350 1150 50 0001 C CNN +F 3 "" H 2350 1150 50 0001 C CNN + 1 2350 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF6483B +P 2750 1150 +F 0 "C?" H 2842 1196 50 0000 L CNN +F 1 "100n" H 2842 1105 50 0000 L CNN +F 2 "" H 2750 1150 50 0001 C CNN +F 3 "" H 2750 1150 50 0001 C CNN + 1 2750 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF65555 +P 3150 1150 +F 0 "C?" H 3242 1196 50 0000 L CNN +F 1 "100n" H 3242 1105 50 0000 L CNN +F 2 "" H 3150 1150 50 0001 C CNN +F 3 "" H 3150 1150 50 0001 C CNN + 1 3150 1150 + 1 0 0 -1 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5BF65AAF +P 3550 1150 +F 0 "C?" H 3642 1196 50 0000 L CNN +F 1 "100n" H 3642 1105 50 0000 L CNN +F 2 "" H 3550 1150 50 0001 C CNN +F 3 "" H 3550 1150 50 0001 C CNN + 1 3550 1150 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3550 1050 3150 1050 +Connection ~ 1550 1050 +Connection ~ 1950 1050 +Wire Wire Line + 1950 1050 1550 1050 +Connection ~ 2350 1050 +Wire Wire Line + 2350 1050 1950 1050 +Connection ~ 2750 1050 +Wire Wire Line + 2750 1050 2350 1050 +Connection ~ 3150 1050 +Wire Wire Line + 3150 1050 2750 1050 +Wire Wire Line + 1550 1250 1950 1250 +Connection ~ 1550 1250 +Connection ~ 1950 1250 +Wire Wire Line + 1950 1250 2350 1250 +Connection ~ 2350 1250 +Wire Wire Line + 2350 1250 2750 1250 +Connection ~ 2750 1250 +Wire Wire Line + 2750 1250 3150 1250 +Connection ~ 3150 1250 +Wire Wire Line + 3150 1250 3550 1250 +$Comp +L device:Battery_Cell BT? +U 1 1 5BF6C982 +P 7750 1650 +F 0 "BT?" H 7500 1750 50 0000 L CNN +F 1 "CR2032" H 7300 1650 50 0000 L CNN +F 2 "" V 7750 1710 50 0001 C CNN +F 3 "" V 7750 1710 50 0001 C CNN + 1 7750 1650 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BF6E562 +P 7750 1750 +F 0 "#PWR?" H 7750 1500 50 0001 C CNN +F 1 "GND" H 7755 1577 50 0000 C CNN +F 2 "" H 7750 1750 50 0001 C CNN +F 3 "" H 7750 1750 50 0001 C CNN + 1 7750 1750 + 1 0 0 -1 +$EndComp +Wire Wire Line + 7750 1450 8150 1450 +Wire Wire Line + 8150 1450 8150 1900 +Text Label 10100 3500 2 50 ~ 0 +SWDIO +Text Label 10100 3600 2 50 ~ 0 +SWCLK +Wire Wire Line + 10100 3600 9350 3600 +Wire Wire Line + 10100 3500 9350 3500 +$Comp +L Connector_Generic:Conn_01x04 J? +U 1 1 5BF8388D +P 1550 4800 +F 0 "J?" H 1470 5117 50 0000 C CNN +F 1 "SWD" H 1470 5026 50 0000 C CNN +F 2 "" H 1550 4800 50 0001 C CNN +F 3 "~" H 1550 4800 50 0001 C CNN + 1 1550 4800 + -1 0 0 -1 +$EndComp +Text Label 2100 5000 2 50 ~ 0 +SWDIO +Text Label 2100 4800 2 50 ~ 0 +SWCLK +$Comp +L power:GND #PWR? +U 1 1 5BF9410F +P 2200 4900 +F 0 "#PWR?" H 2200 4650 50 0001 C CNN +F 1 "GND" V 2205 4772 50 0000 R CNN +F 2 "" H 2200 4900 50 0001 C CNN +F 3 "" H 2200 4900 50 0001 C CNN + 1 2200 4900 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 2200 4900 1750 4900 +Wire Wire Line + 1750 4800 2100 4800 +Wire Wire Line + 2200 4700 1750 4700 +Wire Wire Line + 1750 5000 2100 5000 +Text Label 10100 3100 2 50 ~ 0 +DBGH_TX +Text Label 10100 3200 2 50 ~ 0 +DBGH_RX +Wire Wire Line + 10100 3200 9350 3200 +Wire Wire Line + 10100 3100 9350 3100 +$Comp +L Connector_Generic:Conn_01x04 J? +U 1 1 5BFBEF9F +P 2750 4800 +F 0 "J?" H 2670 5117 50 0000 C CNN +F 1 "UART_HOST" H 2670 5026 50 0000 C CNN +F 2 "" H 2750 4800 50 0001 C CNN +F 3 "~" H 2750 4800 50 0001 C CNN + 1 2750 4800 + -1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BFC1836 +P 3450 4700 +F 0 "#PWR?" H 3450 4550 50 0001 C CNN +F 1 "VBUS" V 3465 4828 50 0000 L CNN +F 2 "" H 3450 4700 50 0001 C CNN +F 3 "" H 3450 4700 50 0001 C CNN + 1 3450 4700 + 0 1 1 0 +$EndComp +$Comp +L power:+3.3V #PWR? +U 1 1 5BF8F4B2 +P 2200 4700 +F 0 "#PWR?" H 2200 4550 50 0001 C CNN +F 1 "+3.3V" V 2215 4828 50 0000 L CNN +F 2 "" H 2200 4700 50 0001 C CNN +F 3 "" H 2200 4700 50 0001 C CNN + 1 2200 4700 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BFC580C +P 3450 4800 +F 0 "#PWR?" H 3450 4550 50 0001 C CNN +F 1 "GND" V 3455 4672 50 0000 R CNN +F 2 "" H 3450 4800 50 0001 C CNN +F 3 "" H 3450 4800 50 0001 C CNN + 1 3450 4800 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 3450 4800 2950 4800 +Wire Wire Line + 3450 4700 2950 4700 +$Comp +L Connector_Generic:Conn_01x04 J? +U 1 1 5BFCCF0F +P 3950 4800 +F 0 "J?" H 3870 5117 50 0000 C CNN +F 1 "UART_DEVICE" H 3870 5026 50 0000 C CNN +F 2 "" H 3950 4800 50 0001 C CNN +F 3 "~" H 3950 4800 50 0001 C CNN + 1 3950 4800 + -1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5BFD18DB +P 4650 4700 +F 0 "#PWR?" H 4650 4550 50 0001 C CNN +F 1 "VBUS" V 4665 4828 50 0000 L CNN +F 2 "" H 4650 4700 50 0001 C CNN +F 3 "" H 4650 4700 50 0001 C CNN + 1 4650 4700 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5BFD27A6 +P 4650 4800 +F 0 "#PWR?" H 4650 4550 50 0001 C CNN +F 1 "GND" V 4655 4672 50 0000 R CNN +F 2 "" H 4650 4800 50 0001 C CNN +F 3 "" H 4650 4800 50 0001 C CNN + 1 4650 4800 + 0 -1 -1 0 +$EndComp +Wire Wire Line + 4650 4800 4150 4800 +Wire Wire Line + 4150 4700 4650 4700 +Text Label 3300 4900 2 50 ~ 0 +DBGH_RX +Text Label 3300 5000 2 50 ~ 0 +DBGH_TX +Text Label 4500 4900 2 50 ~ 0 +DBGD_RX +Text Label 4500 5000 2 50 ~ 0 +DBGD_TX +Wire Wire Line + 4500 5000 4150 5000 +Wire Wire Line + 4150 4900 4500 4900 +Wire Wire Line + 3300 5000 2950 5000 +Wire Wire Line + 2950 4900 3300 4900 +$Comp +L components:FE1.1s U? +U 1 1 5BFFC98A +P 3500 7500 +F 0 "U?" H 2750 8150 50 0000 C CNN +F 1 "FE1.1s" H 4150 8150 50 0000 C CNN +F 2 "" H 3500 7500 50 0001 C CNN +F 3 "" H 3500 7500 50 0001 C CNN + 1 3500 7500 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3600 6300 3600 6700 +Wire Wire Line + 3500 6300 3500 6700 +Wire Wire Line + 3000 9200 3000 8400 +Wire Wire Line + 2000 9200 3000 9200 +Wire Wire Line + 3100 8400 3100 9300 +Wire Wire Line + 2000 9300 3100 9300 +$Comp +L conn:USB_A J? +U 1 1 5C01D6A6 +P 1700 10400 +F 0 "J?" H 1500 10850 50 0000 L CNN +F 1 "USB_A" H 1500 10750 50 0000 L CNN +F 2 "" H 1850 10350 50 0001 C CNN +F 3 "" H 1850 10350 50 0001 C CNN + 1 1700 10400 + 1 0 0 -1 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C01EA78 +P 1700 10900 +F 0 "#PWR?" H 1700 10650 50 0001 C CNN +F 1 "GND" H 1705 10727 50 0000 C CNN +F 2 "" H 1700 10900 50 0001 C CNN +F 3 "" H 1700 10900 50 0001 C CNN + 1 1700 10900 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1700 10900 1700 10800 +Wire Wire Line + 1600 10800 1700 10800 +Connection ~ 1700 10800 +Wire Wire Line + 2000 10400 3300 10400 +Wire Wire Line + 3300 10400 3300 8400 +Wire Wire Line + 2000 10500 3400 10500 +Wire Wire Line + 3400 10500 3400 8400 +Wire Wire Line + 4500 7300 4500 7400 +Wire Wire Line + 4500 7500 4500 7600 +$Comp +L device:C_Small C? +U 1 1 5C047824 +P 5050 7600 +F 0 "C?" V 5100 7700 50 0000 C CNN +F 1 "10u" V 4912 7600 50 0000 C CNN +F 2 "" H 5050 7600 50 0001 C CNN +F 3 "" H 5050 7600 50 0001 C CNN + 1 5050 7600 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C048AFF +P 5200 7400 +F 0 "C?" V 4971 7400 50 0000 C CNN +F 1 "10u" V 5062 7400 50 0000 C CNN +F 2 "" H 5200 7400 50 0001 C CNN +F 3 "" H 5200 7400 50 0001 C CNN + 1 5200 7400 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C049AB0 +P 5300 7800 +F 0 "#PWR?" H 5300 7550 50 0001 C CNN +F 1 "GND" H 5305 7627 50 0000 C CNN +F 2 "" H 5300 7800 50 0001 C CNN +F 3 "" H 5300 7800 50 0001 C CNN + 1 5300 7800 + 1 0 0 -1 +$EndComp +Wire Wire Line + 5300 7800 4500 7800 +Wire Wire Line + 5300 7800 5300 7600 +Connection ~ 5300 7800 +Wire Wire Line + 5150 7600 5300 7600 +Connection ~ 5300 7600 +Wire Wire Line + 5300 7600 5300 7400 +Wire Wire Line + 4950 7600 4500 7600 +Connection ~ 4500 7600 +Wire Wire Line + 4500 7400 5100 7400 +Connection ~ 4500 7400 +Wire Wire Line + 4500 7200 4500 7100 +$Comp +L power:VBUS #PWR? +U 1 1 5C06BD77 +P 4500 7000 +F 0 "#PWR?" H 4500 6850 50 0001 C CNN +F 1 "VBUS" H 4515 7173 50 0000 C CNN +F 2 "" H 4500 7000 50 0001 C CNN +F 3 "" H 4500 7000 50 0001 C CNN + 1 4500 7000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4500 7000 4500 7100 +Connection ~ 4500 7100 +$Comp +L device:Crystal_GND24_Small Y? +U 1 1 5C073CEB +P 2000 7100 +F 0 "Y?" V 1954 7266 50 0000 L CNN +F 1 "12MHz" V 2045 7266 50 0000 L CNN +F 2 "" H 2000 7100 50 0001 C CNN +F 3 "" H 2000 7100 50 0001 C CNN + 1 2000 7100 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C07723C +P 1650 7200 +F 0 "C?" V 1750 7300 50 0000 C CNN +F 1 "22p" V 1800 7200 50 0000 C CNN +F 2 "" H 1650 7200 50 0001 C CNN +F 3 "" H 1650 7200 50 0001 C CNN + 1 1650 7200 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C079071 +P 1650 7000 +F 0 "C?" V 1550 7100 50 0000 C CNN +F 1 "22p" V 1512 7000 50 0000 C CNN +F 2 "" H 1650 7000 50 0001 C CNN +F 3 "" H 1650 7000 50 0001 C CNN + 1 1650 7000 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C07C20B +P 1450 7500 +F 0 "#PWR?" H 1450 7250 50 0001 C CNN +F 1 "GND" H 1455 7327 50 0000 C CNN +F 2 "" H 1450 7500 50 0001 C CNN +F 3 "" H 1450 7500 50 0001 C CNN + 1 1450 7500 + 1 0 0 -1 +$EndComp +Wire Wire Line + 1450 7500 1450 7400 +Wire Wire Line + 1450 7000 1550 7000 +Wire Wire Line + 1550 7200 1450 7200 +Connection ~ 1450 7200 +Wire Wire Line + 1450 7200 1450 7000 +Wire Wire Line + 1750 7200 2000 7200 +Connection ~ 2000 7200 +Wire Wire Line + 2000 7200 2500 7200 +Wire Wire Line + 2500 7100 2300 7100 +Wire Wire Line + 2300 7100 2300 7000 +Wire Wire Line + 2300 7000 2000 7000 +Connection ~ 2000 7000 +Wire Wire Line + 2000 7000 1750 7000 +$Comp +L device:R_Small R? +U 1 1 5C095FA0 +P 2300 7400 +F 0 "R?" V 2400 7400 50 0000 C CNN +F 1 "2k7" V 2195 7400 50 0000 C CNN +F 2 "" H 2300 7400 50 0001 C CNN +F 3 "" H 2300 7400 50 0001 C CNN + 1 2300 7400 + 0 1 1 0 +$EndComp +Wire Wire Line + 2200 7400 2000 7400 +Connection ~ 1450 7400 +Wire Wire Line + 1450 7400 1450 7200 +Wire Wire Line + 2500 7400 2400 7400 +Wire Wire Line + 2500 7600 2000 7600 +Wire Wire Line + 2000 7600 2000 7400 +Connection ~ 2000 7400 +Wire Wire Line + 2000 7400 1450 7400 +Text Label 4600 7400 0 50 ~ 0 +3V3_HUB +Text Label 2100 7700 0 50 ~ 0 +3V3_HUB +Wire Wire Line + 2100 7700 2500 7700 +NoConn ~ 2500 7800 +Wire Wire Line + 2000 7600 2000 7900 +Wire Wire Line + 2000 7900 2500 7900 +Connection ~ 2000 7600 +$Comp +L device:R_Small R? +U 1 1 5C0F41D6 +P 1900 8000 +F 0 "R?" V 2000 8000 50 0000 C CNN +F 1 "10k" V 1795 8000 50 0000 C CNN +F 2 "" H 1900 8000 50 0001 C CNN +F 3 "" H 1900 8000 50 0001 C CNN + 1 1900 8000 + 0 1 1 0 +$EndComp +Text Label 1450 8000 0 50 ~ 0 +3V3_HUB +Wire Wire Line + 1450 8000 1800 8000 +Wire Wire Line + 2000 8000 2200 8000 +Text Label 1700 8250 0 50 ~ 0 +HUB_NRST +Wire Wire Line + 1700 8250 2200 8250 +Wire Wire Line + 2200 8250 2200 8000 +Connection ~ 2200 8000 +Wire Wire Line + 2200 8000 2500 8000 +Text Label 10100 2700 2 50 ~ 0 +HUB_NRST +Wire Wire Line + 10100 2700 9350 2700 +$Comp +L Connector_Generic:Conn_02x05_Odd_Even J? +U 1 1 5C134723 +P 4150 9550 +F 0 "J?" H 4200 9967 50 0000 C CNN +F 1 "USB_SPARE" H 4200 9876 50 0000 C CNN +F 2 "" H 4150 9550 50 0001 C CNN +F 3 "~" H 4150 9550 50 0001 C CNN + 1 4150 9550 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5C17F16B +P 4200 9000 +F 0 "#PWR?" H 4200 8850 50 0001 C CNN +F 1 "VBUS" H 4215 9173 50 0000 C CNN +F 2 "" H 4200 9000 50 0001 C CNN +F 3 "" H 4200 9000 50 0001 C CNN + 1 4200 9000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4200 9000 3950 9000 +Wire Wire Line + 3950 9000 3950 9350 +Wire Wire Line + 4200 9000 4450 9000 +Wire Wire Line + 4450 9000 4450 9350 +Connection ~ 4200 9000 +$Comp +L power:GND #PWR? +U 1 1 5C18FF7C +P 4200 9950 +F 0 "#PWR?" H 4200 9700 50 0001 C CNN +F 1 "GND" H 4205 9777 50 0000 C CNN +F 2 "" H 4200 9950 50 0001 C CNN +F 3 "" H 4200 9950 50 0001 C CNN + 1 4200 9950 + 1 0 0 -1 +$EndComp +NoConn ~ 3950 9750 +NoConn ~ 4450 9750 +Wire Wire Line + 3950 9650 3850 9650 +Wire Wire Line + 3850 9650 3850 9950 +Wire Wire Line + 3850 9950 4200 9950 +Wire Wire Line + 4550 9950 4550 9650 +Wire Wire Line + 4550 9650 4450 9650 +Connection ~ 4200 9950 +Wire Wire Line + 4200 9950 4550 9950 +Wire Wire Line + 3950 9450 3700 9450 +Wire Wire Line + 3700 9450 3700 8400 +Wire Wire Line + 3600 8400 3600 9550 +Wire Wire Line + 3600 9550 3950 9550 +Wire Wire Line + 4450 9450 4650 9450 +Wire Wire Line + 4650 9450 4650 8500 +Wire Wire Line + 4650 8500 4000 8500 +Wire Wire Line + 4000 8500 4000 8400 +Wire Wire Line + 3900 8400 3900 8600 +Wire Wire Line + 3900 8600 4550 8600 +Wire Wire Line + 4550 8600 4550 9550 +Wire Wire Line + 4550 9550 4450 9550 +$Comp +L device:Speaker_Crystal LS? +U 1 1 5C238571 +P 7650 10250 +F 0 "LS?" H 7617 9833 50 0000 C CNN +F 1 "12mm passive piezo" H 7617 9924 50 0000 C CNN +F 2 "" H 7615 10200 50 0001 C CNN +F 3 "" H 7615 10200 50 0001 C CNN + 1 7650 10250 + -1 0 0 1 +$EndComp +$Comp +L transistors:2N7002 Q? +U 1 1 5C23FA3A +P 9350 9700 +F 0 "Q?" H 9556 9654 50 0000 L CNN +F 1 "AO3400" H 9556 9745 50 0000 L CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 9550 9625 50 0001 L CIN +F 3 "https://www.fairchildsemi.com/datasheets/2N/2N7002.pdf" H 9350 9700 50 0001 L CNN + 1 9350 9700 + -1 0 0 1 +$EndComp +$Comp +L device:LED D? +U 1 1 5C249B1C +P 7500 9250 +F 0 "D?" V 7492 9132 50 0000 R CNN +F 1 "Ice blue" V 7447 9133 50 0001 R CNN +F 2 "" H 7500 9250 50 0001 C CNN +F 3 "" H 7500 9250 50 0001 C CNN + 1 7500 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25931E +P 7850 9250 +F 0 "D?" V 7842 9132 50 0000 R CNN +F 1 "Ice blue" V 7797 9133 50 0001 R CNN +F 2 "" H 7850 9250 50 0001 C CNN +F 3 "" H 7850 9250 50 0001 C CNN + 1 7850 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25AEAB +P 8200 9250 +F 0 "D?" V 8192 9132 50 0000 R CNN +F 1 "Ice blue" V 8147 9133 50 0001 R CNN +F 2 "" H 8200 9250 50 0001 C CNN +F 3 "" H 8200 9250 50 0001 C CNN + 1 8200 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25B671 +P 8550 9250 +F 0 "D?" V 8542 9132 50 0000 R CNN +F 1 "Ice blue" V 8497 9133 50 0001 R CNN +F 2 "" H 8550 9250 50 0001 C CNN +F 3 "" H 8550 9250 50 0001 C CNN + 1 8550 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25C2E7 +P 8900 9250 +F 0 "D?" V 8892 9132 50 0000 R CNN +F 1 "Ice blue" V 8847 9133 50 0001 R CNN +F 2 "" H 8900 9250 50 0001 C CNN +F 3 "" H 8900 9250 50 0001 C CNN + 1 8900 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C25CA14 +P 9250 9250 +F 0 "D?" V 9288 9132 50 0000 R CNN +F 1 "ice blue" V 9197 9132 50 0000 R CNN +F 2 "" H 9250 9250 50 0001 C CNN +F 3 "" H 9250 9250 50 0001 C CNN + 1 9250 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25E0F0 +P 7500 8900 +F 0 "R?" H 7559 8946 50 0000 L CNN +F 1 "100" H 7559 8855 50 0000 L CNN +F 2 "" H 7500 8900 50 0001 C CNN +F 3 "" H 7500 8900 50 0001 C CNN + 1 7500 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25EB0C +P 7850 8900 +F 0 "R?" H 7909 8946 50 0000 L CNN +F 1 "100" H 7909 8855 50 0000 L CNN +F 2 "" H 7850 8900 50 0001 C CNN +F 3 "" H 7850 8900 50 0001 C CNN + 1 7850 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25EC8A +P 8200 8900 +F 0 "R?" H 8259 8946 50 0000 L CNN +F 1 "100" H 8259 8855 50 0000 L CNN +F 2 "" H 8200 8900 50 0001 C CNN +F 3 "" H 8200 8900 50 0001 C CNN + 1 8200 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25F0FB +P 8550 8900 +F 0 "R?" H 8609 8946 50 0000 L CNN +F 1 "100" H 8609 8855 50 0000 L CNN +F 2 "" H 8550 8900 50 0001 C CNN +F 3 "" H 8550 8900 50 0001 C CNN + 1 8550 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C25F439 +P 8900 8900 +F 0 "R?" H 8959 8946 50 0000 L CNN +F 1 "100" H 8959 8855 50 0000 L CNN +F 2 "" H 8900 8900 50 0001 C CNN +F 3 "" H 8900 8900 50 0001 C CNN + 1 8900 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C26016A +P 9250 8900 +F 0 "R?" H 9309 8946 50 0000 L CNN +F 1 "100" H 9309 8855 50 0000 L CNN +F 2 "" H 9250 8900 50 0001 C CNN +F 3 "" H 9250 8900 50 0001 C CNN + 1 9250 8900 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9250 9500 9250 9400 +Wire Wire Line + 9250 9400 8900 9400 +Connection ~ 9250 9400 +Connection ~ 7850 9400 +Wire Wire Line + 7850 9400 7500 9400 +Connection ~ 8200 9400 +Wire Wire Line + 8200 9400 7850 9400 +Connection ~ 8550 9400 +Wire Wire Line + 8550 9400 8200 9400 +Connection ~ 8900 9400 +Wire Wire Line + 8900 9400 8550 9400 +Wire Wire Line + 7500 9100 7500 9000 +Wire Wire Line + 7850 9000 7850 9100 +Wire Wire Line + 8200 9000 8200 9100 +Wire Wire Line + 8550 9000 8550 9100 +Wire Wire Line + 8900 9000 8900 9100 +Wire Wire Line + 9250 9000 9250 9100 +$Comp +L power:VBUS #PWR? +U 1 1 5C2C37A2 +P 9250 8700 +F 0 "#PWR?" H 9250 8550 50 0001 C CNN +F 1 "VBUS" H 9265 8873 50 0000 C CNN +F 2 "" H 9250 8700 50 0001 C CNN +F 3 "" H 9250 8700 50 0001 C CNN + 1 9250 8700 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9250 8700 9250 8800 +Wire Wire Line + 9250 8800 8900 8800 +Connection ~ 9250 8800 +Connection ~ 7850 8800 +Wire Wire Line + 7850 8800 7500 8800 +Connection ~ 8200 8800 +Wire Wire Line + 8200 8800 7850 8800 +Connection ~ 8550 8800 +Wire Wire Line + 8550 8800 8200 8800 +Connection ~ 8900 8800 +Wire Wire Line + 8900 8800 8550 8800 +$Comp +L power:GND #PWR? +U 1 1 5C2D1E2D +P 9250 10000 +F 0 "#PWR?" H 9250 9750 50 0001 C CNN +F 1 "GND" H 9255 9827 50 0000 C CNN +F 2 "" H 9250 10000 50 0001 C CNN +F 3 "" H 9250 10000 50 0001 C CNN + 1 9250 10000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9250 10000 9250 9900 +$Comp +L transistors:2N7002 Q? +U 1 1 5C2E1C85 +P 11650 9700 +F 0 "Q?" H 11856 9654 50 0000 L CNN +F 1 "AO3400" H 11856 9745 50 0000 L CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 11850 9625 50 0001 L CIN +F 3 "https://www.fairchildsemi.com/datasheets/2N/2N7002.pdf" H 11650 9700 50 0001 L CNN + 1 11650 9700 + -1 0 0 1 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1C8C +P 9800 9250 +F 0 "D?" V 9792 9132 50 0000 R CNN +F 1 "pink" V 9747 9133 50 0001 R CNN +F 2 "" H 9800 9250 50 0001 C CNN +F 3 "" H 9800 9250 50 0001 C CNN + 1 9800 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1C93 +P 10150 9250 +F 0 "D?" V 10142 9132 50 0000 R CNN +F 1 "pink" V 10097 9133 50 0001 R CNN +F 2 "" H 10150 9250 50 0001 C CNN +F 3 "" H 10150 9250 50 0001 C CNN + 1 10150 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1C9A +P 10500 9250 +F 0 "D?" V 10492 9132 50 0000 R CNN +F 1 "pink" V 10447 9133 50 0001 R CNN +F 2 "" H 10500 9250 50 0001 C CNN +F 3 "" H 10500 9250 50 0001 C CNN + 1 10500 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1CA1 +P 10850 9250 +F 0 "D?" V 10842 9132 50 0000 R CNN +F 1 "pink" V 10797 9133 50 0001 R CNN +F 2 "" H 10850 9250 50 0001 C CNN +F 3 "" H 10850 9250 50 0001 C CNN + 1 10850 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1CA8 +P 11200 9250 +F 0 "D?" V 11192 9132 50 0000 R CNN +F 1 "pink" V 11147 9133 50 0001 R CNN +F 2 "" H 11200 9250 50 0001 C CNN +F 3 "" H 11200 9250 50 0001 C CNN + 1 11200 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:LED D? +U 1 1 5C2E1CAF +P 11550 9250 +F 0 "D?" V 11588 9132 50 0000 R CNN +F 1 "pink" V 11497 9132 50 0000 R CNN +F 2 "" H 11550 9250 50 0001 C CNN +F 3 "" H 11550 9250 50 0001 C CNN + 1 11550 9250 + 0 -1 -1 0 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CB6 +P 9800 8900 +F 0 "R?" H 9859 8946 50 0000 L CNN +F 1 "100" H 9859 8855 50 0000 L CNN +F 2 "" H 9800 8900 50 0001 C CNN +F 3 "" H 9800 8900 50 0001 C CNN + 1 9800 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CBD +P 10150 8900 +F 0 "R?" H 10209 8946 50 0000 L CNN +F 1 "100" H 10209 8855 50 0000 L CNN +F 2 "" H 10150 8900 50 0001 C CNN +F 3 "" H 10150 8900 50 0001 C CNN + 1 10150 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CC4 +P 10500 8900 +F 0 "R?" H 10559 8946 50 0000 L CNN +F 1 "100" H 10559 8855 50 0000 L CNN +F 2 "" H 10500 8900 50 0001 C CNN +F 3 "" H 10500 8900 50 0001 C CNN + 1 10500 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CCB +P 10850 8900 +F 0 "R?" H 10909 8946 50 0000 L CNN +F 1 "100" H 10909 8855 50 0000 L CNN +F 2 "" H 10850 8900 50 0001 C CNN +F 3 "" H 10850 8900 50 0001 C CNN + 1 10850 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CD2 +P 11200 8900 +F 0 "R?" H 11259 8946 50 0000 L CNN +F 1 "100" H 11259 8855 50 0000 L CNN +F 2 "" H 11200 8900 50 0001 C CNN +F 3 "" H 11200 8900 50 0001 C CNN + 1 11200 8900 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C2E1CD9 +P 11550 8900 +F 0 "R?" H 11609 8946 50 0000 L CNN +F 1 "100" H 11609 8855 50 0000 L CNN +F 2 "" H 11550 8900 50 0001 C CNN +F 3 "" H 11550 8900 50 0001 C CNN + 1 11550 8900 + 1 0 0 -1 +$EndComp +Wire Wire Line + 11550 9500 11550 9400 +Wire Wire Line + 11550 9400 11200 9400 +Connection ~ 11550 9400 +Connection ~ 10150 9400 +Wire Wire Line + 10150 9400 9800 9400 +Connection ~ 10500 9400 +Wire Wire Line + 10500 9400 10150 9400 +Connection ~ 10850 9400 +Wire Wire Line + 10850 9400 10500 9400 +Connection ~ 11200 9400 +Wire Wire Line + 11200 9400 10850 9400 +Wire Wire Line + 9800 9100 9800 9000 +Wire Wire Line + 10150 9000 10150 9100 +Wire Wire Line + 10500 9000 10500 9100 +Wire Wire Line + 10850 9000 10850 9100 +Wire Wire Line + 11200 9000 11200 9100 +Wire Wire Line + 11550 9000 11550 9100 +$Comp +L power:VBUS #PWR? +U 1 1 5C2E1CF1 +P 11550 8700 +F 0 "#PWR?" H 11550 8550 50 0001 C CNN +F 1 "VBUS" H 11565 8873 50 0000 C CNN +F 2 "" H 11550 8700 50 0001 C CNN +F 3 "" H 11550 8700 50 0001 C CNN + 1 11550 8700 + 1 0 0 -1 +$EndComp +Wire Wire Line + 11550 8700 11550 8800 +Wire Wire Line + 11550 8800 11200 8800 +Connection ~ 11550 8800 +Connection ~ 10150 8800 +Wire Wire Line + 10150 8800 9800 8800 +Connection ~ 10500 8800 +Wire Wire Line + 10500 8800 10150 8800 +Connection ~ 10850 8800 +Wire Wire Line + 10850 8800 10500 8800 +Connection ~ 11200 8800 +Wire Wire Line + 11200 8800 10850 8800 +$Comp +L power:GND #PWR? +U 1 1 5C2E1D02 +P 11550 10000 +F 0 "#PWR?" H 11550 9750 50 0001 C CNN +F 1 "GND" H 11555 9827 50 0000 C CNN +F 2 "" H 11550 10000 50 0001 C CNN +F 3 "" H 11550 10000 50 0001 C CNN + 1 11550 10000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 11550 10000 11550 9900 +Text Label 10250 9700 2 50 ~ 0 +ALARM_LED_BLUE +Wire Wire Line + 10250 9700 9550 9700 +Text Label 12550 9700 2 50 ~ 0 +ALARM_LED_PINK +Wire Wire Line + 12550 9700 11850 9700 +Text Label 10100 2800 2 50 ~ 0 +ALARM_LED_BLUE +Text Label 10100 2900 2 50 ~ 0 +ALARM_LED_PINK +Wire Wire Line + 10100 2900 9350 2900 +Wire Wire Line + 9350 2800 10100 2800 +$Comp +L transistors:2N7002 Q? +U 1 1 5C35C82C +P 8050 10550 +F 0 "Q?" H 8256 10504 50 0000 L CNN +F 1 "AO3400" H 8256 10595 50 0000 L CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 8250 10475 50 0001 L CIN +F 3 "https://www.fairchildsemi.com/datasheets/2N/2N7002.pdf" H 8050 10550 50 0001 L CNN + 1 8050 10550 + -1 0 0 1 +$EndComp +Wire Wire Line + 7950 10350 7950 10300 +Wire Wire Line + 7950 10250 7850 10250 +$Comp +L device:C_Small C? +U 1 1 5C36E3E6 +P 8500 10650 +F 0 "C?" H 8592 10696 50 0000 L CNN +F 1 "100p" H 8592 10605 50 0000 L CNN +F 2 "" H 8500 10650 50 0001 C CNN +F 3 "" H 8500 10650 50 0001 C CNN + 1 8500 10650 + 1 0 0 -1 +$EndComp +$Comp +L power:VBUS #PWR? +U 1 1 5C3825D2 +P 7950 10050 +F 0 "#PWR?" H 7950 9900 50 0001 C CNN +F 1 "VBUS" H 7965 10223 50 0000 C CNN +F 2 "" H 7950 10050 50 0001 C CNN +F 3 "" H 7950 10050 50 0001 C CNN + 1 7950 10050 + 1 0 0 -1 +$EndComp +Wire Wire Line + 7850 10150 7950 10150 +Wire Wire Line + 7950 10150 7950 10100 +$Comp +L device:R_Small R? +U 1 1 5C39507D +P 8150 10200 +F 0 "R?" H 8209 10246 50 0000 L CNN +F 1 "100" H 8209 10155 50 0000 L CNN +F 2 "" H 8150 10200 50 0001 C CNN +F 3 "" H 8150 10200 50 0001 C CNN + 1 8150 10200 + 1 0 0 -1 +$EndComp +Wire Wire Line + 8150 10100 7950 10100 +Connection ~ 7950 10100 +Wire Wire Line + 7950 10100 7950 10050 +Wire Wire Line + 8150 10300 7950 10300 +Connection ~ 7950 10300 +Wire Wire Line + 7950 10300 7950 10250 +$Comp +L power:GND #PWR? +U 1 1 5C3B929C +P 7950 10850 +F 0 "#PWR?" H 7950 10600 50 0001 C CNN +F 1 "GND" H 7955 10677 50 0000 C CNN +F 2 "" H 7950 10850 50 0001 C CNN +F 3 "" H 7950 10850 50 0001 C CNN + 1 7950 10850 + 1 0 0 -1 +$EndComp +$Comp +L device:R_Small R? +U 1 1 5C3BA02E +P 8800 10550 +F 0 "R?" V 8604 10550 50 0000 C CNN +F 1 "1k" V 8695 10550 50 0000 C CNN +F 2 "" H 8800 10550 50 0001 C CNN +F 3 "" H 8800 10550 50 0001 C CNN + 1 8800 10550 + 0 1 1 0 +$EndComp +Wire Wire Line + 8700 10550 8500 10550 +Connection ~ 8500 10550 +Wire Wire Line + 8500 10550 8250 10550 +Wire Wire Line + 7950 10750 7950 10850 +Wire Wire Line + 7950 10750 8500 10750 +Connection ~ 7950 10750 +Wire Wire Line + 8900 10550 9400 10550 +Text Label 9400 10550 2 50 ~ 0 +PIEZO_OUT +Text Label 10100 4900 2 50 ~ 0 +PIEZO_OUT +Wire Wire Line + 10100 4900 9350 4900 +$Comp +L device:CP_Small C? +U 1 1 5C51704D +P 2350 8750 +F 0 "C?" V 2250 8600 50 0000 C CNN +F 1 "47u" V 2216 8750 50 0000 C CNN +F 2 "" H 2350 8750 50 0001 C CNN +F 3 "" H 2350 8750 50 0001 C CNN + 1 2350 8750 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C51BE00 +P 2350 9000 +F 0 "C?" V 2250 8850 50 0000 C CNN +F 1 "100n" V 2500 9000 50 0000 C CNN +F 2 "" H 2350 9000 50 0001 C CNN +F 3 "" H 2350 9000 50 0001 C CNN + 1 2350 9000 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C5297AC +P 2550 9000 +F 0 "#PWR?" H 2550 8750 50 0001 C CNN +F 1 "GND" H 2700 8950 50 0000 C CNN +F 2 "" H 2550 9000 50 0001 C CNN +F 3 "" H 2550 9000 50 0001 C CNN + 1 2550 9000 + 1 0 0 -1 +$EndComp +Wire Wire Line + 2550 9000 2450 9000 +Wire Wire Line + 2450 9000 2450 8750 +Connection ~ 2450 9000 +Wire Wire Line + 2250 9000 2100 9000 +Connection ~ 2100 9000 +Wire Wire Line + 2250 8750 2100 8750 +Connection ~ 2100 8750 +Wire Wire Line + 2100 8750 2100 9000 +Wire Wire Line + 2100 9800 2100 9950 +Wire Wire Line + 2100 10200 2000 10200 +$Comp +L power:VBUS #PWR? +U 1 1 5C562857 +P 2100 9800 +F 0 "#PWR?" H 2100 9650 50 0001 C CNN +F 1 "VBUS" H 2115 9973 50 0000 C CNN +F 2 "" H 2100 9800 50 0001 C CNN +F 3 "" H 2100 9800 50 0001 C CNN + 1 2100 9800 + 1 0 0 -1 +$EndComp +$Comp +L device:CP_Small C? +U 1 1 5C56285D +P 2350 9950 +F 0 "C?" V 2250 9800 50 0000 C CNN +F 1 "47u" V 2216 9950 50 0000 C CNN +F 2 "" H 2350 9950 50 0001 C CNN +F 3 "" H 2350 9950 50 0001 C CNN + 1 2350 9950 + 0 1 1 0 +$EndComp +$Comp +L device:C_Small C? +U 1 1 5C562864 +P 2350 10200 +F 0 "C?" V 2250 10050 50 0000 C CNN +F 1 "100n" V 2500 10200 50 0000 C CNN +F 2 "" H 2350 10200 50 0001 C CNN +F 3 "" H 2350 10200 50 0001 C CNN + 1 2350 10200 + 0 1 1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5C56286B +P 2550 10200 +F 0 "#PWR?" H 2550 9950 50 0001 C CNN +F 1 "GND" H 2700 10150 50 0000 C CNN +F 2 "" H 2550 10200 50 0001 C CNN +F 3 "" H 2550 10200 50 0001 C CNN + 1 2550 10200 + 1 0 0 -1 +$EndComp +Wire Wire Line + 2550 10200 2450 10200 +Wire Wire Line + 2450 10200 2450 9950 +Connection ~ 2450 10200 +Wire Wire Line + 2250 10200 2100 10200 +Connection ~ 2100 10200 +Wire Wire Line + 2250 9950 2100 9950 +Connection ~ 2100 9950 +Wire Wire Line + 2100 9950 2100 10200 +Text Label 10100 2400 2 50 ~ 0 +SECURE_IF_F4TX +Text Label 10100 2500 2 50 ~ 0 +SECURE_IF_F4RX +Wire Wire Line + 10100 2500 9350 2500 +Wire Wire Line + 10100 2400 9350 2400 +$Comp +L device:LED_Small D? +U 1 1 5C5B8E64 +P 6600 8950 +F 0 "D?" H 6500 8900 50 0000 C CNN +F 1 "red" H 6700 8900 50 0000 C CNN +F 2 "" V 6600 8950 50 0001 C CNN +F 3 "" V 6600 8950 50 0001 C CNN + 1 6600 8950 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5C2170 +P 6600 9100 +F 0 "D?" H 6500 9050 50 0000 C CNN +F 1 "red" H 6700 9050 50 0000 C CNN +F 2 "" V 6600 9100 50 0001 C CNN +F 3 "" V 6600 9100 50 0001 C CNN + 1 6600 9100 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5C4C69 +P 6600 9250 +F 0 "D?" H 6500 9200 50 0000 C CNN +F 1 "red" H 6700 9200 50 0000 C CNN +F 2 "" V 6600 9250 50 0001 C CNN +F 3 "" V 6600 9250 50 0001 C CNN + 1 6600 9250 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5C8AAB +P 6600 9400 +F 0 "D?" H 6500 9350 50 0000 C CNN +F 1 "red" H 6700 9350 50 0000 C CNN +F 2 "" V 6600 9400 50 0001 C CNN +F 3 "" V 6600 9400 50 0001 C CNN + 1 6600 9400 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5CCC8D +P 6600 9550 +F 0 "D?" H 6500 9500 50 0000 C CNN +F 1 "red" H 6700 9500 50 0000 C CNN +F 2 "" V 6600 9550 50 0001 C CNN +F 3 "" V 6600 9550 50 0001 C CNN + 1 6600 9550 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5CF123 +P 6600 9700 +F 0 "D?" H 6500 9650 50 0000 C CNN +F 1 "red" H 6700 9650 50 0000 C CNN +F 2 "" V 6600 9700 50 0001 C CNN +F 3 "" V 6600 9700 50 0001 C CNN + 1 6600 9700 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5CFFD0 +P 6600 9850 +F 0 "D?" H 6500 9800 50 0000 C CNN +F 1 "red" H 6700 9800 50 0000 C CNN +F 2 "" V 6600 9850 50 0001 C CNN +F 3 "" V 6600 9850 50 0001 C CNN + 1 6600 9850 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D158A +P 6600 10000 +F 0 "D?" H 6500 9950 50 0000 C CNN +F 1 "red" H 6700 9950 50 0000 C CNN +F 2 "" V 6600 10000 50 0001 C CNN +F 3 "" V 6600 10000 50 0001 C CNN + 1 6600 10000 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D3F1F +P 6600 10150 +F 0 "D?" H 6500 10100 50 0000 C CNN +F 1 "red" H 6700 10100 50 0000 C CNN +F 2 "" V 6600 10150 50 0001 C CNN +F 3 "" V 6600 10150 50 0001 C CNN + 1 6600 10150 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D4845 +P 6600 10300 +F 0 "D?" H 6500 10250 50 0000 C CNN +F 1 "red" H 6700 10250 50 0000 C CNN +F 2 "" V 6600 10300 50 0001 C CNN +F 3 "" V 6600 10300 50 0001 C CNN + 1 6600 10300 + -1 0 0 1 +$EndComp +$Comp +L device:LED_Small D? +U 1 1 5C5D5CC9 +P 6600 10450 +F 0 "D?" H 6500 10400 50 0000 C CNN +F 1 "red" H 6700 10400 50 0000 C CNN +F 2 "" V 6600 10450 50 0001 C CNN +F 3 "" V 6600 10450 50 0001 C CNN + 1 6600 10450 + -1 0 0 1 +$EndComp +$Comp +L device:R_Pack04 RN? +U 1 1 5C5DE49D +P 6150 9150 +F 0 "RN?" V 5733 9150 50 0000 C CNN +F 1 "4*620" V 5824 9150 50 0000 C CNN +F 2 "" V 6425 9150 50 0001 C CNN +F 3 "" H 6150 9150 50 0001 C CNN + 1 6150 9150 + 0 1 1 0 +$EndComp +Wire Wire Line + 6500 8950 6350 8950 +Wire Wire Line + 6500 9100 6400 9100 +Wire Wire Line + 6400 9100 6400 9050 +Wire Wire Line + 6400 9050 6350 9050 +Wire Wire Line + 6350 9150 6400 9150 +Wire Wire Line + 6400 9150 6400 9250 +Wire Wire Line + 6400 9250 6500 9250 +Wire Wire Line + 6350 9250 6350 9400 +Wire Wire Line + 6350 9400 6500 9400 +$Comp +L device:R_Pack04 RN? +U 1 1 5C63187D +P 6150 9750 +F 0 "RN?" V 5733 9750 50 0000 C CNN +F 1 "4*620" V 5824 9750 50 0000 C CNN +F 2 "" V 6425 9750 50 0001 C CNN +F 3 "" H 6150 9750 50 0001 C CNN + 1 6150 9750 + 0 1 1 0 +$EndComp +$Comp +L device:R_Pack04 RN? +U 1 1 5C63296F +P 6150 10350 +F 0 "RN?" V 5733 10350 50 0000 C CNN +F 1 "4*620" V 5824 10350 50 0000 C CNN +F 2 "" V 6425 10350 50 0001 C CNN +F 3 "" H 6150 10350 50 0001 C CNN + 1 6150 10350 + 0 1 1 0 +$EndComp +Wire Wire Line + 6500 9550 6350 9550 +Wire Wire Line + 6350 9650 6400 9650 +Wire Wire Line + 6400 9650 6400 9700 +Wire Wire Line + 6400 9700 6500 9700 +Wire Wire Line + 6500 9850 6400 9850 +Wire Wire Line + 6400 9850 6400 9750 +Wire Wire Line + 6400 9750 6350 9750 +Wire Wire Line + 6350 9850 6350 10000 +Wire Wire Line + 6350 10000 6500 10000 +Wire Wire Line + 6500 10150 6350 10150 +Wire Wire Line + 6350 10250 6400 10250 +Wire Wire Line + 6400 10250 6400 10300 +Wire Wire Line + 6400 10300 6500 10300 +Wire Wire Line + 6500 10450 6400 10450 +Wire Wire Line + 6400 10450 6400 10350 +Wire Wire Line + 6400 10350 6350 10350 +$Comp +L device:LED_Small D? +U 1 1 5C6C0DF6 +P 6600 10600 +F 0 "D?" H 6500 10550 50 0000 C CNN +F 1 "red" H 6700 10550 50 0000 C CNN +F 2 "" V 6600 10600 50 0001 C CNN +F 3 "" V 6600 10600 50 0001 C CNN + 1 6600 10600 + -1 0 0 1 +$EndComp +Wire Wire Line + 6500 10600 6350 10600 +Wire Wire Line + 6350 10600 6350 10450 +Connection ~ 5950 9050 +Wire Wire Line + 5950 9050 5950 8950 +Connection ~ 5950 9150 +Wire Wire Line + 5950 9150 5950 9050 +Connection ~ 5950 9250 +Wire Wire Line + 5950 9250 5950 9150 +Connection ~ 5950 9550 +Wire Wire Line + 5950 9550 5950 9250 +Connection ~ 5950 9650 +Wire Wire Line + 5950 9650 5950 9550 +Connection ~ 5950 9750 +Wire Wire Line + 5950 9750 5950 9650 +Connection ~ 5950 9850 +Wire Wire Line + 5950 9850 5950 9750 +Connection ~ 5950 10150 +Wire Wire Line + 5950 10150 5950 9850 +Connection ~ 5950 10250 +Wire Wire Line + 5950 10250 5950 10150 +Connection ~ 5950 10350 +Wire Wire Line + 5950 10350 5950 10250 +Wire Wire Line + 5950 10450 5950 10350 +Text Label 7000 9100 2 50 ~ 0 +LED1 +Text Label 7000 9250 2 50 ~ 0 +LED2 +Text Label 7000 9400 2 50 ~ 0 +LED3 +Text Label 7000 9550 2 50 ~ 0 +LED4 +Text Label 7000 9700 2 50 ~ 0 +LED5 +Text Label 7000 9850 2 50 ~ 0 +LED6 +Text Label 7000 10000 2 50 ~ 0 +LED7 +Text Label 7000 8950 2 50 ~ 0 +LED0 +Text Label 7000 10150 2 50 ~ 0 +LED8 +Text Label 7000 10300 2 50 ~ 0 +LED9 +Text Label 7000 10450 2 50 ~ 0 +LED10 +Text Label 7000 10600 2 50 ~ 0 +LED11 +Wire Wire Line + 7000 8950 6700 8950 +Wire Wire Line + 6700 9100 7000 9100 +Wire Wire Line + 7000 9250 6700 9250 +Wire Wire Line + 6700 9400 7000 9400 +Wire Wire Line + 7000 9550 6700 9550 +Wire Wire Line + 6700 9700 7000 9700 +Wire Wire Line + 7000 9850 6700 9850 +Wire Wire Line + 6700 10000 7000 10000 +Wire Wire Line + 7000 10150 6700 10150 +Wire Wire Line + 6700 10300 7000 10300 +Wire Wire Line + 7000 10450 6700 10450 +Wire Wire Line + 6700 10600 7000 10600 +$Comp +L power:VBUS #PWR? +U 1 1 5C8558D2 +P 5950 8850 +F 0 "#PWR?" H 5950 8700 50 0001 C CNN +F 1 "VBUS" H 5965 9023 50 0000 C CNN +F 2 "" H 5950 8850 50 0001 C CNN +F 3 "" H 5950 8850 50 0001 C CNN + 1 5950 8850 + 1 0 0 -1 +$EndComp +Wire Wire Line + 5950 8850 5950 8950 +Connection ~ 5950 8950 +Text Label 7200 4300 0 50 ~ 0 +LED0 +Text Label 7200 4400 0 50 ~ 0 +LED1 +Text Label 7200 4500 0 50 ~ 0 +LED2 +Text Label 7200 4600 0 50 ~ 0 +LED3 +Text Label 7200 4700 0 50 ~ 0 +LED4 +Text Label 7200 4800 0 50 ~ 0 +LED5 +Text Label 7200 4900 0 50 ~ 0 +LED6 +Text Label 7200 5000 0 50 ~ 0 +LED7 +Text Label 7200 5100 0 50 ~ 0 +LED8 +Text Label 7200 5200 0 50 ~ 0 +LED9 +Text Label 7200 5300 0 50 ~ 0 +LED10 +Text Label 7200 5400 0 50 ~ 0 +LED11 +Wire Wire Line + 7200 5400 7550 5400 +Wire Wire Line + 7200 5300 7550 5300 +Wire Wire Line + 7200 5200 7550 5200 +Wire Wire Line + 7550 5100 7200 5100 +Wire Wire Line + 7200 5000 7550 5000 +Wire Wire Line + 7550 4900 7200 4900 +Wire Wire Line + 7200 4800 7550 4800 +Wire Wire Line + 7550 4700 7200 4700 +Wire Wire Line + 7200 4600 7550 4600 +Wire Wire Line + 7550 4500 7200 4500 +Wire Wire Line + 7200 4400 7550 4400 +Wire Wire Line + 7550 4300 7200 4300 +$Comp +L switches:SW_Push SW? +U 1 1 5CA5E99A +P 6700 4500 +F 0 "SW?" V 6746 4452 50 0000 R CNN +F 1 "SW_Push" V 6655 4452 50 0000 R CNN +F 2 "" H 6700 4700 50 0001 C CNN +F 3 "" H 6700 4700 50 0001 C CNN + 1 6700 4500 + 0 -1 -1 0 +$EndComp +$Comp +L power:GND #PWR? +U 1 1 5CA644DC +P 6700 4700 +F 0 "#PWR?" H 6700 4450 50 0001 C CNN +F 1 "GND" H 6705 4527 50 0000 C CNN +F 2 "" H 6700 4700 50 0001 C CNN +F 3 "" H 6700 4700 50 0001 C CNN + 1 6700 4700 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6700 4300 6700 4200 +Wire Wire Line + 6700 4200 7550 4200 +$EndSCHEMATC diff --git a/pcb/sym-lib-table b/pcb/sym-lib-table new file mode 100644 index 0000000..5eca1a3 --- /dev/null +++ b/pcb/sym-lib-table @@ -0,0 +1,41 @@ +(sym_lib_table + (lib (name power)(type Legacy)(uri /usr/share/kicad/library/power.lib)(options "")(descr "")) + (lib (name device)(type Legacy)(uri /usr/share/kicad/library/device.lib)(options "")(descr "")) + (lib (name switches)(type Legacy)(uri /usr/share/kicad/library/switches.lib)(options "")(descr "")) + (lib (name relays)(type Legacy)(uri /usr/share/kicad/library/relays.lib)(options "")(descr "")) + (lib (name motors)(type Legacy)(uri /usr/share/kicad/library/motors.lib)(options "")(descr "")) + (lib (name transistors)(type Legacy)(uri /usr/share/kicad/library/transistors.lib)(options "")(descr "")) + (lib (name conn)(type Legacy)(uri /usr/share/kicad/library/conn.lib)(options "")(descr "")) + (lib (name linear)(type Legacy)(uri /usr/share/kicad/library/linear.lib)(options "")(descr "")) + (lib (name regul)(type Legacy)(uri /usr/share/kicad/library/regul.lib)(options "")(descr "")) + (lib (name 74xx)(type Legacy)(uri /usr/share/kicad/library/74xx.lib)(options "")(descr "")) + (lib (name cmos4000)(type Legacy)(uri /usr/share/kicad/library/cmos4000.lib)(options "")(descr "")) + (lib (name adc-dac)(type Legacy)(uri /usr/share/kicad/library/adc-dac.lib)(options "")(descr "")) + (lib (name memory)(type Legacy)(uri /usr/share/kicad/library/memory.lib)(options "")(descr "")) + (lib (name xilinx)(type Legacy)(uri /usr/share/kicad/library/xilinx.lib)(options "")(descr "")) + (lib (name microcontrollers)(type Legacy)(uri /usr/share/kicad/library/microcontrollers.lib)(options "")(descr "")) + (lib (name dsp)(type Legacy)(uri /usr/share/kicad/library/dsp.lib)(options "")(descr "")) + (lib (name microchip)(type Legacy)(uri /usr/share/kicad/library/microchip.lib)(options "")(descr "")) + (lib (name analog_switches)(type Legacy)(uri /usr/share/kicad/library/analog_switches.lib)(options "")(descr "")) + (lib (name motorola)(type Legacy)(uri /usr/share/kicad/library/motorola.lib)(options "")(descr "")) + (lib (name texas)(type Legacy)(uri /usr/share/kicad/library/texas.lib)(options "")(descr "")) + (lib (name intel)(type Legacy)(uri /usr/share/kicad/library/intel.lib)(options "")(descr "")) + (lib (name audio)(type Legacy)(uri /usr/share/kicad/library/audio.lib)(options "")(descr "")) + (lib (name interface)(type Legacy)(uri /usr/share/kicad/library/interface.lib)(options "")(descr "")) + (lib (name digital-audio)(type Legacy)(uri /usr/share/kicad/library/digital-audio.lib)(options "")(descr "")) + (lib (name philips)(type Legacy)(uri /usr/share/kicad/library/philips.lib)(options "")(descr "")) + (lib (name display)(type Legacy)(uri /usr/share/kicad/library/display.lib)(options "")(descr "")) + (lib (name cypress)(type Legacy)(uri /usr/share/kicad/library/cypress.lib)(options "")(descr "")) + (lib (name siliconi)(type Legacy)(uri /usr/share/kicad/library/siliconi.lib)(options "")(descr "")) + (lib (name opto)(type Legacy)(uri /usr/share/kicad/library/opto.lib)(options "")(descr "")) + (lib (name atmel)(type Legacy)(uri /usr/share/kicad/library/atmel.lib)(options "")(descr "")) + (lib (name contrib)(type Legacy)(uri /usr/share/kicad/library/contrib.lib)(options "")(descr "")) + (lib (name valves)(type Legacy)(uri /usr/share/kicad/library/valves.lib)(options "")(descr "")) + (lib (name MCU_ST_STM32F4)(type Legacy)(uri /home/user/ref/kicad-symbols/MCU_ST_STM32F4.lib)(options "")(descr "")) + (lib (name MCU_ST_STM32F1)(type Legacy)(uri /home/user/ref/kicad-symbols/MCU_ST_STM32F1.lib)(options "")(descr "")) + (lib (name Connector)(type Legacy)(uri /home/user/ref/kicad-symbols/Connector.lib)(options "")(descr "")) + (lib (name Connector_Generic)(type Legacy)(uri /home/user/ref/kicad-symbols/Connector_Generic.lib)(options "")(descr "")) + (lib (name Connector_Generic_MountingPin)(type Legacy)(uri /home/user/ref/kicad-symbols/Connector_Generic_MountingPin.lib)(options "")(descr "")) + (lib (name Connector_Generic_Shielded)(type Legacy)(uri /home/user/ref/kicad-symbols/Connector_Generic_Shielded.lib)(options "")(descr "")) + (lib (name components)(type Legacy)(uri /home/user/research/secureHID/pcb/components.lib)(options "")(descr "")) +) diff --git a/startup_stm32f407xx.s b/startup_stm32f407xx.s deleted file mode 100644 index b9c68ed..0000000 --- a/startup_stm32f407xx.s +++ /dev/null @@ -1,523 +0,0 @@ -/**
- ******************************************************************************
- * @file startup_stm32f407xx.s
- * @author MCD Application Team
- * @version V1.4.4
- * @date 17-February-2017
- * @brief STM32F407xx Devices vector table for GCC based toolchain.
- * This module performs:
- * - Set the initial SP
- * - Set the initial PC == Reset_Handler,
- * - Set the vector table entries with the exceptions ISR address
- * - Branches to main in the C library (which eventually
- * calls main()).
- * After Reset the Cortex-M4 processor is in Thread mode,
- * priority is Privileged, and the Stack is set to Main.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT 2017 STMicroelectronics</center></h2>
- *
- * 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. Neither the name of STMicroelectronics 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.
- *
- ******************************************************************************
- */
-
- .syntax unified
- .cpu cortex-m4
- .fpu softvfp
- .thumb
-
-.global g_pfnVectors
-.global Default_Handler
-
-/* start address for the initialization values of the .data section.
-defined in linker script */
-.word _sidata
-/* start address for the .data section. defined in linker script */
-.word _sdata
-/* end address for the .data section. defined in linker script */
-.word _edata
-/* start address for the .bss section. defined in linker script */
-.word _sbss
-/* end address for the .bss section. defined in linker script */
-.word _ebss
-/* stack used for SystemInit_ExtMemCtl; always internal RAM used */
-
-/**
- * @brief This is the code that gets called when the processor first
- * starts execution following a reset event. Only the absolutely
- * necessary set is performed, after which the application
- * supplied main() routine is called.
- * @param None
- * @retval : None
-*/
-
- .section .text.Reset_Handler
- .weak Reset_Handler
- .type Reset_Handler, %function
-Reset_Handler:
- ldr sp, =_estack /* set stack pointer */
-
-/* Copy the data segment initializers from flash to SRAM */
- movs r1, #0
- b LoopCopyDataInit
-
-CopyDataInit:
- ldr r3, =_sidata
- ldr r3, [r3, r1]
- str r3, [r0, r1]
- adds r1, r1, #4
-
-LoopCopyDataInit:
- ldr r0, =_sdata
- ldr r3, =_edata
- adds r2, r0, r1
- cmp r2, r3
- bcc CopyDataInit
- ldr r2, =_sbss
- b LoopFillZerobss
-/* Zero fill the bss segment. */
-FillZerobss:
- movs r3, #0
- str r3, [r2], #4
-
-LoopFillZerobss:
- ldr r3, = _ebss
- cmp r2, r3
- bcc FillZerobss
-
-/* Call the clock system intitialization function.*/
- bl SystemInit
-/* Call static constructors */
- bl __libc_init_array
-/* Call the application's entry point.*/
- bl main
- bx lr
-.size Reset_Handler, .-Reset_Handler
-
-/**
- * @brief This is the code that gets called when the processor receives an
- * unexpected interrupt. This simply enters an infinite loop, preserving
- * the system state for examination by a debugger.
- * @param None
- * @retval None
-*/
- .section .text.Default_Handler,"ax",%progbits
-Default_Handler:
-Infinite_Loop:
- b Infinite_Loop
- .size Default_Handler, .-Default_Handler
-/******************************************************************************
-*
-* The minimal vector table for a Cortex M3. Note that the proper constructs
-* must be placed on this to ensure that it ends up at physical address
-* 0x0000.0000.
-*
-*******************************************************************************/
- .section .isr_vector,"a",%progbits
- .type g_pfnVectors, %object
- .size g_pfnVectors, .-g_pfnVectors
-
-
-g_pfnVectors:
- .word _estack
- .word Reset_Handler
- .word NMI_Handler
- .word HardFault_Handler
- .word MemManage_Handler
- .word BusFault_Handler
- .word UsageFault_Handler
- .word 0
- .word 0
- .word 0
- .word 0
- .word SVC_Handler
- .word DebugMon_Handler
- .word 0
- .word PendSV_Handler
- .word SysTick_Handler
-
- /* External Interrupts */
- .word WWDG_IRQHandler /* Window WatchDog */
- .word PVD_IRQHandler /* PVD through EXTI Line detection */
- .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */
- .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */
- .word FLASH_IRQHandler /* FLASH */
- .word RCC_IRQHandler /* RCC */
- .word EXTI0_IRQHandler /* EXTI Line0 */
- .word EXTI1_IRQHandler /* EXTI Line1 */
- .word EXTI2_IRQHandler /* EXTI Line2 */
- .word EXTI3_IRQHandler /* EXTI Line3 */
- .word EXTI4_IRQHandler /* EXTI Line4 */
- .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */
- .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */
- .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */
- .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */
- .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */
- .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */
- .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */
- .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */
- .word CAN1_TX_IRQHandler /* CAN1 TX */
- .word CAN1_RX0_IRQHandler /* CAN1 RX0 */
- .word CAN1_RX1_IRQHandler /* CAN1 RX1 */
- .word CAN1_SCE_IRQHandler /* CAN1 SCE */
- .word EXTI9_5_IRQHandler /* External Line[9:5]s */
- .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */
- .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */
- .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */
- .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */
- .word TIM2_IRQHandler /* TIM2 */
- .word TIM3_IRQHandler /* TIM3 */
- .word TIM4_IRQHandler /* TIM4 */
- .word I2C1_EV_IRQHandler /* I2C1 Event */
- .word I2C1_ER_IRQHandler /* I2C1 Error */
- .word I2C2_EV_IRQHandler /* I2C2 Event */
- .word I2C2_ER_IRQHandler /* I2C2 Error */
- .word SPI1_IRQHandler /* SPI1 */
- .word SPI2_IRQHandler /* SPI2 */
- .word USART1_IRQHandler /* USART1 */
- .word USART2_IRQHandler /* USART2 */
- .word USART3_IRQHandler /* USART3 */
- .word EXTI15_10_IRQHandler /* External Line[15:10]s */
- .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */
- .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */
- .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */
- .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */
- .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */
- .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */
- .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */
- .word FSMC_IRQHandler /* FSMC */
- .word SDIO_IRQHandler /* SDIO */
- .word TIM5_IRQHandler /* TIM5 */
- .word SPI3_IRQHandler /* SPI3 */
- .word UART4_IRQHandler /* UART4 */
- .word UART5_IRQHandler /* UART5 */
- .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */
- .word TIM7_IRQHandler /* TIM7 */
- .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */
- .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */
- .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */
- .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */
- .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */
- .word ETH_IRQHandler /* Ethernet */
- .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */
- .word CAN2_TX_IRQHandler /* CAN2 TX */
- .word CAN2_RX0_IRQHandler /* CAN2 RX0 */
- .word CAN2_RX1_IRQHandler /* CAN2 RX1 */
- .word CAN2_SCE_IRQHandler /* CAN2 SCE */
- .word OTG_FS_IRQHandler /* USB OTG FS */
- .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */
- .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */
- .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */
- .word USART6_IRQHandler /* USART6 */
- .word I2C3_EV_IRQHandler /* I2C3 event */
- .word I2C3_ER_IRQHandler /* I2C3 error */
- .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */
- .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */
- .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */
- .word OTG_HS_IRQHandler /* USB OTG HS */
- .word DCMI_IRQHandler /* DCMI */
- .word 0 /* CRYP crypto */
- .word HASH_RNG_IRQHandler /* Hash and Rng */
- .word FPU_IRQHandler /* FPU */
-
-
-/*******************************************************************************
-*
-* Provide weak aliases for each Exception handler to the Default_Handler.
-* As they are weak aliases, any function with the same name will override
-* this definition.
-*
-*******************************************************************************/
- .weak NMI_Handler
- .thumb_set NMI_Handler,Default_Handler
-
- .weak HardFault_Handler
- .thumb_set HardFault_Handler,Default_Handler
-
- .weak MemManage_Handler
- .thumb_set MemManage_Handler,Default_Handler
-
- .weak BusFault_Handler
- .thumb_set BusFault_Handler,Default_Handler
-
- .weak UsageFault_Handler
- .thumb_set UsageFault_Handler,Default_Handler
-
- .weak SVC_Handler
- .thumb_set SVC_Handler,Default_Handler
-
- .weak DebugMon_Handler
- .thumb_set DebugMon_Handler,Default_Handler
-
- .weak PendSV_Handler
- .thumb_set PendSV_Handler,Default_Handler
-
- .weak SysTick_Handler
- .thumb_set SysTick_Handler,Default_Handler
-
- .weak WWDG_IRQHandler
- .thumb_set WWDG_IRQHandler,Default_Handler
-
- .weak PVD_IRQHandler
- .thumb_set PVD_IRQHandler,Default_Handler
-
- .weak TAMP_STAMP_IRQHandler
- .thumb_set TAMP_STAMP_IRQHandler,Default_Handler
-
- .weak RTC_WKUP_IRQHandler
- .thumb_set RTC_WKUP_IRQHandler,Default_Handler
-
- .weak FLASH_IRQHandler
- .thumb_set FLASH_IRQHandler,Default_Handler
-
- .weak RCC_IRQHandler
- .thumb_set RCC_IRQHandler,Default_Handler
-
- .weak EXTI0_IRQHandler
- .thumb_set EXTI0_IRQHandler,Default_Handler
-
- .weak EXTI1_IRQHandler
- .thumb_set EXTI1_IRQHandler,Default_Handler
-
- .weak EXTI2_IRQHandler
- .thumb_set EXTI2_IRQHandler,Default_Handler
-
- .weak EXTI3_IRQHandler
- .thumb_set EXTI3_IRQHandler,Default_Handler
-
- .weak EXTI4_IRQHandler
- .thumb_set EXTI4_IRQHandler,Default_Handler
-
- .weak DMA1_Stream0_IRQHandler
- .thumb_set DMA1_Stream0_IRQHandler,Default_Handler
-
- .weak DMA1_Stream1_IRQHandler
- .thumb_set DMA1_Stream1_IRQHandler,Default_Handler
-
- .weak DMA1_Stream2_IRQHandler
- .thumb_set DMA1_Stream2_IRQHandler,Default_Handler
-
- .weak DMA1_Stream3_IRQHandler
- .thumb_set DMA1_Stream3_IRQHandler,Default_Handler
-
- .weak DMA1_Stream4_IRQHandler
- .thumb_set DMA1_Stream4_IRQHandler,Default_Handler
-
- .weak DMA1_Stream5_IRQHandler
- .thumb_set DMA1_Stream5_IRQHandler,Default_Handler
-
- .weak DMA1_Stream6_IRQHandler
- .thumb_set DMA1_Stream6_IRQHandler,Default_Handler
-
- .weak ADC_IRQHandler
- .thumb_set ADC_IRQHandler,Default_Handler
-
- .weak CAN1_TX_IRQHandler
- .thumb_set CAN1_TX_IRQHandler,Default_Handler
-
- .weak CAN1_RX0_IRQHandler
- .thumb_set CAN1_RX0_IRQHandler,Default_Handler
-
- .weak CAN1_RX1_IRQHandler
- .thumb_set CAN1_RX1_IRQHandler,Default_Handler
-
- .weak CAN1_SCE_IRQHandler
- .thumb_set CAN1_SCE_IRQHandler,Default_Handler
-
- .weak EXTI9_5_IRQHandler
- .thumb_set EXTI9_5_IRQHandler,Default_Handler
-
- .weak TIM1_BRK_TIM9_IRQHandler
- .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler
-
- .weak TIM1_UP_TIM10_IRQHandler
- .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler
-
- .weak TIM1_TRG_COM_TIM11_IRQHandler
- .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler
-
- .weak TIM1_CC_IRQHandler
- .thumb_set TIM1_CC_IRQHandler,Default_Handler
-
- .weak TIM2_IRQHandler
- .thumb_set TIM2_IRQHandler,Default_Handler
-
- .weak TIM3_IRQHandler
- .thumb_set TIM3_IRQHandler,Default_Handler
-
- .weak TIM4_IRQHandler
- .thumb_set TIM4_IRQHandler,Default_Handler
-
- .weak I2C1_EV_IRQHandler
- .thumb_set I2C1_EV_IRQHandler,Default_Handler
-
- .weak I2C1_ER_IRQHandler
- .thumb_set I2C1_ER_IRQHandler,Default_Handler
-
- .weak I2C2_EV_IRQHandler
- .thumb_set I2C2_EV_IRQHandler,Default_Handler
-
- .weak I2C2_ER_IRQHandler
- .thumb_set I2C2_ER_IRQHandler,Default_Handler
-
- .weak SPI1_IRQHandler
- .thumb_set SPI1_IRQHandler,Default_Handler
-
- .weak SPI2_IRQHandler
- .thumb_set SPI2_IRQHandler,Default_Handler
-
- .weak USART1_IRQHandler
- .thumb_set USART1_IRQHandler,Default_Handler
-
- .weak USART2_IRQHandler
- .thumb_set USART2_IRQHandler,Default_Handler
-
- .weak USART3_IRQHandler
- .thumb_set USART3_IRQHandler,Default_Handler
-
- .weak EXTI15_10_IRQHandler
- .thumb_set EXTI15_10_IRQHandler,Default_Handler
-
- .weak RTC_Alarm_IRQHandler
- .thumb_set RTC_Alarm_IRQHandler,Default_Handler
-
- .weak OTG_FS_WKUP_IRQHandler
- .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler
-
- .weak TIM8_BRK_TIM12_IRQHandler
- .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler
-
- .weak TIM8_UP_TIM13_IRQHandler
- .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler
-
- .weak TIM8_TRG_COM_TIM14_IRQHandler
- .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler
-
- .weak TIM8_CC_IRQHandler
- .thumb_set TIM8_CC_IRQHandler,Default_Handler
-
- .weak DMA1_Stream7_IRQHandler
- .thumb_set DMA1_Stream7_IRQHandler,Default_Handler
-
- .weak FSMC_IRQHandler
- .thumb_set FSMC_IRQHandler,Default_Handler
-
- .weak SDIO_IRQHandler
- .thumb_set SDIO_IRQHandler,Default_Handler
-
- .weak TIM5_IRQHandler
- .thumb_set TIM5_IRQHandler,Default_Handler
-
- .weak SPI3_IRQHandler
- .thumb_set SPI3_IRQHandler,Default_Handler
-
- .weak UART4_IRQHandler
- .thumb_set UART4_IRQHandler,Default_Handler
-
- .weak UART5_IRQHandler
- .thumb_set UART5_IRQHandler,Default_Handler
-
- .weak TIM6_DAC_IRQHandler
- .thumb_set TIM6_DAC_IRQHandler,Default_Handler
-
- .weak TIM7_IRQHandler
- .thumb_set TIM7_IRQHandler,Default_Handler
-
- .weak DMA2_Stream0_IRQHandler
- .thumb_set DMA2_Stream0_IRQHandler,Default_Handler
-
- .weak DMA2_Stream1_IRQHandler
- .thumb_set DMA2_Stream1_IRQHandler,Default_Handler
-
- .weak DMA2_Stream2_IRQHandler
- .thumb_set DMA2_Stream2_IRQHandler,Default_Handler
-
- .weak DMA2_Stream3_IRQHandler
- .thumb_set DMA2_Stream3_IRQHandler,Default_Handler
-
- .weak DMA2_Stream4_IRQHandler
- .thumb_set DMA2_Stream4_IRQHandler,Default_Handler
-
- .weak ETH_IRQHandler
- .thumb_set ETH_IRQHandler,Default_Handler
-
- .weak ETH_WKUP_IRQHandler
- .thumb_set ETH_WKUP_IRQHandler,Default_Handler
-
- .weak CAN2_TX_IRQHandler
- .thumb_set CAN2_TX_IRQHandler,Default_Handler
-
- .weak CAN2_RX0_IRQHandler
- .thumb_set CAN2_RX0_IRQHandler,Default_Handler
-
- .weak CAN2_RX1_IRQHandler
- .thumb_set CAN2_RX1_IRQHandler,Default_Handler
-
- .weak CAN2_SCE_IRQHandler
- .thumb_set CAN2_SCE_IRQHandler,Default_Handler
-
- .weak OTG_FS_IRQHandler
- .thumb_set OTG_FS_IRQHandler,Default_Handler
-
- .weak DMA2_Stream5_IRQHandler
- .thumb_set DMA2_Stream5_IRQHandler,Default_Handler
-
- .weak DMA2_Stream6_IRQHandler
- .thumb_set DMA2_Stream6_IRQHandler,Default_Handler
-
- .weak DMA2_Stream7_IRQHandler
- .thumb_set DMA2_Stream7_IRQHandler,Default_Handler
-
- .weak USART6_IRQHandler
- .thumb_set USART6_IRQHandler,Default_Handler
-
- .weak I2C3_EV_IRQHandler
- .thumb_set I2C3_EV_IRQHandler,Default_Handler
-
- .weak I2C3_ER_IRQHandler
- .thumb_set I2C3_ER_IRQHandler,Default_Handler
-
- .weak OTG_HS_EP1_OUT_IRQHandler
- .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler
-
- .weak OTG_HS_EP1_IN_IRQHandler
- .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler
-
- .weak OTG_HS_WKUP_IRQHandler
- .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler
-
- .weak OTG_HS_IRQHandler
- .thumb_set OTG_HS_IRQHandler,Default_Handler
-
- .weak DCMI_IRQHandler
- .thumb_set DCMI_IRQHandler,Default_Handler
-
- .weak HASH_RNG_IRQHandler
- .thumb_set HASH_RNG_IRQHandler,Default_Handler
-
- .weak FPU_IRQHandler
- .thumb_set FPU_IRQHandler,Default_Handler
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/stm32_flash.ld b/stm32_flash.ld deleted file mode 100644 index c54a3b8..0000000 --- a/stm32_flash.ld +++ /dev/null @@ -1,158 +0,0 @@ - -ENTRY(Reset_Handler) - -/* Highest address of the user mode stack */ -_estack = 0x20020000; /* end of RAM */ -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x200;; /* required amount of heap */ -_Min_Stack_Size = 0x400;; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ -FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K -RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K -CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K -} - -/* Define output sections */ -SECTIONS -{ - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - /* Constant data goes into FLASH */ - .rodata : - { - . = ALIGN(4); - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - . = ALIGN(4); - } >FLASH - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT(.fini_array.*))) - KEEP (*(.fini_array*)) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = LOADADDR(.data); - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM AT> FLASH - - _siccmram = LOADADDR(.ccmram); - - /* CCM-RAM section - * - * IMPORTANT NOTE! - * If initialized variables will be placed in this section, - * the startup code needs to be modified to copy the init-values. - */ - .ccmram : - { - . = ALIGN(4); - _sccmram = .; /* create a global symbol at ccmram start */ - *(.ccmram) - *(.ccmram*) - - . = ALIGN(4); - _eccmram = .; /* create a global symbol at ccmram end */ - } >CCMRAM AT> FLASH - - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(4); - PROVIDE ( end = . ); - PROVIDE ( _end = . ); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(4); - } >RAM - - - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} - - diff --git a/stm32f4xx_hal_conf.h b/stm32f4xx_hal_conf.h deleted file mode 100644 index 16ffadd..0000000 --- a/stm32f4xx_hal_conf.h +++ /dev/null @@ -1,154 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Inc/stm32f4xx_hal_conf.h
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief HAL configuration file.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
- *
- * 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. Neither the name of STMicroelectronics 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.
- *
- ******************************************************************************
- */
-
-#ifndef __STM32F4xx_HAL_CONF_H
-#define __STM32F4xx_HAL_CONF_H
-
-#define HAL_MODULE_ENABLED
-
-#include "stm32f4xx_hal_def.h"
-
-#define HAL_RCC_MODULE_ENABLED
-#include "stm32f4xx_hal_rcc.h"
-
-#define HAL_FLASH_MODULE_ENABLED
-#include "stm32f4xx_hal_flash.h"
-
-#define HAL_DMA_MODULE_ENABLED
-#include "stm32f4xx_hal_dma.h"
-
-#define HAL_USART_MODULE_ENABLED
-#include "stm32f4xx_hal_usart.h"
-
-#define HAL_PWR_MODULE_ENABLED
-#include "stm32f4xx_hal_pwr.h"
-
-/* USB host controller foo */
-#define HAL_HCD_MODULE_ENABLED
-#include "stm32f4xx_hal_hcd.h"
-
-/* Whoever needs a HAL for GPIOs... */
-#define HAL_GPIO_MODULE_ENABLED
-#include "stm32f4xx_hal_gpio.h"
-
-/* Why not wrap the wrapper? */
-#define HAL_CORTEX_MODULE_ENABLED
-#include "stm32f4xx_hal_cortex.h"
-
-/*
-#define HAL_DMA2D_MODULE_ENABLED
-#include "stm32f4xx_hal_dma2d.h"
-
-#define HAL_SRAM_MODULE_ENABLED
-#include "stm32f4xx_hal_sram.h"
-
-#define HAL_SDRAM_MODULE_ENABLED
-#include "stm32f4xx_hal_sdram.h"
-
-#define HAL_I2C_MODULE_ENABLED
-#include "stm32f4xx_hal_i2c.h"
-
-#define HAL_LTDC_MODULE_ENABLED
-#include "stm32f4xx_hal_ltdc.h"
-
-#define HAL_DSI_MODULE_ENABLED
-#include "stm32f4xx_hal_dsi.h"
-
-#define HAL_FMPI2C_MODULE_ENABLED
-#include "stm32f4xx_hal_fmpi2c.h"
-*/
-
-#if !defined(HSE_VALUE)
-#if defined(USE_STM32469I_DISCO_REVA)
-#define HSE_VALUE \
- 25000000U /*!< Default value of the External oscillator in Hz */
-#else
-#define HSE_VALUE \
- 8000000U /*!< Default value of the External oscillator in Hz */
-#endif /* USE_STM32469I_DISCO_REVA */
-#endif /* HSE_VALUE */
-
-#if !defined(HSE_STARTUP_TIMEOUT)
-#define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */
-#endif
-
-/* Internal High Speed oscillator (HSI) value. This value is used by the RCC HAL module to compute the system frequency
- * (when HSI is used as system clock source, directly or through the PLL). */
-#if !defined(HSI_VALUE)
-#define HSI_VALUE 16000000U
-#endif
-
-/* Internal Low Speed oscillator (LSI) value. */
-#if !defined(LSI_VALUE)
-#define LSI_VALUE 32000U
-#endif
-
-/* External Low Speed oscillator (LSE) value. */
-#if !defined(LSE_VALUE)
-#define LSE_VALUE 32768U
-#endif
-
-#if !defined(LSE_STARTUP_TIMEOUT)
-#define LSE_STARTUP_TIMEOUT 5000U
-#endif
-
-/* External clock source for I2S peripheral This value is used by the I2S HAL module to compute the I2S clock source
- * frequency, this source is inserted directly through I2S_CKIN pad. */
-#if !defined(EXTERNAL_CLOCK_VALUE)
-#define EXTERNAL_CLOCK_VALUE 12288000U
-#endif
-
-/* For the HAL */
-#define VDD_VALUE 3300U
-#define TICK_INT_PRIORITY 0x00U
-#define USE_RTOS 0
-#define PREFETCH_ENABLE 1
-#define INSTRUCTION_CACHE_ENABLE 1
-#define DATA_CACHE_ENABLE 1
-
-#define USE_SPI_CRC 1U
-
-#define assert_param(expr) ((void)0U)
-
-#endif
diff --git a/stm32f4xx_it.c b/stm32f4xx_it.c deleted file mode 100644 index cbbc7fd..0000000 --- a/stm32f4xx_it.c +++ /dev/null @@ -1,72 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Src/stm32f4xx_it.c
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief Main Interrupt Service Routines.
- * This file provides template for all exceptions handler and
- * peripherals interrupt service routine.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-#include "stm32f4xx_it.h"
-
-extern HCD_HandleTypeDef hhcd;
-
-void NMI_Handler(void) {}
-
-void HardFault_Handler(void)
-{
- while (1)
- ;
-}
-
-void MemManage_Handler(void)
-{
- while (1)
- ;
-}
-
-void BusFault_Handler(void)
-{
- while (1)
- ;
-}
-
-void UsageFault_Handler(void)
-{
- while (1)
- ;
-}
-
-void SVC_Handler(void) {}
-
-void DebugMon_Handler(void) {}
-
-void PendSV_Handler(void) {}
-
-void SysTick_Handler(void) {
- HAL_IncTick();
-}
-
-void OTG_FS_IRQHandler(void) {
- HAL_HCD_IRQHandler(&hhcd);
-}
diff --git a/stm32f4xx_it.h b/stm32f4xx_it.h deleted file mode 100644 index eec1994..0000000 --- a/stm32f4xx_it.h +++ /dev/null @@ -1,44 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Inc/stm32f4xx_it.h
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief This file contains the headers of the interrupt handlers.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-
-#ifndef __STM32F4xx_IT_H
-#define __STM32F4xx_IT_H
-
-#include "main.h"
-
-void NMI_Handler(void);
-void HardFault_Handler(void);
-void MemManage_Handler(void);
-void BusFault_Handler(void);
-void UsageFault_Handler(void);
-void SVC_Handler(void);
-void DebugMon_Handler(void);
-void PendSV_Handler(void);
-void SysTick_Handler(void);
-void OTG_FS_IRQHandler(void);
-
-#endif
diff --git a/syscalls.c b/syscalls.c deleted file mode 100644 index 023cac3..0000000 --- a/syscalls.c +++ /dev/null @@ -1,190 +0,0 @@ -/* Support files for GNU libc. Files in the system namespace go here.
- Files in the C namespace (ie those that do not start with an
- underscore) go in .c. */
-
-#include <_ansi.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <stdio.h>
-#include <string.h>
-#include <time.h>
-#include <sys/time.h>
-#include <sys/times.h>
-#include <sys/errno.h>
-#include <reent.h>
-#include <unistd.h>
-#include <sys/wait.h>
-
-
-#define FreeRTOS
-#define MAX_STACK_SIZE 0x200
-
-extern int __io_putchar(int ch) __attribute__((weak));
-extern int __io_getchar(void) __attribute__((weak));
-
-#ifndef FreeRTOS
- register char * stack_ptr asm("sp");
-#endif
-
-
-
-
-caddr_t _sbrk(int incr)
-{
- extern char end asm("end");
- static char *heap_end;
- char *prev_heap_end,*min_stack_ptr;
-
- if (heap_end == 0)
- heap_end = &end;
-
- prev_heap_end = heap_end;
-
-#ifdef FreeRTOS
- /* Use the NVIC offset register to locate the main stack pointer. */
- min_stack_ptr = (char*)(*(unsigned int *)*(unsigned int *)0xE000ED08);
- /* Locate the STACK bottom address */
- min_stack_ptr -= MAX_STACK_SIZE;
-
- if (heap_end + incr > min_stack_ptr)
-#else
- if (heap_end + incr > stack_ptr)
-#endif
- {
-// write(1, "Heap and stack collision\n", 25);
-// abort();
- errno = ENOMEM;
- return (caddr_t) -1;
- }
-
- heap_end += incr;
-
- return (caddr_t) prev_heap_end;
-}
-
-/*
- * _gettimeofday primitive (Stub function)
- * */
-int _gettimeofday (struct timeval * tp, struct timezone * tzp)
-{
- /* Return fixed data for the timezone. */
- if (tzp)
- {
- tzp->tz_minuteswest = 0;
- tzp->tz_dsttime = 0;
- }
-
- return 0;
-}
-void initialise_monitor_handles()
-{
-}
-
-int _getpid(void)
-{
- return 1;
-}
-
-int _kill(int pid, int sig)
-{
- errno = EINVAL;
- return -1;
-}
-
-void _exit (int status)
-{
- _kill(status, -1);
- while (1) {}
-}
-
-int _write(int file, char *ptr, int len)
-{
- int DataIdx;
-
- for (DataIdx = 0; DataIdx < len; DataIdx++)
- {
- __io_putchar( *ptr++ );
- }
- return len;
-}
-
-int _close(int file)
-{
- return -1;
-}
-
-int _fstat(int file, struct stat *st)
-{
- st->st_mode = S_IFCHR;
- return 0;
-}
-
-int _isatty(int file)
-{
- return 1;
-}
-
-int _lseek(int file, int ptr, int dir)
-{
- return 0;
-}
-
-int _read(int file, char *ptr, int len)
-{
- int DataIdx;
-
- for (DataIdx = 0; DataIdx < len; DataIdx++)
- {
- *ptr++ = __io_getchar();
- }
-
- return len;
-}
-
-int _open(char *path, int flags, ...)
-{
- /* Pretend like we always fail */
- return -1;
-}
-
-int _wait(int *status)
-{
- errno = ECHILD;
- return -1;
-}
-
-int _unlink(char *name)
-{
- errno = ENOENT;
- return -1;
-}
-
-int _times(struct tms *buf)
-{
- return -1;
-}
-
-int _stat(char *file, struct stat *st)
-{
- st->st_mode = S_IFCHR;
- return 0;
-}
-
-int _link(char *old, char *new)
-{
- errno = EMLINK;
- return -1;
-}
-
-int _fork(void)
-{
- errno = EAGAIN;
- return -1;
-}
-
-int _execve(char *name, char **argv, char **env)
-{
- errno = ENOMEM;
- return -1;
-}
diff --git a/system_stm32f4xx.c b/system_stm32f4xx.c deleted file mode 100644 index fc979ef..0000000 --- a/system_stm32f4xx.c +++ /dev/null @@ -1,143 +0,0 @@ -/**
- ******************************************************************************
- * @file system_stm32f4xx.c
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File.
- *
- * This file provides two functions and one global variable to be called from
- * user application:
- * - SystemInit(): This function is called at startup just after reset and
- * before branch to main program. This call is made inside
- * the "startup_stm32f4xx.s" file.
- *
- * - SystemCoreClock variable: Contains the core clock (HCLK), it can be
- *used
- * by the user application to setup the
- *SysTick
- * timer or configure other parameters.
- *
- * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and
- *must
- * be called whenever the core clock is changed
- * during program execution.
- *
- *
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT 2017 STMicroelectronics</center></h2>
- *
- * 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. Neither the name of STMicroelectronics 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.
- *
- ******************************************************************************
- */
-
-#include "stm32f4xx.h"
-
-#if !defined(HSE_VALUE)
-#if defined(USE_STM32469I_DISCO_REVA)
-#define HSE_VALUE \
- ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */
-#else
-#define HSE_VALUE \
- ((uint32_t)8000000) /*!< Default value of the External oscillator in Hz */
-#endif /* USE_STM32469I_DISCO_REVA */
-#endif /* HSE_VALUE */
-
-#if !defined(HSI_VALUE)
-#define HSI_VALUE \
- ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
-#endif /* HSI_VALUE */
-
-#define VECT_TAB_OFFSET 0x00 /* This value must be a multiple of 0x200. */
-
-/* The following variable is updated in three ways:
- 1) by calling CMSIS function SystemCoreClockUpdate()
- 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
- 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
- Note: If you use this function to configure the system clock; then there is no need to call the 2 first functions
- listed above, since the SystemCoreClock variable is updated automatically. */
-uint32_t SystemCoreClock = 16000000;
-const uint8_t AHBPrescTable[16] = { 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 2, 3, 4, 6, 7, 8, 9 };
-const uint8_t APBPrescTable[8] = { 0, 0, 0, 0, 1, 2, 3, 4 };
-
-/* Setup the microcontroller system: Initialize the FPU setting, vector table location and External memory configuration. */
-void SystemInit(void)
-{
-#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
- SCB->CPACR |= ((3UL << 10 * 2) | (3UL << 11 * 2)); /* set CP10 and CP11 Full Access */
-#endif
- /* Reset the RCC clock configuration to the default reset state */
- RCC->CR |= (uint32_t)0x00000001; /* Set HSION bit */
- RCC->CFGR = 0x00000000; /* Reset CFGR register */
- RCC->CR &= (uint32_t)0xFEF6FFFF; /* Reset HSEON, CSSON and PLLON bits */
- RCC->PLLCFGR = 0x24003010; /* Reset PLLCFGR register */
- RCC->CR &= (uint32_t)0xFFFBFFFF; /* Reset HSEBYP bit */
- RCC->CIR = 0x00000000; /* Disable all interrupts */
-
- SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
-}
-
-/* Update SystemCoreClock variable according to Clock Register Values. The SystemCoreClock variable contains the core
- * clock (HCLK), it can be used by the user application to setup the SysTick timer or configure other parameters. */
-void SystemCoreClockUpdate(void)
-{
- switch (RCC->CFGR & RCC_CFGR_SWS) {
- case 0x00: /* HSI */
- SystemCoreClock = HSI_VALUE;
- break;
- case 0x04: /* HSE */
- SystemCoreClock = HSE_VALUE;
- break;
- case 0x08: {/* PLL */
- /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
- SYSCLK = PLL_VCO / PLL_P */
- uint32_t pllvco;
- uint32_t pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
- uint32_t pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22;
- if (pllsource != 0) /* HSE */
- pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
- else /* HSI */
- pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
-
- uint32_t pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> 16) + 1) * 2;
- SystemCoreClock = pllvco / pllp;
- break; }
- default:
- SystemCoreClock = HSI_VALUE;
- break;
- }
- /* Compute HCLK frequency */
- SystemCoreClock >>= AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
-}
-
diff --git a/usbh_conf.c b/usbh_conf.c deleted file mode 100644 index 851c4ff..0000000 --- a/usbh_conf.c +++ /dev/null @@ -1,434 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Src/usbh_conf.c
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief USB Host configuration file.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V.
- * All rights reserved.</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted, provided that the following conditions are met:
- *
- * 1. Redistribution 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. Neither the name of STMicroelectronics nor the names of other
- * contributors to this software may be used to endorse or promote products
- * derived from this software without specific written permission.
- * 4. This software, including modifications and/or derivative works of this
- * software, must execute solely and exclusively on microcontroller or
- * microprocessor devices manufactured by or for STMicroelectronics.
- * 5. Redistribution and use of this software other than as permitted under
- * this license is void and will automatically terminate your rights under
- * this license.
- *
- * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
- * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
- * SHALL STMICROELECTRONICS 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 "stm32f4xx_hal.h"
-#include "usbh_core.h"
-
-HCD_HandleTypeDef hhcd;
-
-/*******************************************************************************
- HCD BSP Routines
-*******************************************************************************/
-/**
- * @brief Initializes the HCD MSP.
- * @param hhcd: HCD handle
- * @retval None
- */
-void HAL_HCD_MspInit(HCD_HandleTypeDef* hhcd)
-{
- GPIO_InitTypeDef GPIO_InitStruct;
-
- /* Configure USB FS GPIOs */
- __HAL_RCC_GPIOA_CLK_ENABLE();
-
- GPIO_InitStruct.Pin = (GPIO_PIN_11 | GPIO_PIN_12);
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = GPIO_PIN_10;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* Configure POWER_SWITCH IO pin */
- __HAL_RCC_GPIOB_CLK_ENABLE();
- GPIO_InitStruct.Pin = GPIO_PIN_2;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- /* Enable USB FS Clocks */
- __HAL_RCC_USB_OTG_FS_CLK_ENABLE();
-
- /* Set USBFS Interrupt priority */
- HAL_NVIC_SetPriority(OTG_FS_IRQn, 6, 0);
-
- /* Enable USBFS Interrupt */
- HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
-}
-
-/**
- * @brief DeInitializes the HCD MSP.
- * @param hhcd: HCD handle
- * @retval None
- */
-void HAL_HCD_MspDeInit(HCD_HandleTypeDef* hhcd)
-{
- /* Disable USB FS Clocks */
- __HAL_RCC_USB_OTG_FS_CLK_DISABLE();
-}
-
-/*******************************************************************************
- LL Driver Callbacks (HCD -> USB Host Library)
-*******************************************************************************/
-
-/**
- * @brief SOF callback.
- * @param hhcd: HCD handle
- * @retval None
- */
-void HAL_HCD_SOF_Callback(HCD_HandleTypeDef* hhcd)
-{
- USBH_LL_IncTimer(hhcd->pData);
-}
-
-/**
- * @brief Connect callback.
- * @param hhcd: HCD handle
- * @retval None
- */
-void HAL_HCD_Connect_Callback(HCD_HandleTypeDef* hhcd)
-{
- USBH_LL_Connect(hhcd->pData);
-}
-
-/**
- * @brief Disconnect callback.
- * @param hhcd: HCD handle
- * @retval None
- */
-void HAL_HCD_Disconnect_Callback(HCD_HandleTypeDef* hhcd)
-{
- USBH_LL_Disconnect(hhcd->pData);
-}
-
-/**
- * @brief Notify URB state change callback.
- * @param hhcd: HCD handle
- * @param chnum: Channel number
- * @param urb_state: URB State
- * @retval None
- */
-void HAL_HCD_HC_NotifyURBChange_Callback(HCD_HandleTypeDef* hhcd, uint8_t chnum,
- HCD_URBStateTypeDef urb_state)
-{
- /* To be used with OS to sync URB state with the global state machine */
-}
-
-/*******************************************************************************
- LL Driver Interface (USB Host Library --> HCD)
-*******************************************************************************/
-/**
- * @brief USBH_LL_Init
- * Initialize the Low Level portion of the Host driver.
- * @param phost: Host handle
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_Init(USBH_HandleTypeDef* phost)
-{
- /* Set the LL Driver parameters */
- hhcd.Instance = USB_OTG_FS;
- hhcd.Init.Host_channels = 11;
- hhcd.Init.dma_enable = 0;
- hhcd.Init.low_power_enable = 0;
- hhcd.Init.phy_itface = HCD_PHY_EMBEDDED;
- hhcd.Init.Sof_enable = 0;
- hhcd.Init.speed = HCD_SPEED_FULL;
- hhcd.Init.vbus_sensing_enable = 0;
- hhcd.Init.lpm_enable = 0;
-
- /* Link the driver to the stack */
- hhcd.pData = phost;
- phost->pData = &hhcd;
-
- /* Initialize the LL Driver */
- HAL_HCD_Init(&hhcd);
-
- USBH_LL_SetTimer(phost, HAL_HCD_GetCurrentFrame(&hhcd));
-
- return USBH_OK;
-}
-
-/**
- * @brief De-Initializes the Low Level portion of the Host driver.
- * @param phost: Host handle
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_DeInit(USBH_HandleTypeDef* phost)
-{
- HAL_HCD_DeInit(phost->pData);
- return USBH_OK;
-}
-
-/**
- * @brief Starts the Low Level portion of the Host driver.
- * @param phost: Host handle
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_Start(USBH_HandleTypeDef* phost)
-{
- HAL_HCD_Start(phost->pData);
- return USBH_OK;
-}
-
-/**
- * @brief Stops the Low Level portion of the Host driver.
- * @param phost: Host handle
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_Stop(USBH_HandleTypeDef* phost)
-{
- HAL_HCD_Stop(phost->pData);
- return USBH_OK;
-}
-
-/**
- * @brief Returns the USB Host Speed from the Low Level Driver.
- * @param phost: Host handle
- * @retval USBH Speeds
- */
-USBH_SpeedTypeDef USBH_LL_GetSpeed(USBH_HandleTypeDef* phost)
-{
- USBH_SpeedTypeDef speed = USBH_SPEED_FULL;
-
- switch (HAL_HCD_GetCurrentSpeed(phost->pData)) {
- case 0:
- speed = USBH_SPEED_HIGH;
- break;
-
- case 1:
- speed = USBH_SPEED_FULL;
- break;
-
- case 2:
- speed = USBH_SPEED_LOW;
- break;
-
- default:
- speed = USBH_SPEED_FULL;
- break;
- }
- return speed;
-}
-
-/**
- * @brief Resets the Host Port of the Low Level Driver.
- * @param phost: Host handle
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_ResetPort(USBH_HandleTypeDef* phost)
-{
- HAL_HCD_ResetPort(phost->pData);
- return USBH_OK;
-}
-
-/**
- * @brief Returns the last transferred packet size.
- * @param phost: Host handle
- * @param pipe: Pipe index
- * @retval Packet Size
- */
-uint32_t USBH_LL_GetLastXferSize(USBH_HandleTypeDef* phost, uint8_t pipe)
-{
- return HAL_HCD_HC_GetXferCount(phost->pData, pipe);
-}
-
-/**
- * @brief Opens a pipe of the Low Level Driver.
- * @param phost: Host handle
- * @param pipe: Pipe index
- * @param epnum: Endpoint Number
- * @param dev_address: Device USB address
- * @param speed: Device Speed
- * @param ep_type: Endpoint Type
- * @param mps: Endpoint Max Packet Size
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_OpenPipe(USBH_HandleTypeDef* phost, uint8_t pipe,
- uint8_t epnum, uint8_t dev_address,
- uint8_t speed, uint8_t ep_type,
- uint16_t mps)
-{
- HAL_HCD_HC_Init(phost->pData, pipe, epnum, dev_address, speed, ep_type, mps);
- return USBH_OK;
-}
-
-/**
- * @brief Closes a pipe of the Low Level Driver.
- * @param phost: Host handle
- * @param pipe: Pipe index
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_ClosePipe(USBH_HandleTypeDef* phost, uint8_t pipe)
-{
- HAL_HCD_HC_Halt(phost->pData, pipe);
- return USBH_OK;
-}
-
-/**
- * @brief Submits a new URB to the low level driver.
- * @param phost: Host handle
- * @param pipe: Pipe index
- * This parameter can be a value from 1 to 15
- * @param direction: Channel number
- * This parameter can be one of these values:
- * 0: Output
- * 1: Input
- * @param ep_type: Endpoint Type
- * This parameter can be one of these values:
- * @arg EP_TYPE_CTRL: Control type
- * @arg EP_TYPE_ISOC: Isochronous type
- * @arg EP_TYPE_BULK: Bulk type
- * @arg EP_TYPE_INTR: Interrupt type
- * @param token: Endpoint Type
- * This parameter can be one of these values:
- * @arg 0: PID_SETUP
- * @arg 1: PID_DATA
- * @param pbuff: pointer to URB data
- * @param length: length of URB data
- * @param do_ping: activate do ping protocol (for high speed only)
- * This parameter can be one of these values:
- * 0: do ping inactive
- * 1: do ping active
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_SubmitURB(USBH_HandleTypeDef* phost, uint8_t pipe,
- uint8_t direction, uint8_t ep_type,
- uint8_t token, uint8_t* pbuff,
- uint16_t length, uint8_t do_ping)
-{
- HAL_HCD_HC_SubmitRequest(phost->pData, pipe, direction, ep_type, token, pbuff,
- length, do_ping);
- return USBH_OK;
-}
-
-/**
- * @brief Gets a URB state from the low level driver.
- * @param phost: Host handle
- * @param pipe: Pipe index
- * This parameter can be a value from 1 to 15
- * @retval URB state
- * This parameter can be one of these values:
- * @arg URB_IDLE
- * @arg URB_DONE
- * @arg URB_NOTREADY
- * @arg URB_NYET
- * @arg URB_ERROR
- * @arg URB_STALL
- */
-USBH_URBStateTypeDef USBH_LL_GetURBState(USBH_HandleTypeDef* phost,
- uint8_t pipe)
-{
- return (USBH_URBStateTypeDef)HAL_HCD_HC_GetURBState(phost->pData, pipe);
-}
-
-/**
- * @brief Drives VBUS.
- * @param phost: Host handle
- * @param state: VBUS state
- * This parameter can be one of these values:
- * 0: VBUS Active
- * 1: VBUS Inactive
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_DriverVBUS(USBH_HandleTypeDef* phost,
- uint8_t state)
-{
- if (state == 0) {
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);
- } else {
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);
- }
- HAL_Delay(200);
- return USBH_OK;
-}
-
-/**
- * @brief Sets toggle for a pipe.
- * @param phost: Host handle
- * @param pipe: Pipe index
- * @param toggle: toggle (0/1)
- * @retval USBH Status
- */
-USBH_StatusTypeDef USBH_LL_SetToggle(USBH_HandleTypeDef* phost, uint8_t pipe,
- uint8_t toggle)
-{
- if (hhcd.hc[pipe].ep_is_in) {
- hhcd.hc[pipe].toggle_in = toggle;
- } else {
- hhcd.hc[pipe].toggle_out = toggle;
- }
- return USBH_OK;
-}
-
-/**
- * @brief Returns the current toggle of a pipe.
- * @param phost: Host handle
- * @param pipe: Pipe index
- * @retval toggle (0/1)
- */
-uint8_t USBH_LL_GetToggle(USBH_HandleTypeDef* phost, uint8_t pipe)
-{
- uint8_t toggle = 0;
-
- if (hhcd.hc[pipe].ep_is_in) {
- toggle = hhcd.hc[pipe].toggle_in;
- } else {
- toggle = hhcd.hc[pipe].toggle_out;
- }
- return toggle;
-}
-
-/**
- * @brief Delay routine for the USB Host Library
- * @param Delay: Delay in ms
- * @retval None
- */
-void USBH_Delay(uint32_t Delay)
-{
-#if (USBH_USE_OS == 1)
- osDelay(Delay);
-#else
- HAL_Delay(Delay);
-#endif
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/usbh_conf.h b/usbh_conf.h deleted file mode 100644 index da91b6e..0000000 --- a/usbh_conf.h +++ /dev/null @@ -1,114 +0,0 @@ -/**
- ******************************************************************************
- * @file USB_Host/HID_Standalone/Inc/usbh_conf.h
- * @author MCD Application Team
- * @version V1.1.0
- * @date 17-February-2017
- * @brief General low level driver configuration
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V.
- * All rights reserved.</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted, provided that the following conditions are met:
- *
- * 1. Redistribution 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. Neither the name of STMicroelectronics nor the names of other
- * contributors to this software may be used to endorse or promote products
- * derived from this software without specific written permission.
- * 4. This software, including modifications and/or derivative works of this
- * software, must execute solely and exclusively on microcontroller or
- * microprocessor devices manufactured by or for STMicroelectronics.
- * 5. Redistribution and use of this software other than as permitted under
- * this license is void and will automatically terminate your rights under
- * this license.
- *
- * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
- * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
- * SHALL STMICROELECTRONICS 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.
- *
- ******************************************************************************
- */
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef __USBH_CONF_H
-#define __USBH_CONF_H
-
-/* Includes ------------------------------------------------------------------*/
-#include "stm32f4xx_hal.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* Exported types ------------------------------------------------------------*/
-#define USBH_MAX_NUM_ENDPOINTS 2
-#define USBH_MAX_NUM_INTERFACES 2
-#define USBH_MAX_NUM_CONFIGURATION 1
-#define USBH_MAX_NUM_SUPPORTED_CLASS 1
-#define USBH_KEEP_CFG_DESCRIPTOR 0
-#define USBH_MAX_SIZE_CONFIGURATION 0x200
-#define USBH_MAX_DATA_BUFFER 0x200
-#define USBH_DEBUG_LEVEL 2
-#define USBH_USE_OS 0
-
-/* Exported constants --------------------------------------------------------*/
-/* Exported macro ------------------------------------------------------------*/
-/* CMSIS OS macros */
-#if (USBH_USE_OS == 1)
-#include "cmsis_os.h"
-#define USBH_PROCESS_PRIO osPriorityNormal
-#endif
-
-/* Memory management macros */
-#define USBH_malloc malloc
-#define USBH_free free
-#define USBH_memset memset
-#define USBH_memcpy memcpy
-
-/* DEBUG macros */
-#if (USBH_DEBUG_LEVEL > 0)
-#define USBH_UsrLog(...) \
- printf(__VA_ARGS__); \
- printf("\n");
-#else
-#define USBH_UsrLog(...)
-#endif
-
-#if (USBH_DEBUG_LEVEL > 1)
-
-#define USBH_ErrLog(...) \
- printf("ERROR: "); \
- printf(__VA_ARGS__); \
- printf("\n");
-#else
-#define USBH_ErrLog(...)
-#endif
-
-#if (USBH_DEBUG_LEVEL > 2)
-#define USBH_DbgLog(...) \
- printf("DEBUG : "); \
- printf(__VA_ARGS__); \
- printf("\n");
-#else
-#define USBH_DbgLog(...)
-#endif
-
-/* Exported functions ------------------------------------------------------- */
-
-#endif /* __USBH_CONF_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|