From 194bd7fdb9c0ffd66f7c574c2854f396c2a8ab93 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sat, 17 Nov 2018 11:35:25 +0900 Subject: Initial schematic commit --- Makefile | 75 -- build/.git_keep | 0 keyboard.c | 73 -- main.c | 247 ----- main.h | 97 -- mapparse.py | 129 --- mapvis.py | 25 - menu.c | 110 --- openocd.cfg | 14 - pcb/components.bck | 3 + pcb/components.dcm | 3 + pcb/components.lib | 44 + pcb/securehid-cache.lib | 732 +++++++++++++++ pcb/securehid.bak | 2310 ++++++++++++++++++++++++++++++++++++++++++++++ pcb/securehid.kicad_pcb | 1 + pcb/securehid.pro | 30 + pcb/securehid.sch | 2336 +++++++++++++++++++++++++++++++++++++++++++++++ pcb/sym-lib-table | 41 + startup_stm32f407xx.s | 523 ----------- stm32_flash.ld | 158 ---- stm32f4xx_hal_conf.h | 154 ---- stm32f4xx_it.c | 72 -- stm32f4xx_it.h | 44 - syscalls.c | 190 ---- system_stm32f4xx.c | 143 --- usbh_conf.c | 434 --------- usbh_conf.h | 114 --- 27 files changed, 5500 insertions(+), 2602 deletions(-) delete mode 100644 Makefile delete mode 100644 build/.git_keep delete mode 100644 keyboard.c delete mode 100644 main.c delete mode 100644 main.h delete mode 100644 mapparse.py delete mode 100644 mapvis.py delete mode 100644 menu.c delete mode 100644 openocd.cfg create mode 100644 pcb/components.bck create mode 100644 pcb/components.dcm create mode 100644 pcb/components.lib create mode 100644 pcb/securehid-cache.lib create mode 100644 pcb/securehid.bak create mode 100644 pcb/securehid.kicad_pcb create mode 100644 pcb/securehid.pro create mode 100644 pcb/securehid.sch create mode 100644 pcb/sym-lib-table delete mode 100644 startup_stm32f407xx.s delete mode 100644 stm32_flash.ld delete mode 100644 stm32f4xx_hal_conf.h delete mode 100644 stm32f4xx_it.c delete mode 100644 stm32f4xx_it.h delete mode 100644 syscalls.c delete mode 100644 system_stm32f4xx.c delete mode 100644 usbh_conf.c delete mode 100644 usbh_conf.h 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 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 - * - *

© Copyright (c) 2017 STMicroelectronics International N.V. - * All rights reserved.

- * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted, provided that the following conditions are met: - * - * 1. 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); -} - diff --git a/main.c b/main.c deleted file mode 100644 index 8b7b5c0..0000000 --- a/main.c +++ /dev/null @@ -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 - * - *

© Copyright (c) 2017 STMicroelectronics International N.V. - * All rights reserved.

- * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted, provided that the following conditions are met: - * - * 1. 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<OSPEEDR |= - (2<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) {} - diff --git a/main.h b/main.h deleted file mode 100644 index 4b52c38..0000000 --- a/main.h +++ /dev/null @@ -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 - * - *

© Copyright (c) 2017 STMicroelectronics International N.V. - * All rights reserved.

- * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted, provided that the following conditions are met: - * - * 1. 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. - diff --git a/menu.c b/menu.c deleted file mode 100644 index 60a59e9..0000000 --- a/menu.c +++ /dev/null @@ -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 - * - *

© Copyright (c) 2017 STMicroelectronics International N.V. - * All rights reserved.

- * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted, provided that the following conditions are met: - * - * 1. 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 - * - *

© COPYRIGHT 2017 STMicroelectronics

- * - * 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 - * - *

© COPYRIGHT(c) 2017 STMicroelectronics

- * - * 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 - * - *

© COPYRIGHT(c) 2017 STMicroelectronics

- * - * 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 - * - *

© COPYRIGHT(c) 2017 STMicroelectronics

- * - * 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#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 - * - *

© COPYRIGHT 2017 STMicroelectronics

- * - * 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 - * - *

© Copyright (c) 2017 STMicroelectronics International N.V. - * All rights reserved.

- * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted, provided that the following conditions are met: - * - * 1. 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 - * - *

© Copyright (c) 2017 STMicroelectronics International N.V. - * All rights reserved.

- * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted, provided that the following conditions are met: - * - * 1. 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 -#include -#include - -/* 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****/ -- cgit