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