├── firmware ├── init.gdb ├── .DS_Store ├── Drivers │ ├── .DS_Store │ ├── STM32L4xx_HAL_Driver │ │ ├── .DS_Store │ │ ├── Inc │ │ │ ├── stm32l4xx_hal_flash_ex.h │ │ │ ├── stm32l4xx_hal_flash_ramfunc.h │ │ │ └── stm32l4xx_hal_pcd_ex.h │ │ └── Src │ │ │ └── stm32l4xx_hal_flash_ramfunc.c │ └── CMSIS │ │ ├── Device │ │ └── ST │ │ │ └── STM32L4xx │ │ │ └── Include │ │ │ ├── stm32l4xx.h │ │ │ ├── stm32l432xx.h │ │ │ └── system_stm32l4xx.h │ │ └── Include │ │ ├── core_cmFunc.h │ │ ├── core_cmInstr.h │ │ ├── core_cmSimd.h │ │ ├── arm_const_structs.h │ │ └── arm_common_tables.h ├── Middlewares │ ├── .DS_Store │ └── ST │ │ ├── .DS_Store │ │ └── STM32_USB_Device_Library │ │ ├── .DS_Store │ │ ├── Class │ │ ├── .DS_Store │ │ └── CDC │ │ │ ├── .DS_Store │ │ │ └── Inc │ │ │ └── usbd_cdc.h │ │ └── Core │ │ ├── Inc │ │ ├── usbd_ctlreq.h │ │ ├── usbd_ioreq.h │ │ └── usbd_core.h │ │ └── Src │ │ └── usbd_ioreq.c ├── board_openocd.cfg ├── board_openocd.cfg~ ├── Inc │ ├── serial_format.h │ ├── stm32l4xx_it.h │ ├── main.h │ ├── usb_device.h │ ├── usbd_desc.h │ ├── usbd_cdc_if.h │ └── usbd_conf.h ├── Src │ ├── serial_format.c │ ├── usb_device.c │ └── stm32l4xx_it.c ├── Makefile ├── Makefile~ └── flash.ld ├── .DS_Store ├── phased-array ├── .DS_Store └── pcb │ ├── phased-array.pro │ ├── power_splitter.bak │ ├── power_splitter.sch │ └── phased-array-cache.lib ├── tiny-radar-gerbers.zip ├── external-pa-gerbers.zip ├── phased-array-gerbers.zip ├── schematic └── tiny-radar.pdf ├── phased-array-gerbers ├── phased-array-B.SilkS.gbo ├── phased-array-Edge.Cuts.gm1 ├── phased-array-B.Mask.gbs └── phased-array.drl ├── README.md ├── external-pa-gerbers ├── tiny-pa-Edge.Cuts.gm1 ├── tiny-pa-B.Mask.gbs ├── tiny-pa.drl ├── tiny-pa-F.SilkS.gto └── tiny-pa-B.SilkS.gbo ├── tiny-gerber-stencil └── tiny-radar-Edge.Cuts.gm1 ├── tiny-radar-gerbers ├── tiny-radar-Edge.Cuts.gm1 ├── tiny-radar.drl └── tiny-radar-B.SilkS.gbo ├── pcb ├── tiny-radar-rescue.lib ├── tiny-radar.pro ├── tiny-radar.bak └── tiny-radar.sch └── external-pa ├── tiny-pa.pro ├── tiny-pa-cache.lib └── tiny-pa.net /firmware/init.gdb: -------------------------------------------------------------------------------- 1 | tar ext :3333 2 | file main.elf 3 | -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/.DS_Store -------------------------------------------------------------------------------- /firmware/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/.DS_Store -------------------------------------------------------------------------------- /phased-array/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/phased-array/.DS_Store -------------------------------------------------------------------------------- /tiny-radar-gerbers.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/tiny-radar-gerbers.zip -------------------------------------------------------------------------------- /external-pa-gerbers.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/external-pa-gerbers.zip -------------------------------------------------------------------------------- /phased-array-gerbers.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/phased-array-gerbers.zip -------------------------------------------------------------------------------- /schematic/tiny-radar.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/schematic/tiny-radar.pdf -------------------------------------------------------------------------------- /firmware/Drivers/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Drivers/.DS_Store -------------------------------------------------------------------------------- /firmware/Middlewares/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Middlewares/.DS_Store -------------------------------------------------------------------------------- /firmware/Middlewares/ST/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Middlewares/ST/.DS_Store -------------------------------------------------------------------------------- /firmware/Drivers/STM32L4xx_HAL_Driver/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Drivers/STM32L4xx_HAL_Driver/.DS_Store -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Middlewares/ST/STM32_USB_Device_Library/.DS_Store -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l432xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l432xx.h -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/Class/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Middlewares/ST/STM32_USB_Device_Library/Class/.DS_Store -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/westonb/tiny-radar/HEAD/firmware/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/.DS_Store -------------------------------------------------------------------------------- /firmware/board_openocd.cfg: -------------------------------------------------------------------------------- 1 | #configuration file for board with STM32L4xx using STlink v2.1 2 | 3 | gdb_port 3333 4 | 5 | source [find interface/stlink-v2-1.cfg] 6 | 7 | transport select hla_swd 8 | 9 | source [find target/stm32l4x.cfg] 10 | 11 | reset_config none separate 12 | 13 | -------------------------------------------------------------------------------- /firmware/board_openocd.cfg~: -------------------------------------------------------------------------------- 1 | #configuration file for board with STM32L4xx using STlink v2.1 2 | 3 | gdb_port 3333 4 | 5 | source [find interface/stlink-v2.cfg] 6 | 7 | transport select hla_swd 8 | 9 | source [find target/stm32l4x.cfg] 10 | 11 | reset_config none separate 12 | 13 | -------------------------------------------------------------------------------- /firmware/Inc/serial_format.h: -------------------------------------------------------------------------------- 1 | //functions for formatting data over serial 2 | #ifndef __SERIAL_FORMAT_H 3 | #define __SERIAL_FORMAT_H 4 | 5 | #define ASCII_ENCODE_U(x) ((x>>6) + 0x21) 6 | #define ASCII_ENCODE_L(x) ((x & 0x3f) + 0x21) 7 | 8 | uint8_t* ascii_encode_12b(uint16_t * data_in, uint16_t len, uint8_t * out_buff); 9 | 10 | 11 | 12 | 13 | #endif -------------------------------------------------------------------------------- /phased-array-gerbers/phased-array-B.SilkS.gbo: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Legend,Bot* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 01:04:39 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | G04 APERTURE END LIST* 11 | D10* 12 | M02* 13 | -------------------------------------------------------------------------------- /firmware/Src/serial_format.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "serial_format.h" 3 | 4 | 5 | uint8_t* ascii_encode_12b(uint16_t * data_in, uint16_t len, uint8_t * out_buff){ 6 | uint16_t index; 7 | for(index = 0; index < len; index++){ 8 | out_buff[index*2] = ASCII_ENCODE_U(data_in[index]); 9 | out_buff[index*2+1] = ASCII_ENCODE_L(data_in[index]); 10 | } 11 | return out_buff+(index*2); 12 | 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tiny-radar 2 | A usb connected 2.4GHz frequency modulated continuous wave radar with separate power splitter and phase shifter board for beam steering. 3 | 4 | ## Hardware 5 | STM32 based for DAC control of VCO and ADC for received samples. DC coupled RX signal path. 6 | 7 | ## Firmware 8 | Continuous data acquisition and transmission over USB serial via 12B/16B encoding using only printable ASCII characters 9 | 10 | ## Host Software 11 | In progress. matplotlib / Python 2.7 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /external-pa-gerbers/tiny-pa-Edge.Cuts.gm1: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Profile,NP* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 00:44:52 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | %ADD11C,0.150000*% 11 | G04 APERTURE END LIST* 12 | D10* 13 | D11* 14 | X130000000Y-100000000D02* 15 | X130000000Y-80000000D01* 16 | X160000000Y-100000000D02* 17 | X130000000Y-100000000D01* 18 | X160000000Y-80000000D02* 19 | X160000000Y-100000000D01* 20 | X130000000Y-80000000D02* 21 | X160000000Y-80000000D01* 22 | M02* 23 | -------------------------------------------------------------------------------- /tiny-gerber-stencil/tiny-radar-Edge.Cuts.gm1: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Profile,NP* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.5-e0-6337~49~ubuntu14.04.1) date Thu Mar 9 20:13:56 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | %ADD11C,0.150000*% 11 | G04 APERTURE END LIST* 12 | D10* 13 | D11* 14 | X142000000Y-64000000D02* 15 | X212000000Y-64000000D01* 16 | X142000000Y-91500000D02* 17 | X142000000Y-64000000D01* 18 | X212000000Y-91500000D02* 19 | X142000000Y-91500000D01* 20 | X212000000Y-91500000D02* 21 | X212000000Y-64000000D01* 22 | M02* 23 | -------------------------------------------------------------------------------- /tiny-radar-gerbers/tiny-radar-Edge.Cuts.gm1: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Profile,NP* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 01:16:21 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | %ADD11C,0.150000*% 11 | G04 APERTURE END LIST* 12 | D10* 13 | D11* 14 | X142000000Y-64000000D02* 15 | X212000000Y-64000000D01* 16 | X142000000Y-91500000D02* 17 | X142000000Y-64000000D01* 18 | X212000000Y-91500000D02* 19 | X142000000Y-91500000D01* 20 | X212000000Y-91500000D02* 21 | X212000000Y-64000000D01* 22 | M02* 23 | -------------------------------------------------------------------------------- /phased-array-gerbers/phased-array-Edge.Cuts.gm1: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Profile,NP* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 01:04:40 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | %ADD11C,0.150000*% 11 | G04 APERTURE END LIST* 12 | D10* 13 | D11* 14 | X97000000Y-156500000D02* 15 | X97000000Y-109500000D01* 16 | X129000000Y-156500000D02* 17 | X97000000Y-156500000D01* 18 | X129000000Y-109500000D02* 19 | X129000000Y-156500000D01* 20 | X97000000Y-109500000D02* 21 | X129000000Y-109500000D01* 22 | M02* 23 | -------------------------------------------------------------------------------- /pcb/tiny-radar-rescue.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.3 2 | #encoding utf-8 3 | # 4 | # USB_OTG-RESCUE-tiny-radar 5 | # 6 | DEF USB_OTG-RESCUE-tiny-radar P 0 40 Y Y 1 F N 7 | F0 "P" 325 -125 50 H V C CNN 8 | F1 "USB_OTG-RESCUE-tiny-radar" 0 200 50 H V C CNN 9 | F2 "" -50 -100 50 V V C CNN 10 | F3 "" -50 -100 50 V V C CNN 11 | $FPLIST 12 | USB* 13 | $ENDFPLIST 14 | DRAW 15 | S -250 -150 250 150 0 1 0 N 16 | S -205 -150 -195 -120 0 1 0 N 17 | S -105 -150 -95 -120 0 1 0 N 18 | S -5 -150 5 -120 0 1 0 N 19 | S 95 -150 105 -120 0 1 0 N 20 | S 195 -150 205 -120 0 1 0 N 21 | X VBUS 1 -200 -300 150 U 50 50 1 1 w 22 | X D- 2 -100 -300 150 U 50 50 1 1 P 23 | X D+ 3 0 -300 150 U 50 50 1 1 P 24 | X ID 4 100 -300 150 U 50 50 1 1 W 25 | X GND 5 200 -300 150 U 50 50 1 1 W 26 | X shield 6 400 100 150 L 50 50 1 1 P 27 | ENDDRAW 28 | ENDDEF 29 | # 30 | #End Library 31 | -------------------------------------------------------------------------------- /external-pa/tiny-pa.pro: -------------------------------------------------------------------------------- 1 | update=Wed 12 Apr 2017 10:41:07 PM EDT 2 | version=1 3 | last_client=kicad 4 | [pcbnew] 5 | version=1 6 | LastNetListRead= 7 | UseCmpFile=1 8 | PadDrill=0.600000000000 9 | PadDrillOvalY=0.600000000000 10 | PadSizeH=1.500000000000 11 | PadSizeV=1.500000000000 12 | PcbTextSizeV=1.500000000000 13 | PcbTextSizeH=1.500000000000 14 | PcbTextThickness=0.300000000000 15 | ModuleTextSizeV=1.000000000000 16 | ModuleTextSizeH=1.000000000000 17 | ModuleTextSizeThickness=0.150000000000 18 | SolderMaskClearance=0.000000000000 19 | SolderMaskMinWidth=0.000000000000 20 | DrawSegmentWidth=0.200000000000 21 | BoardOutlineThickness=0.100000000000 22 | ModuleOutlineThickness=0.150000000000 23 | [cvpcb] 24 | version=1 25 | NetIExt=net 26 | [general] 27 | version=1 28 | [eeschema] 29 | version=1 30 | LibDir= 31 | [eeschema/libraries] 32 | LibName1=power 33 | LibName2=device 34 | LibName3=transistors 35 | LibName4=conn 36 | LibName5=linear 37 | LibName6=regul 38 | LibName7=74xx 39 | LibName8=cmos4000 40 | LibName9=adc-dac 41 | LibName10=memory 42 | LibName11=xilinx 43 | LibName12=microcontrollers 44 | LibName13=dsp 45 | LibName14=microchip 46 | LibName15=analog_switches 47 | LibName16=motorola 48 | LibName17=texas 49 | LibName18=intel 50 | LibName19=audio 51 | LibName20=interface 52 | LibName21=digital-audio 53 | LibName22=philips 54 | LibName23=display 55 | LibName24=cypress 56 | LibName25=siliconi 57 | LibName26=opto 58 | LibName27=atmel 59 | LibName28=contrib 60 | LibName29=valves 61 | LibName30=/home/wbraun/projects/wbraun_kicad_library/wbraun_ic_lib 62 | -------------------------------------------------------------------------------- /phased-array/pcb/phased-array.pro: -------------------------------------------------------------------------------- 1 | update=Tue 04 Apr 2017 07:21:05 PM EDT 2 | version=1 3 | last_client=kicad 4 | [pcbnew] 5 | version=1 6 | LastNetListRead= 7 | UseCmpFile=1 8 | PadDrill=0.600000000000 9 | PadDrillOvalY=0.600000000000 10 | PadSizeH=1.500000000000 11 | PadSizeV=1.500000000000 12 | PcbTextSizeV=1.500000000000 13 | PcbTextSizeH=1.500000000000 14 | PcbTextThickness=0.300000000000 15 | ModuleTextSizeV=1.000000000000 16 | ModuleTextSizeH=1.000000000000 17 | ModuleTextSizeThickness=0.150000000000 18 | SolderMaskClearance=0.000000000000 19 | SolderMaskMinWidth=0.000000000000 20 | DrawSegmentWidth=0.200000000000 21 | BoardOutlineThickness=0.100000000000 22 | ModuleOutlineThickness=0.150000000000 23 | [cvpcb] 24 | version=1 25 | NetIExt=net 26 | [general] 27 | version=1 28 | [eeschema] 29 | version=1 30 | LibDir= 31 | [eeschema/libraries] 32 | LibName1=power 33 | LibName2=device 34 | LibName3=transistors 35 | LibName4=conn 36 | LibName5=linear 37 | LibName6=regul 38 | LibName7=74xx 39 | LibName8=cmos4000 40 | LibName9=adc-dac 41 | LibName10=memory 42 | LibName11=xilinx 43 | LibName12=microcontrollers 44 | LibName13=dsp 45 | LibName14=microchip 46 | LibName15=analog_switches 47 | LibName16=motorola 48 | LibName17=texas 49 | LibName18=intel 50 | LibName19=audio 51 | LibName20=interface 52 | LibName21=digital-audio 53 | LibName22=philips 54 | LibName23=display 55 | LibName24=cypress 56 | LibName25=siliconi 57 | LibName26=opto 58 | LibName27=atmel 59 | LibName28=contrib 60 | LibName29=valves 61 | LibName30=/home/wbraun/projects/wbraun_kicad_library/wbraun_ic_lib 62 | -------------------------------------------------------------------------------- /pcb/tiny-radar.pro: -------------------------------------------------------------------------------- 1 | update=Wed 12 Apr 2017 04:53:46 PM EDT 2 | version=1 3 | last_client=kicad 4 | [pcbnew] 5 | version=1 6 | LastNetListRead= 7 | UseCmpFile=1 8 | PadDrill=0.600000000000 9 | PadDrillOvalY=0.600000000000 10 | PadSizeH=1.500000000000 11 | PadSizeV=1.500000000000 12 | PcbTextSizeV=1.500000000000 13 | PcbTextSizeH=1.500000000000 14 | PcbTextThickness=0.300000000000 15 | ModuleTextSizeV=1.000000000000 16 | ModuleTextSizeH=1.000000000000 17 | ModuleTextSizeThickness=0.150000000000 18 | SolderMaskClearance=0.000000000000 19 | SolderMaskMinWidth=0.000000000000 20 | DrawSegmentWidth=0.200000000000 21 | BoardOutlineThickness=0.100000000000 22 | ModuleOutlineThickness=0.150000000000 23 | [cvpcb] 24 | version=1 25 | NetIExt=net 26 | [general] 27 | version=1 28 | [schematic_editor] 29 | version=1 30 | PageLayoutDescrFile= 31 | PlotDirectoryName=../schematic/ 32 | SubpartIdSeparator=0 33 | SubpartFirstId=65 34 | NetFmtName=Pcbnew 35 | SpiceForceRefPrefix=0 36 | SpiceUseNetNumbers=0 37 | LabSize=60 38 | [eeschema] 39 | version=1 40 | LibDir= 41 | [eeschema/libraries] 42 | LibName1=tiny-radar-rescue 43 | LibName2=power 44 | LibName3=device 45 | LibName4=transistors 46 | LibName5=conn 47 | LibName6=regul 48 | LibName7=74xx 49 | LibName8=cmos4000 50 | LibName9=adc-dac 51 | LibName10=memory 52 | LibName11=xilinx 53 | LibName12=microcontrollers 54 | LibName13=dsp 55 | LibName14=microchip 56 | LibName15=analog_switches 57 | LibName16=motorola 58 | LibName17=texas 59 | LibName18=intel 60 | LibName19=audio 61 | LibName20=interface 62 | LibName21=digital-audio 63 | LibName22=philips 64 | LibName23=display 65 | LibName24=cypress 66 | LibName25=siliconi 67 | LibName26=opto 68 | LibName27=atmel 69 | LibName28=contrib 70 | LibName29=valves 71 | LibName30=/home/wbraun/projects/wbraun_kicad_library/wbraun_ic_lib 72 | -------------------------------------------------------------------------------- /firmware/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for STM32L4* using cmsis and GNU toolchain. 2 | 3 | # Files to include 4 | C_SRC = $(wildcard Src/*.c) 5 | C_SRC += $(wildcard Drivers/STM32L4xx_HAL_Driver/Src/*.c) 6 | C_SRC += $(wildcard Middlewares/ST/STM32_USB_Device_Library/Core/Src/*.c) 7 | C_SRC += $(wildcard Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/*.c) 8 | C_INC = $(wildcard Inc/*.h) 9 | 10 | OBJECTS = $(patsubst %.c,%.o,$(C_SRC)) Src/startup.o 11 | 12 | INC = -IInc 13 | INC += -IDrivers/CMSIS/Include -IDrivers/CMSIS/Device/ST/STM32L4xx/Include 14 | INC += -IDrivers/STM32L4xx_HAL_Driver/Inc -IDrivers/STM32L4xx_HAL_Driver/Inc/Legacy 15 | INC += -IMiddlewares/ST/STM32_USB_Device_Library/Core/Inc -IMiddlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc 16 | 17 | # Assembler, compiler, and linker flags 18 | AFLAGS = -mlittle-endian -mthumb -mcpu=cortex-m4 19 | CFLAGS = $(AFLAGS) -g -O1 $(INC) -std=c99 -Wall #debugging flag is on this line 20 | CFLAGS += -DSTM32L432xx -DARM_MATH_CM4 #-mfloat-abi=hard -D'__FPU_PRESENT=1' 21 | CFLAGS += -fdata-sections -ffunction-sections 22 | CFLAGS += -mlittle-endian -mcpu=cortex-m4 -mthumb 23 | LFLAGS = $(CFLAGS) -nostartfiles -Tflash.ld -Wl,-Map=main.map -Wl,--gc-sections 24 | LFLAGS = $(CFLAGS) -Tflash.ld -Wl,-Map=main.map -Wl,--gc-sections -mthumb -mcpu=cortex-m4 -lnosys 25 | 26 | # Targets 27 | all: main.bin 28 | clean: 29 | -rm -f $(OBJECTS) *.elf *.bin *.map 30 | main.bin: main.elf 31 | arm-none-eabi-objcopy -O binary main.elf main.bin 32 | main.elf: $(OBJECTS) 33 | arm-none-eabi-gcc $(LFLAGS) -o main.elf $(OBJECTS) $(LIBRARIES) 34 | Src/startup.o: Src/startup.s 35 | arm-none-eabi-as $(AFLAGS) Src/startup.s -o Src/startup.o 36 | %.o: %.c $(C_INC) 37 | arm-none-eabi-gcc $(CFLAGS) -c -o $@ $< 38 | 39 | %.S: %.c $(C_INC) 40 | arm-none-eabi-gcc $(CFLAGS) -S -o $@ $< 41 | gdb: main.elf 42 | arm-none-eabi-gdb -x init.gdb 43 | load: main.elf 44 | arm-none-eabi-gdb -x init.gdb -ex "mon reset halt" -ex load 45 | loadquit: main.elf 46 | arm-none-eabi-gdb -batch -x init.gdb -ex load -ex kill -ex quit 47 | stlink: 48 | st-util -p 4244 49 | ocd: 50 | openocd -f board_openocd.cfg 51 | -------------------------------------------------------------------------------- /firmware/Makefile~: -------------------------------------------------------------------------------- 1 | # Makefile for STM32L4* using cmsis and GNU toolchain. 2 | 3 | # Files to include 4 | C_SRC = $(wildcard Src/*.c) 5 | C_SRC += $(wildcard Drivers/STM32L4xx_HAL_Driver/Src/*.c) 6 | C_SRC += $(wildcard Middlewares/ST/STM32_USB_Device_Library/Core/Src/*.c) 7 | C_SRC += $(wildcard Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/*.c) 8 | C_INC = $(wildcard Inc/*.h) 9 | 10 | OBJECTS = $(patsubst %.c,%.o,$(C_SRC)) Src/startup.o 11 | 12 | INC = -IInc 13 | INC += -IDrivers/CMSIS/Include -IDrivers/CMSIS/Device/ST/STM32L4xx/Include 14 | INC += -IDrivers/STM32L4xx_HAL_Driver/Inc -IDrivers/STM32L4xx_HAL_Driver/Inc/Legacy 15 | INC += -IMiddlewares/ST/STM32_USB_Device_Library/Core/Inc -IMiddlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc 16 | 17 | # Assembler, compiler, and linker flags 18 | AFLAGS = -mlittle-endian -mthumb -mcpu=cortex-m4 19 | CFLAGS = $(AFLAGS) -g -O3 $(INC) -std=c99 -Wall #debugging flag is on this line 20 | CFLAGS += -DSTM32L432xx -DARM_MATH_CM4 #-mfloat-abi=hard -D'__FPU_PRESENT=1' 21 | CFLAGS += -fdata-sections -ffunction-sections 22 | CFLAGS += -mlittle-endian -mcpu=cortex-m4 -mthumb 23 | LFLAGS = $(CFLAGS) -nostartfiles -Tflash.ld -Wl,-Map=main.map -Wl,--gc-sections 24 | LFLAGS = $(CFLAGS) -Tflash.ld -Wl,-Map=main.map -Wl,--gc-sections -mthumb -mcpu=cortex-m4 -lnosys 25 | 26 | # Targets 27 | all: main.bin 28 | clean: 29 | -rm -f $(OBJECTS) *.elf *.bin *.map 30 | main.bin: main.elf 31 | arm-none-eabi-objcopy -O binary main.elf main.bin 32 | main.elf: $(OBJECTS) 33 | arm-none-eabi-gcc $(LFLAGS) -o main.elf $(OBJECTS) $(LIBRARIES) 34 | Src/startup.o: Src/startup.s 35 | arm-none-eabi-as $(AFLAGS) Src/startup.s -o Src/startup.o 36 | %.o: %.c $(C_INC) 37 | arm-none-eabi-gcc $(CFLAGS) -c -o $@ $< 38 | 39 | %.S: %.c $(C_INC) 40 | arm-none-eabi-gcc $(CFLAGS) -S -o $@ $< 41 | gdb: main.elf 42 | arm-none-eabi-gdb -x init.gdb 43 | load: main.elf 44 | arm-none-eabi-gdb -x init.gdb -ex "mon reset halt" -ex load 45 | loadquit: main.elf 46 | arm-none-eabi-gdb -batch -x init.gdb -ex load -ex kill -ex quit 47 | stlink: 48 | st-util -p 4244 49 | ocd: 50 | openocd -f board_openocd.cfg 51 | -------------------------------------------------------------------------------- /external-pa-gerbers/tiny-pa-B.Mask.gbs: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Soldermask,Bot* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 00:44:52 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | G04 APERTURE END LIST* 11 | D10* 12 | G36* 13 | X134888500Y-96038500D02* 14 | X130261500Y-96038500D01* 15 | X130261500Y-93911500D01* 16 | X134888500Y-93911500D01* 17 | X134888500Y-96038500D01* 18 | X134888500Y-96038500D01* 19 | G37* 20 | G36* 21 | X159738500Y-96013500D02* 22 | X155111500Y-96013500D01* 23 | X155111500Y-93886500D01* 24 | X159738500Y-93886500D01* 25 | X159738500Y-96013500D01* 26 | X159738500Y-96013500D01* 27 | G37* 28 | G36* 29 | X134888500Y-90088500D02* 30 | X130261500Y-90088500D01* 31 | X130261500Y-87961500D01* 32 | X134888500Y-87961500D01* 33 | X134888500Y-90088500D01* 34 | X134888500Y-90088500D01* 35 | G37* 36 | G36* 37 | X159738500Y-90063500D02* 38 | X155111500Y-90063500D01* 39 | X155111500Y-87936500D01* 40 | X159738500Y-87936500D01* 41 | X159738500Y-90063500D01* 42 | X159738500Y-90063500D01* 43 | G37* 44 | G36* 45 | X136933637Y-80850732D02* 46 | X136933642Y-80850733D01* 47 | X136933685Y-80850738D01* 48 | X137103995Y-80903458D01* 49 | X137260823Y-80988254D01* 50 | X137398193Y-81101897D01* 51 | X137510874Y-81240057D01* 52 | X137594573Y-81397472D01* 53 | X137646103Y-81568147D01* 54 | X137663500Y-81745580D01* 55 | X137663500Y-81754454D01* 56 | X137663426Y-81765119D01* 57 | X137663425Y-81765125D01* 58 | X137663411Y-81767174D01* 59 | X137643538Y-81944347D01* 60 | X137589630Y-82114286D01* 61 | X137503741Y-82270517D01* 62 | X137389142Y-82407091D01* 63 | X137250199Y-82518804D01* 64 | X137092203Y-82601402D01* 65 | X136921173Y-82651739D01* 66 | X136921142Y-82651742D01* 67 | X136921128Y-82651746D01* 68 | X136743626Y-82667900D01* 69 | X136566363Y-82649268D01* 70 | X136566358Y-82649267D01* 71 | X136566315Y-82649262D01* 72 | X136396005Y-82596542D01* 73 | X136239177Y-82511746D01* 74 | X136101807Y-82398103D01* 75 | X135989126Y-82259943D01* 76 | X135905427Y-82102528D01* 77 | X135853897Y-81931853D01* 78 | X135836500Y-81754420D01* 79 | X135836500Y-81745546D01* 80 | X135836574Y-81734881D01* 81 | X135836575Y-81734875D01* 82 | X135836589Y-81732826D01* 83 | X135856462Y-81555653D01* 84 | X135910370Y-81385714D01* 85 | X135996259Y-81229483D01* 86 | X136110858Y-81092909D01* 87 | X136249801Y-80981196D01* 88 | X136407797Y-80898598D01* 89 | X136578827Y-80848261D01* 90 | X136578858Y-80848258D01* 91 | X136578872Y-80848254D01* 92 | X136756374Y-80832100D01* 93 | X136933637Y-80850732D01* 94 | X136933637Y-80850732D01* 95 | G37* 96 | G36* 97 | X135123500Y-82663500D02* 98 | X133296500Y-82663500D01* 99 | X133296500Y-80836500D01* 100 | X135123500Y-80836500D01* 101 | X135123500Y-82663500D01* 102 | X135123500Y-82663500D01* 103 | G37* 104 | M02* 105 | -------------------------------------------------------------------------------- /pcb/tiny-radar.bak: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:tiny-radar-rescue 3 | LIBS:power 4 | LIBS:device 5 | LIBS:transistors 6 | LIBS:conn 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:microcontrollers 14 | LIBS:dsp 15 | LIBS:microchip 16 | LIBS:analog_switches 17 | LIBS:motorola 18 | LIBS:texas 19 | LIBS:intel 20 | LIBS:audio 21 | LIBS:interface 22 | LIBS:digital-audio 23 | LIBS:philips 24 | LIBS:display 25 | LIBS:cypress 26 | LIBS:siliconi 27 | LIBS:opto 28 | LIBS:atmel 29 | LIBS:contrib 30 | LIBS:valves 31 | LIBS:wbraun_ic_lib 32 | LIBS:tiny-radar-cache 33 | EELAYER 25 0 34 | EELAYER END 35 | $Descr A4 11693 8268 36 | encoding utf-8 37 | Sheet 1 4 38 | Title "" 39 | Date "" 40 | Rev "" 41 | Comp "" 42 | Comment1 "" 43 | Comment2 "" 44 | Comment3 "" 45 | Comment4 "" 46 | $EndDescr 47 | $Sheet 48 | S 1700 1900 1200 1200 49 | U 58AA0025 50 | F0 "Control" 60 51 | F1 "Control.sch" 60 52 | F2 "RAMP_ADC" I R 2900 2750 60 53 | F3 "IF_ADC_P" I R 2900 2400 60 54 | F4 "RAMP_DAC" I R 2900 2950 60 55 | F5 "RF_ENABLE" I R 2900 2050 60 56 | F6 "IF_ADC_N" I R 2900 2300 60 57 | F7 "AGC_DAC" I R 2900 2850 60 58 | $EndSheet 59 | $Sheet 60 | S 1700 3400 1200 1000 61 | U 58AA00CB 62 | F0 "Analog" 60 63 | F1 "Analog.sch" 60 64 | F2 "RAMP_DAC" I R 2900 3500 60 65 | F3 "VCO_RAMP" I R 2900 4250 60 66 | F4 "ADC_RAMP" I R 2900 3700 60 67 | F5 "GAIN_CNTRL_DAC" I R 2900 3600 60 68 | F6 "IF_ADC_P" I R 2900 3800 60 69 | F7 "IF_ADC_N" I R 2900 3900 60 70 | F8 "IF+" I R 2900 4050 60 71 | F9 "IF-" I R 2900 4150 60 72 | $EndSheet 73 | $Sheet 74 | S 4300 1900 1200 1200 75 | U 58AA00E0 76 | F0 "RF" 60 77 | F1 "RF.sch" 60 78 | F2 "IF+" I L 4300 2000 60 79 | F3 "IF-" I L 4300 2100 60 80 | F4 "VCO_TUNE" I L 4300 2300 60 81 | F5 "VCO_EN" I L 4300 2400 60 82 | $EndSheet 83 | Wire Wire Line 84 | 2900 2950 3000 2950 85 | Wire Wire Line 86 | 3000 2950 3000 3500 87 | Wire Wire Line 88 | 3000 3500 2900 3500 89 | Wire Wire Line 90 | 2900 2850 3100 2850 91 | Wire Wire Line 92 | 3100 2850 3100 3600 93 | Wire Wire Line 94 | 3100 3600 2900 3600 95 | Wire Wire Line 96 | 2900 2750 3200 2750 97 | Wire Wire Line 98 | 3200 2750 3200 3700 99 | Wire Wire Line 100 | 3200 3700 2900 3700 101 | Wire Wire Line 102 | 2900 2400 3300 2400 103 | Wire Wire Line 104 | 3300 2400 3300 3800 105 | Wire Wire Line 106 | 3300 3800 2900 3800 107 | Wire Wire Line 108 | 2900 2300 3400 2300 109 | Wire Wire Line 110 | 3400 2300 3400 3900 111 | Wire Wire Line 112 | 3400 3900 2900 3900 113 | Wire Wire Line 114 | 2900 4050 3800 4050 115 | Wire Wire Line 116 | 3800 4050 3800 2000 117 | Wire Wire Line 118 | 3800 2000 4300 2000 119 | Wire Wire Line 120 | 2900 4150 3950 4150 121 | Wire Wire Line 122 | 3950 4150 3950 2100 123 | Wire Wire Line 124 | 3950 2100 4300 2100 125 | Wire Wire Line 126 | 2900 4250 4050 4250 127 | Wire Wire Line 128 | 4050 4250 4050 2300 129 | Wire Wire Line 130 | 4050 2300 4300 2300 131 | Wire Wire Line 132 | 4300 2400 3550 2400 133 | Wire Wire Line 134 | 3550 2400 3550 2050 135 | Wire Wire Line 136 | 3550 2050 2900 2050 137 | $EndSCHEMATC 138 | -------------------------------------------------------------------------------- /pcb/tiny-radar.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:tiny-radar-rescue 3 | LIBS:power 4 | LIBS:device 5 | LIBS:transistors 6 | LIBS:conn 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:microcontrollers 14 | LIBS:dsp 15 | LIBS:microchip 16 | LIBS:analog_switches 17 | LIBS:motorola 18 | LIBS:texas 19 | LIBS:intel 20 | LIBS:audio 21 | LIBS:interface 22 | LIBS:digital-audio 23 | LIBS:philips 24 | LIBS:display 25 | LIBS:cypress 26 | LIBS:siliconi 27 | LIBS:opto 28 | LIBS:atmel 29 | LIBS:contrib 30 | LIBS:valves 31 | LIBS:wbraun_ic_lib 32 | LIBS:tiny-radar-cache 33 | EELAYER 25 0 34 | EELAYER END 35 | $Descr A4 11693 8268 36 | encoding utf-8 37 | Sheet 1 4 38 | Title "" 39 | Date "" 40 | Rev "" 41 | Comp "" 42 | Comment1 "" 43 | Comment2 "" 44 | Comment3 "" 45 | Comment4 "" 46 | $EndDescr 47 | $Sheet 48 | S 1700 1900 1200 1200 49 | U 58AA0025 50 | F0 "Control" 60 51 | F1 "Control.sch" 60 52 | F2 "RAMP_ADC" I R 2900 2750 60 53 | F3 "IF_ADC_P" I R 2900 2400 60 54 | F4 "RAMP_DAC" I R 2900 2950 60 55 | F5 "RF_ENABLE" I R 2900 2050 60 56 | F6 "IF_ADC_N" I R 2900 2300 60 57 | F7 "AGC_DAC" I R 2900 2850 60 58 | $EndSheet 59 | $Sheet 60 | S 1700 3400 1200 1000 61 | U 58AA00CB 62 | F0 "Analog" 60 63 | F1 "Analog.sch" 60 64 | F2 "RAMP_DAC" I R 2900 3500 60 65 | F3 "VCO_RAMP" I R 2900 4250 60 66 | F4 "ADC_RAMP" I R 2900 3700 60 67 | F5 "GAIN_CNTRL_DAC" I R 2900 3600 60 68 | F6 "IF_ADC_P" I R 2900 3800 60 69 | F7 "IF_ADC_N" I R 2900 3900 60 70 | F8 "IF+" I R 2900 4050 60 71 | F9 "IF-" I R 2900 4150 60 72 | $EndSheet 73 | $Sheet 74 | S 4300 1900 1200 1200 75 | U 58AA00E0 76 | F0 "RF" 60 77 | F1 "RF.sch" 60 78 | F2 "IF+" I L 4300 2000 60 79 | F3 "IF-" I L 4300 2100 60 80 | F4 "VCO_TUNE" I L 4300 2300 60 81 | F5 "VCO_EN" I L 4300 2400 60 82 | $EndSheet 83 | Wire Wire Line 84 | 2900 2950 3000 2950 85 | Wire Wire Line 86 | 3000 2950 3000 3500 87 | Wire Wire Line 88 | 3000 3500 2900 3500 89 | Wire Wire Line 90 | 2900 2850 3100 2850 91 | Wire Wire Line 92 | 3100 2850 3100 3600 93 | Wire Wire Line 94 | 3100 3600 2900 3600 95 | Wire Wire Line 96 | 2900 2750 3200 2750 97 | Wire Wire Line 98 | 3200 2750 3200 3700 99 | Wire Wire Line 100 | 3200 3700 2900 3700 101 | Wire Wire Line 102 | 2900 2400 3300 2400 103 | Wire Wire Line 104 | 3300 2400 3300 3800 105 | Wire Wire Line 106 | 3300 3800 2900 3800 107 | Wire Wire Line 108 | 2900 2300 3400 2300 109 | Wire Wire Line 110 | 3400 2300 3400 3900 111 | Wire Wire Line 112 | 3400 3900 2900 3900 113 | Wire Wire Line 114 | 2900 4050 3800 4050 115 | Wire Wire Line 116 | 3800 4050 3800 2000 117 | Wire Wire Line 118 | 3800 2000 4300 2000 119 | Wire Wire Line 120 | 2900 4150 3950 4150 121 | Wire Wire Line 122 | 3950 4150 3950 2100 123 | Wire Wire Line 124 | 3950 2100 4300 2100 125 | Wire Wire Line 126 | 2900 4250 4050 4250 127 | Wire Wire Line 128 | 4050 4250 4050 2300 129 | Wire Wire Line 130 | 4050 2300 4300 2300 131 | Wire Wire Line 132 | 4300 2400 3550 2400 133 | Wire Wire Line 134 | 3550 2400 3550 2050 135 | Wire Wire Line 136 | 3550 2050 2900 2050 137 | $EndSCHEMATC 138 | -------------------------------------------------------------------------------- /external-pa/tiny-pa-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.3 2 | #encoding utf-8 3 | # 4 | # +5V 5 | # 6 | DEF +5V #PWR 0 0 Y Y 1 F P 7 | F0 "#PWR" 0 -150 50 H I C CNN 8 | F1 "+5V" 0 140 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | DRAW 12 | P 2 0 1 0 -30 50 0 100 N 13 | P 2 0 1 0 0 0 0 100 N 14 | P 2 0 1 0 0 100 30 50 N 15 | X +5V 1 0 0 0 U 50 50 1 1 W N 16 | ENDDRAW 17 | ENDDEF 18 | # 19 | # ALM-31222 20 | # 21 | DEF ALM-31222 U 0 40 Y Y 1 F N 22 | F0 "U" -350 1000 60 H V C CNN 23 | F1 "ALM-31222" -150 -900 60 H V C CNN 24 | F2 "" 200 -850 60 H I C CNN 25 | F3 "" 200 -850 60 H I C CNN 26 | $FPLIST 27 | 22-MCOB 28 | $ENDFPLIST 29 | DRAW 30 | S -400 850 400 -850 0 1 0 N 31 | X GND 1 -600 750 200 R 50 50 1 1 W 32 | X NC 2 600 -650 200 L 50 50 1 1 N 33 | X GND 3 -600 650 200 R 50 50 1 1 W 34 | X GND 4 -600 550 200 R 50 50 1 1 W 35 | X RF_IN 5 600 750 200 L 50 50 1 1 I 36 | X GND 6 -600 450 200 R 50 50 1 1 W 37 | X GND 7 -600 350 200 R 50 50 1 1 W 38 | X NC 8 600 -750 200 L 50 50 1 1 N 39 | X GND 9 -600 250 200 R 50 50 1 1 W 40 | X VDD2 10 600 -150 200 L 50 50 1 1 W 41 | X GND 20 -600 -550 200 R 50 50 1 1 W 42 | X GND 11 -600 150 200 R 50 50 1 1 W 43 | X VCTRL 21 600 -350 200 L 50 50 1 1 I 44 | X GND 12 -600 50 200 R 50 50 1 1 W 45 | X GND 22 -600 -650 200 R 50 50 1 1 W 46 | X GND 13 -600 -50 200 R 50 50 1 1 W 47 | X GND 14 -600 -150 200 R 50 50 1 1 W 48 | X GND 15 -600 -250 200 R 50 50 1 1 W 49 | X RF_OUT 16 600 450 200 L 50 50 1 1 O 50 | X GND 17 -600 -350 200 R 50 50 1 1 W 51 | X GND 18 -600 -450 200 R 50 50 1 1 W 52 | X VDD1 19 600 50 200 L 50 50 1 1 W 53 | X GND EP -600 -750 200 R 50 50 1 1 W 54 | ENDDRAW 55 | ENDDEF 56 | # 57 | # C 58 | # 59 | DEF C C 0 10 N Y 1 F N 60 | F0 "C" 25 100 50 H V L CNN 61 | F1 "C" 25 -100 50 H V L CNN 62 | F2 "" 38 -150 50 H I C CNN 63 | F3 "" 0 0 50 H I C CNN 64 | $FPLIST 65 | C_* 66 | $ENDFPLIST 67 | DRAW 68 | P 2 0 1 20 -80 -30 80 -30 N 69 | P 2 0 1 20 -80 30 80 30 N 70 | X ~ 1 0 150 110 D 50 50 1 1 P 71 | X ~ 2 0 -150 110 U 50 50 1 1 P 72 | ENDDRAW 73 | ENDDEF 74 | # 75 | # CONN_01X02 76 | # 77 | DEF CONN_01X02 J 0 40 Y N 1 F N 78 | F0 "J" 0 150 50 H V C CNN 79 | F1 "CONN_01X02" 100 0 50 V V C CNN 80 | F2 "" 0 0 50 H I C CNN 81 | F3 "" 0 0 50 H I C CNN 82 | $FPLIST 83 | Pin_Header_Straight_1X* 84 | Pin_Header_Angled_1X* 85 | Socket_Strip_Straight_1X* 86 | Socket_Strip_Angled_1X* 87 | $ENDFPLIST 88 | DRAW 89 | S -50 -45 10 -55 0 1 0 N 90 | S -50 55 10 45 0 1 0 N 91 | S -50 100 50 -100 0 1 0 N 92 | X P1 1 -200 50 150 R 50 50 1 1 P 93 | X P2 2 -200 -50 150 R 50 50 1 1 P 94 | ENDDRAW 95 | ENDDEF 96 | # 97 | # GND 98 | # 99 | DEF GND #PWR 0 0 Y Y 1 F P 100 | F0 "#PWR" 0 -250 50 H I C CNN 101 | F1 "GND" 0 -150 50 H V C CNN 102 | F2 "" 0 0 50 H I C CNN 103 | F3 "" 0 0 50 H I C CNN 104 | DRAW 105 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 106 | X GND 1 0 0 0 D 50 50 1 1 W N 107 | ENDDRAW 108 | ENDDEF 109 | # 110 | # R 111 | # 112 | DEF R R 0 0 N Y 1 F N 113 | F0 "R" 80 0 50 V V C CNN 114 | F1 "R" 0 0 50 V V C CNN 115 | F2 "" -70 0 50 V I C CNN 116 | F3 "" 0 0 50 H I C CNN 117 | $FPLIST 118 | R_* 119 | R_* 120 | $ENDFPLIST 121 | DRAW 122 | S -40 -100 40 100 0 1 10 N 123 | X ~ 1 0 150 50 D 50 50 1 1 P 124 | X ~ 2 0 -150 50 U 50 50 1 1 P 125 | ENDDRAW 126 | ENDDEF 127 | # 128 | #End Library 129 | -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_req.h 4 | * @author MCD Application Team 5 | * @version V2.4.2 6 | * @date 11-December-2015 7 | * @brief Header file for the usbd_req.c file 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2015 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __USB_REQUEST_H 30 | #define __USB_REQUEST_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | /* Includes ------------------------------------------------------------------*/ 37 | #include "usbd_def.h" 38 | 39 | 40 | /** @addtogroup STM32_USB_DEVICE_LIBRARY 41 | * @{ 42 | */ 43 | 44 | /** @defgroup USBD_REQ 45 | * @brief header file for the usbd_req.c file 46 | * @{ 47 | */ 48 | 49 | /** @defgroup USBD_REQ_Exported_Defines 50 | * @{ 51 | */ 52 | /** 53 | * @} 54 | */ 55 | 56 | 57 | /** @defgroup USBD_REQ_Exported_Types 58 | * @{ 59 | */ 60 | /** 61 | * @} 62 | */ 63 | 64 | 65 | 66 | /** @defgroup USBD_REQ_Exported_Macros 67 | * @{ 68 | */ 69 | /** 70 | * @} 71 | */ 72 | 73 | /** @defgroup USBD_REQ_Exported_Variables 74 | * @{ 75 | */ 76 | /** 77 | * @} 78 | */ 79 | 80 | /** @defgroup USBD_REQ_Exported_FunctionsPrototype 81 | * @{ 82 | */ 83 | 84 | USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 85 | USBD_StatusTypeDef USBD_StdItfReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 86 | USBD_StatusTypeDef USBD_StdEPReq (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 87 | 88 | 89 | void USBD_CtlError (USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 90 | 91 | void USBD_ParseSetupRequest (USBD_SetupReqTypedef *req, uint8_t *pdata); 92 | 93 | void USBD_GetString (uint8_t *desc, uint8_t *unicode, uint16_t *len); 94 | /** 95 | * @} 96 | */ 97 | 98 | #ifdef __cplusplus 99 | } 100 | #endif 101 | 102 | #endif /* __USB_REQUEST_H */ 103 | 104 | /** 105 | * @} 106 | */ 107 | 108 | /** 109 | * @} 110 | */ 111 | 112 | 113 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 114 | -------------------------------------------------------------------------------- /firmware/Inc/stm32l4xx_it.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_it.h 4 | * @brief This file contains the headers of the interrupt handlers. 5 | ****************************************************************************** 6 | * 7 | * COPYRIGHT(c) 2017 STMicroelectronics 8 | * 9 | * Redistribution and use in source and binary forms, with or without modification, 10 | * are permitted provided that the following conditions are met: 11 | * 1. Redistributions of source code must retain the above copyright notice, 12 | * this list of conditions and the following disclaimer. 13 | * 2. Redistributions in binary form must reproduce the above copyright notice, 14 | * this list of conditions and the following disclaimer in the documentation 15 | * and/or other materials provided with the distribution. 16 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 17 | * may be used to endorse or promote products derived from this software 18 | * without specific prior written permission. 19 | * 20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | * 31 | ****************************************************************************** 32 | */ 33 | 34 | /* Define to prevent recursive inclusion -------------------------------------*/ 35 | #ifndef __STM32L4xx_IT_H 36 | #define __STM32L4xx_IT_H 37 | 38 | #ifdef __cplusplus 39 | extern "C" { 40 | #endif 41 | 42 | /* Includes ------------------------------------------------------------------*/ 43 | /* Exported types ------------------------------------------------------------*/ 44 | /* Exported constants --------------------------------------------------------*/ 45 | /* Exported macro ------------------------------------------------------------*/ 46 | /* Exported functions ------------------------------------------------------- */ 47 | 48 | void NMI_Handler(void); 49 | void HardFault_Handler(void); 50 | void MemManage_Handler(void); 51 | void BusFault_Handler(void); 52 | void UsageFault_Handler(void); 53 | void SVC_Handler(void); 54 | void DebugMon_Handler(void); 55 | void PendSV_Handler(void); 56 | void SysTick_Handler(void); 57 | void DMA1_Channel1_IRQHandler(void); 58 | void DMA1_Channel4_IRQHandler(void); 59 | void USB_IRQHandler(void); 60 | 61 | 62 | extern volatile uint16_t adc_buffer[2048]; 63 | #ifdef __cplusplus 64 | } 65 | #endif 66 | 67 | #endif /* __STM32L4xx_IT_H */ 68 | 69 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 70 | -------------------------------------------------------------------------------- /firmware/Inc/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : main.h 4 | * Description : This file contains the common defines of the application 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2017 STMicroelectronics International N.V. 8 | * All rights reserved. 9 | * 10 | * Redistribution and use in source and binary forms, with or without 11 | * modification, are permitted, provided that the following conditions are met: 12 | * 13 | * 1. Redistribution of source code must retain the above copyright notice, 14 | * this list of conditions and the following disclaimer. 15 | * 2. Redistributions in binary form must reproduce the above copyright notice, 16 | * this list of conditions and the following disclaimer in the documentation 17 | * and/or other materials provided with the distribution. 18 | * 3. Neither the name of STMicroelectronics nor the names of other 19 | * contributors to this software may be used to endorse or promote products 20 | * derived from this software without specific written permission. 21 | * 4. This software, including modifications and/or derivative works of this 22 | * software, must execute solely and exclusively on microcontroller or 23 | * microprocessor devices manufactured by or for STMicroelectronics. 24 | * 5. Redistribution and use of this software other than as permitted under 25 | * this license is void and will automatically terminate your rights under 26 | * this license. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 29 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 30 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 31 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 32 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 33 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 34 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 35 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 36 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 37 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 38 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 39 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | * 41 | ****************************************************************************** 42 | */ 43 | /* Define to prevent recursive inclusion -------------------------------------*/ 44 | #ifndef __MAIN_H 45 | #define __MAIN_H 46 | /* Includes ------------------------------------------------------------------*/ 47 | 48 | /* USER CODE BEGIN Includes */ 49 | 50 | /* USER CODE END Includes */ 51 | 52 | /* Private define ------------------------------------------------------------*/ 53 | 54 | /* USER CODE BEGIN Private defines */ 55 | 56 | /* USER CODE END Private defines */ 57 | 58 | /** 59 | * @} 60 | */ 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | #endif /* __MAIN_H */ 67 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 68 | -------------------------------------------------------------------------------- /firmware/Inc/usb_device.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : USB_DEVICE 4 | * @version : v2.0_Cube 5 | * @brief : Header for usb_device file. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | /* Define to prevent recursive inclusion -------------------------------------*/ 45 | #ifndef __usb_device_H 46 | #define __usb_device_H 47 | #ifdef __cplusplus 48 | extern "C" { 49 | #endif 50 | 51 | /* Includes ------------------------------------------------------------------*/ 52 | #include "stm32l4xx.h" 53 | #include "stm32l4xx_hal.h" 54 | #include "usbd_def.h" 55 | 56 | extern USBD_HandleTypeDef hUsbDeviceFS; 57 | 58 | /* USB_Device init function */ 59 | void MX_USB_DEVICE_Init(void); 60 | 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | #endif /*__usb_device_H */ 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 75 | -------------------------------------------------------------------------------- /external-pa-gerbers/tiny-pa.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ;DRILL file {KiCad 4.0.6-e0-6349~53~ubuntu14.04.1} date Thu Apr 13 00:44:54 2017 3 | ;FORMAT={-:-/ absolute / inch / decimal} 4 | FMAT,2 5 | INCH,TZ 6 | T1C0.010 7 | T2C0.039 8 | % 9 | G90 10 | G05 11 | M72 12 | T1 13 | X5.1575Y-3.2815 14 | X5.1575Y-3.3858 15 | X5.1575Y-3.4528 16 | X5.1585Y-3.1939 17 | X5.1585Y-3.2362 18 | X5.1585Y-3.3386 19 | X5.1594Y-3.5561 20 | X5.1604Y-3.6683 21 | X5.1604Y-3.7953 22 | X5.1604Y-3.8406 23 | X5.1604Y-3.8927 24 | X5.186Y-3.686 25 | X5.1949Y-3.4528 26 | X5.2067Y-3.1939 27 | X5.2106Y-3.5581 28 | X5.2116Y-3.7943 29 | X5.2126Y-3.8917 30 | X5.2224Y-3.6703 31 | X5.2362Y-3.4528 32 | X5.251Y-3.7933 33 | X5.2549Y-3.5591 34 | X5.2697Y-3.6614 35 | X5.2717Y-3.8917 36 | X5.2805Y-3.4508 37 | X5.2884Y-3.7923 38 | X5.2943Y-3.686 39 | X5.3061Y-3.561 40 | X5.31Y-3.6575 41 | X5.3199Y-3.4518 42 | X5.3219Y-3.7746 43 | X5.3238Y-3.7077 44 | X5.3238Y-3.7392 45 | X5.3248Y-3.4852 46 | X5.3258Y-3.8917 47 | X5.3268Y-3.5364 48 | X5.3317Y-3.5738 49 | X5.3632Y-3.6585 50 | X5.3858Y-3.5758 51 | X5.3858Y-3.8917 52 | X5.4163Y-3.6594 53 | X5.439Y-3.5758 54 | X5.4557Y-3.8917 55 | X5.4626Y-3.1841 56 | X5.4656Y-3.6644 57 | X5.4931Y-3.5758 58 | X5.5138Y-3.8927 59 | X5.5256Y-3.8189 60 | X5.5344Y-3.5335 61 | X5.5354Y-3.186 62 | X5.5354Y-3.6663 63 | X5.5413Y-3.5837 64 | X5.565Y-3.3071 65 | X5.5807Y-3.5 66 | X5.5807Y-3.6654 67 | X5.5846Y-3.8927 68 | X5.5886Y-3.185 69 | X5.6033Y-3.3858 70 | X5.6033Y-3.4252 71 | X5.6083Y-3.4744 72 | X5.6083Y-3.6909 73 | X5.6102Y-3.5699 74 | X5.6102Y-3.5955 75 | X5.6407Y-3.185 76 | X5.6457Y-3.4744 77 | X5.6457Y-3.6909 78 | X5.6565Y-3.8189 79 | X5.6585Y-3.8927 80 | X5.6624Y-3.5492 81 | X5.6624Y-3.6152 82 | X5.6634Y-3.5807 83 | X5.6713Y-3.4055 84 | X5.6772Y-3.4616 85 | X5.6919Y-3.186 86 | X5.7057Y-3.8484 87 | X5.7067Y-3.7402 88 | X5.7067Y-3.7795 89 | X5.7087Y-3.4754 90 | X5.7087Y-3.5827 91 | X5.7087Y-3.6909 92 | X5.7096Y-3.5492 93 | X5.7096Y-3.6161 94 | X5.7215Y-3.3858 95 | X5.7215Y-3.4252 96 | X5.7402Y-3.6949 97 | X5.7461Y-3.4675 98 | X5.747Y-3.5482 99 | X5.748Y-3.3632 100 | X5.749Y-3.5827 101 | X5.749Y-3.8927 102 | X5.751Y-3.6152 103 | X5.7608Y-3.186 104 | X5.7717Y-3.4754 105 | X5.7717Y-3.6909 106 | X5.8071Y-3.5699 107 | X5.8071Y-3.5955 108 | X5.8091Y-3.4754 109 | X5.8091Y-3.6909 110 | X5.8091Y-3.7402 111 | X5.8091Y-3.7795 112 | X5.814Y-3.186 113 | X5.814Y-3.3858 114 | X5.814Y-3.4252 115 | X5.8189Y-3.8917 116 | X5.8366Y-3.5 117 | X5.8366Y-3.6654 118 | X5.8543Y-3.8484 119 | X5.8573Y-3.5846 120 | X5.8711Y-3.8917 121 | X5.876Y-3.186 122 | X5.877Y-3.4882 123 | X5.8898Y-3.5846 124 | X5.9242Y-3.6132 125 | X5.935Y-3.186 126 | X5.936Y-3.8917 127 | X5.94Y-3.4931 128 | X5.9695Y-3.6575 129 | X5.9843Y-3.186 130 | X5.9852Y-3.5335 131 | X6.0039Y-3.8917 132 | X6.0335Y-3.186 133 | X6.0463Y-3.5738 134 | X6.0512Y-3.6713 135 | X6.0846Y-3.8917 136 | X6.0915Y-3.5295 137 | X6.0925Y-3.186 138 | X6.0935Y-3.4764 139 | X6.0935Y-3.686 140 | X6.0955Y-3.748 141 | X6.0965Y-3.7894 142 | X6.1102Y-3.56 143 | X6.1201Y-3.4459 144 | X6.1358Y-3.6713 145 | X6.1457Y-3.7943 146 | X6.1467Y-3.8917 147 | X6.1506Y-3.186 148 | X6.1516Y-3.56 149 | X6.1624Y-3.6821 150 | X6.1654Y-3.4459 151 | X6.1811Y-3.7923 152 | X6.2018Y-3.186 153 | X6.2018Y-3.5591 154 | X6.2067Y-3.8927 155 | X6.2096Y-3.4449 156 | X6.2116Y-3.6831 157 | X6.2185Y-3.7923 158 | X6.252Y-3.561 159 | X6.253Y-3.4459 160 | X6.2559Y-3.6801 161 | X6.2569Y-3.186 162 | X6.2569Y-3.2313 163 | X6.2569Y-3.2825 164 | X6.2569Y-3.7933 165 | X6.2579Y-3.3455 166 | X6.2579Y-3.4045 167 | X6.2579Y-3.8533 168 | X6.2579Y-3.8937 169 | T2 170 | X5.2839Y-3.2185 171 | X5.3839Y-3.2185 172 | T0 173 | M30 174 | -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_ioreq.h 4 | * @author MCD Application Team 5 | * @version V2.4.2 6 | * @date 11-December-2015 7 | * @brief Header file for the usbd_ioreq.c file 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2015 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __USBD_IOREQ_H 30 | #define __USBD_IOREQ_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | /* Includes ------------------------------------------------------------------*/ 37 | #include "usbd_def.h" 38 | #include "usbd_core.h" 39 | 40 | /** @addtogroup STM32_USB_DEVICE_LIBRARY 41 | * @{ 42 | */ 43 | 44 | /** @defgroup USBD_IOREQ 45 | * @brief header file for the usbd_ioreq.c file 46 | * @{ 47 | */ 48 | 49 | /** @defgroup USBD_IOREQ_Exported_Defines 50 | * @{ 51 | */ 52 | /** 53 | * @} 54 | */ 55 | 56 | 57 | /** @defgroup USBD_IOREQ_Exported_Types 58 | * @{ 59 | */ 60 | 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | 67 | 68 | /** @defgroup USBD_IOREQ_Exported_Macros 69 | * @{ 70 | */ 71 | 72 | /** 73 | * @} 74 | */ 75 | 76 | /** @defgroup USBD_IOREQ_Exported_Variables 77 | * @{ 78 | */ 79 | 80 | /** 81 | * @} 82 | */ 83 | 84 | /** @defgroup USBD_IOREQ_Exported_FunctionsPrototype 85 | * @{ 86 | */ 87 | 88 | USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, 89 | uint8_t *buf, 90 | uint16_t len); 91 | 92 | USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, 93 | uint8_t *pbuf, 94 | uint16_t len); 95 | 96 | USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, 97 | uint8_t *pbuf, 98 | uint16_t len); 99 | 100 | USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev, 101 | uint8_t *pbuf, 102 | uint16_t len); 103 | 104 | USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev); 105 | 106 | USBD_StatusTypeDef USBD_CtlReceiveStatus (USBD_HandleTypeDef *pdev); 107 | 108 | uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , 109 | uint8_t epnum); 110 | 111 | /** 112 | * @} 113 | */ 114 | 115 | #ifdef __cplusplus 116 | } 117 | #endif 118 | 119 | #endif /* __USBD_IOREQ_H */ 120 | 121 | /** 122 | * @} 123 | */ 124 | 125 | /** 126 | * @} 127 | */ 128 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 129 | -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Include/core_cmFunc.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file core_cmFunc.h 3 | * @brief CMSIS Cortex-M Core Function Access Header File 4 | * @version V4.30 5 | * @date 20. October 2015 6 | ******************************************************************************/ 7 | /* Copyright (c) 2009 - 2015 ARM LIMITED 8 | 9 | All rights reserved. 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name of ARM nor the names of its contributors may be used 18 | to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | * 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | ---------------------------------------------------------------------------*/ 33 | 34 | 35 | #if defined ( __ICCARM__ ) 36 | #pragma system_include /* treat file as system include file for MISRA check */ 37 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 38 | #pragma clang system_header /* treat file as system include file */ 39 | #endif 40 | 41 | #ifndef __CORE_CMFUNC_H 42 | #define __CORE_CMFUNC_H 43 | 44 | 45 | /* ########################### Core Function Access ########################### */ 46 | /** \ingroup CMSIS_Core_FunctionInterface 47 | \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions 48 | @{ 49 | */ 50 | 51 | /*------------------ RealView Compiler -----------------*/ 52 | #if defined ( __CC_ARM ) 53 | #include "cmsis_armcc.h" 54 | 55 | /*------------------ ARM Compiler V6 -------------------*/ 56 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 57 | #include "cmsis_armcc_V6.h" 58 | 59 | /*------------------ GNU Compiler ----------------------*/ 60 | #elif defined ( __GNUC__ ) 61 | #include "cmsis_gcc.h" 62 | 63 | /*------------------ ICC Compiler ----------------------*/ 64 | #elif defined ( __ICCARM__ ) 65 | #include 66 | 67 | /*------------------ TI CCS Compiler -------------------*/ 68 | #elif defined ( __TMS470__ ) 69 | #include 70 | 71 | /*------------------ TASKING Compiler ------------------*/ 72 | #elif defined ( __TASKING__ ) 73 | /* 74 | * The CMSIS functions have been implemented as intrinsics in the compiler. 75 | * Please use "carm -?i" to get an up to date list of all intrinsics, 76 | * Including the CMSIS ones. 77 | */ 78 | 79 | /*------------------ COSMIC Compiler -------------------*/ 80 | #elif defined ( __CSMC__ ) 81 | #include 82 | 83 | #endif 84 | 85 | /*@} end of CMSIS_Core_RegAccFunctions */ 86 | 87 | #endif /* __CORE_CMFUNC_H */ 88 | -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Include/core_cmInstr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file core_cmInstr.h 3 | * @brief CMSIS Cortex-M Core Instruction Access Header File 4 | * @version V4.30 5 | * @date 20. October 2015 6 | ******************************************************************************/ 7 | /* Copyright (c) 2009 - 2015 ARM LIMITED 8 | 9 | All rights reserved. 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name of ARM nor the names of its contributors may be used 18 | to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | * 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | ---------------------------------------------------------------------------*/ 33 | 34 | 35 | #if defined ( __ICCARM__ ) 36 | #pragma system_include /* treat file as system include file for MISRA check */ 37 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 38 | #pragma clang system_header /* treat file as system include file */ 39 | #endif 40 | 41 | #ifndef __CORE_CMINSTR_H 42 | #define __CORE_CMINSTR_H 43 | 44 | 45 | /* ########################## Core Instruction Access ######################### */ 46 | /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 47 | Access to dedicated instructions 48 | @{ 49 | */ 50 | 51 | /*------------------ RealView Compiler -----------------*/ 52 | #if defined ( __CC_ARM ) 53 | #include "cmsis_armcc.h" 54 | 55 | /*------------------ ARM Compiler V6 -------------------*/ 56 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 57 | #include "cmsis_armcc_V6.h" 58 | 59 | /*------------------ GNU Compiler ----------------------*/ 60 | #elif defined ( __GNUC__ ) 61 | #include "cmsis_gcc.h" 62 | 63 | /*------------------ ICC Compiler ----------------------*/ 64 | #elif defined ( __ICCARM__ ) 65 | #include 66 | 67 | /*------------------ TI CCS Compiler -------------------*/ 68 | #elif defined ( __TMS470__ ) 69 | #include 70 | 71 | /*------------------ TASKING Compiler ------------------*/ 72 | #elif defined ( __TASKING__ ) 73 | /* 74 | * The CMSIS functions have been implemented as intrinsics in the compiler. 75 | * Please use "carm -?i" to get an up to date list of all intrinsics, 76 | * Including the CMSIS ones. 77 | */ 78 | 79 | /*------------------ COSMIC Compiler -------------------*/ 80 | #elif defined ( __CSMC__ ) 81 | #include 82 | 83 | #endif 84 | 85 | /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ 86 | 87 | #endif /* __CORE_CMINSTR_H */ 88 | -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Include/core_cmSimd.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file core_cmSimd.h 3 | * @brief CMSIS Cortex-M SIMD Header File 4 | * @version V4.30 5 | * @date 20. October 2015 6 | ******************************************************************************/ 7 | /* Copyright (c) 2009 - 2015 ARM LIMITED 8 | 9 | All rights reserved. 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | - Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | - Neither the name of ARM nor the names of its contributors may be used 18 | to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | * 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | ---------------------------------------------------------------------------*/ 33 | 34 | 35 | #if defined ( __ICCARM__ ) 36 | #pragma system_include /* treat file as system include file for MISRA check */ 37 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 38 | #pragma clang system_header /* treat file as system include file */ 39 | #endif 40 | 41 | #ifndef __CORE_CMSIMD_H 42 | #define __CORE_CMSIMD_H 43 | 44 | #ifdef __cplusplus 45 | extern "C" { 46 | #endif 47 | 48 | 49 | /* ################### Compiler specific Intrinsics ########################### */ 50 | /** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics 51 | Access to dedicated SIMD instructions 52 | @{ 53 | */ 54 | 55 | /*------------------ RealView Compiler -----------------*/ 56 | #if defined ( __CC_ARM ) 57 | #include "cmsis_armcc.h" 58 | 59 | /*------------------ ARM Compiler V6 -------------------*/ 60 | #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 61 | #include "cmsis_armcc_V6.h" 62 | 63 | /*------------------ GNU Compiler ----------------------*/ 64 | #elif defined ( __GNUC__ ) 65 | #include "cmsis_gcc.h" 66 | 67 | /*------------------ ICC Compiler ----------------------*/ 68 | #elif defined ( __ICCARM__ ) 69 | #include 70 | 71 | /*------------------ TI CCS Compiler -------------------*/ 72 | #elif defined ( __TMS470__ ) 73 | #include 74 | 75 | /*------------------ TASKING Compiler ------------------*/ 76 | #elif defined ( __TASKING__ ) 77 | /* 78 | * The CMSIS functions have been implemented as intrinsics in the compiler. 79 | * Please use "carm -?i" to get an up to date list of all intrinsics, 80 | * Including the CMSIS ones. 81 | */ 82 | 83 | /*------------------ COSMIC Compiler -------------------*/ 84 | #elif defined ( __CSMC__ ) 85 | #include 86 | 87 | #endif 88 | 89 | /*@} end of group CMSIS_SIMD_intrinsics */ 90 | 91 | 92 | #ifdef __cplusplus 93 | } 94 | #endif 95 | 96 | #endif /* __CORE_CMSIMD_H */ 97 | -------------------------------------------------------------------------------- /firmware/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_flash_ex.h 4 | * @author MCD Application Team 5 | * @version V1.7.0 6 | * @date 17-February-2017 7 | * @brief Header file of FLASH HAL Extended module. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2017 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ 39 | #ifndef __STM32L4xx_HAL_FLASH_EX_H 40 | #define __STM32L4xx_HAL_FLASH_EX_H 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | /* Includes ------------------------------------------------------------------*/ 47 | #include "stm32l4xx_hal_def.h" 48 | 49 | /** @addtogroup STM32L4xx_HAL_Driver 50 | * @{ 51 | */ 52 | 53 | /** @addtogroup FLASHEx 54 | * @{ 55 | */ 56 | 57 | /* Exported types ------------------------------------------------------------*/ 58 | 59 | /* Exported constants --------------------------------------------------------*/ 60 | 61 | /* Exported macro ------------------------------------------------------------*/ 62 | 63 | /* Exported functions --------------------------------------------------------*/ 64 | /** @addtogroup FLASHEx_Exported_Functions 65 | * @{ 66 | */ 67 | 68 | /* Extended Program operation functions *************************************/ 69 | /** @addtogroup FLASHEx_Exported_Functions_Group1 70 | * @{ 71 | */ 72 | HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError); 73 | HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit); 74 | HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit); 75 | void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit); 76 | /** 77 | * @} 78 | */ 79 | 80 | /** 81 | * @} 82 | */ 83 | 84 | /** 85 | * @} 86 | */ 87 | 88 | /** 89 | * @} 90 | */ 91 | 92 | #ifdef __cplusplus 93 | } 94 | #endif 95 | 96 | #endif /* __STM32L4xx_HAL_FLASH_EX_H */ 97 | 98 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 99 | -------------------------------------------------------------------------------- /firmware/Inc/usbd_desc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : usbd_desc.h 4 | * @version : v2.0_Cube 5 | * @brief : Header for usbd_desc file. 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | 45 | /* Define to prevent recursive inclusion -------------------------------------*/ 46 | #ifndef __USBD_DESC__H__ 47 | #define __USBD_DESC__H__ 48 | 49 | #ifdef __cplusplus 50 | extern "C" { 51 | #endif 52 | /* Includes ------------------------------------------------------------------*/ 53 | #include "usbd_def.h" 54 | 55 | /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY 56 | * @{ 57 | */ 58 | 59 | /** @defgroup USB_DESC 60 | * @brief general defines for the usb device library file 61 | * @{ 62 | */ 63 | 64 | /** @defgroup USB_DESC_Exported_Defines 65 | * @{ 66 | */ 67 | 68 | /** 69 | * @} 70 | */ 71 | 72 | /** @defgroup USBD_DESC_Exported_TypesDefinitions 73 | * @{ 74 | */ 75 | /** 76 | * @} 77 | */ 78 | 79 | /** @defgroup USBD_DESC_Exported_Macros 80 | * @{ 81 | */ 82 | /** 83 | * @} 84 | */ 85 | 86 | /** @defgroup USBD_DESC_Exported_Variables 87 | * @{ 88 | */ 89 | extern USBD_DescriptorsTypeDef FS_Desc; 90 | /** 91 | * @} 92 | */ 93 | 94 | /** @defgroup USBD_DESC_Exported_FunctionsPrototype 95 | * @{ 96 | */ 97 | 98 | /** 99 | * @} 100 | */ 101 | #ifdef __cplusplus 102 | } 103 | #endif 104 | 105 | #endif /* __USBD_DESC_H */ 106 | 107 | /** 108 | * @} 109 | */ 110 | 111 | /** 112 | * @} 113 | */ 114 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 115 | -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Include/arm_const_structs.h: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved. 3 | * 4 | * $Date: 19. March 2015 5 | * $Revision: V.1.4.5 6 | * 7 | * Project: CMSIS DSP Library 8 | * Title: arm_const_structs.h 9 | * 10 | * Description: This file has constant structs that are initialized for 11 | * user convenience. For example, some can be given as 12 | * arguments to the arm_cfft_f32() function. 13 | * 14 | * Target Processor: Cortex-M4/Cortex-M3 15 | * 16 | * Redistribution and use in source and binary forms, with or without 17 | * modification, are permitted provided that the following conditions 18 | * are met: 19 | * - Redistributions of source code must retain the above copyright 20 | * notice, this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in 23 | * the documentation and/or other materials provided with the 24 | * distribution. 25 | * - Neither the name of ARM LIMITED nor the names of its contributors 26 | * may be used to endorse or promote products derived from this 27 | * software without specific prior written permission. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 30 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 32 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 33 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 34 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 35 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 36 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 37 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 38 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 39 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 40 | * POSSIBILITY OF SUCH DAMAGE. 41 | * -------------------------------------------------------------------- */ 42 | 43 | #ifndef _ARM_CONST_STRUCTS_H 44 | #define _ARM_CONST_STRUCTS_H 45 | 46 | #include "arm_math.h" 47 | #include "arm_common_tables.h" 48 | 49 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len16; 50 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len32; 51 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len64; 52 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len128; 53 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len256; 54 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len512; 55 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len1024; 56 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len2048; 57 | extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len4096; 58 | 59 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len16; 60 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len32; 61 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len64; 62 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len128; 63 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len256; 64 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len512; 65 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len1024; 66 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len2048; 67 | extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len4096; 68 | 69 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len16; 70 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len32; 71 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len64; 72 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len128; 73 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len256; 74 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len512; 75 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len1024; 76 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len2048; 77 | extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len4096; 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file system_stm32l4xx.h 4 | * @author MCD Application Team 5 | * @version V1.3.0 6 | * @date 17-February-2017 7 | * @brief CMSIS Cortex-M4 Device System Source File for STM32L4xx devices. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2017 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /** @addtogroup CMSIS 39 | * @{ 40 | */ 41 | 42 | /** @addtogroup stm32l4xx_system 43 | * @{ 44 | */ 45 | 46 | /** 47 | * @brief Define to prevent recursive inclusion 48 | */ 49 | #ifndef __SYSTEM_STM32L4XX_H 50 | #define __SYSTEM_STM32L4XX_H 51 | 52 | #ifdef __cplusplus 53 | extern "C" { 54 | #endif 55 | 56 | /** @addtogroup STM32L4xx_System_Includes 57 | * @{ 58 | */ 59 | 60 | /** 61 | * @} 62 | */ 63 | 64 | 65 | /** @addtogroup STM32L4xx_System_Exported_Variables 66 | * @{ 67 | */ 68 | /* The SystemCoreClock variable is updated in three ways: 69 | 1) by calling CMSIS function SystemCoreClockUpdate() 70 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq() 71 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 72 | Note: If you use this function to configure the system clock; then there 73 | is no need to call the 2 first functions listed above, since SystemCoreClock 74 | variable is updated automatically. 75 | */ 76 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ 77 | 78 | extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */ 79 | extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */ 80 | extern const uint32_t MSIRangeTable[12]; /*!< MSI ranges table values */ 81 | 82 | /** 83 | * @} 84 | */ 85 | 86 | /** @addtogroup STM32L4xx_System_Exported_Constants 87 | * @{ 88 | */ 89 | 90 | /** 91 | * @} 92 | */ 93 | 94 | /** @addtogroup STM32L4xx_System_Exported_Macros 95 | * @{ 96 | */ 97 | 98 | /** 99 | * @} 100 | */ 101 | 102 | /** @addtogroup STM32L4xx_System_Exported_Functions 103 | * @{ 104 | */ 105 | 106 | extern void SystemInit(void); 107 | extern void SystemCoreClockUpdate(void); 108 | /** 109 | * @} 110 | */ 111 | 112 | #ifdef __cplusplus 113 | } 114 | #endif 115 | 116 | #endif /*__SYSTEM_STM32L4XX_H */ 117 | 118 | /** 119 | * @} 120 | */ 121 | 122 | /** 123 | * @} 124 | */ 125 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 126 | -------------------------------------------------------------------------------- /firmware/Inc/usbd_cdc_if.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : usbd_cdc_if.h 4 | * @brief : Header for usbd_cdc_if file. 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2017 STMicroelectronics International N.V. 8 | * All rights reserved. 9 | * 10 | * Redistribution and use in source and binary forms, with or without 11 | * modification, are permitted, provided that the following conditions are met: 12 | * 13 | * 1. Redistribution of source code must retain the above copyright notice, 14 | * this list of conditions and the following disclaimer. 15 | * 2. Redistributions in binary form must reproduce the above copyright notice, 16 | * this list of conditions and the following disclaimer in the documentation 17 | * and/or other materials provided with the distribution. 18 | * 3. Neither the name of STMicroelectronics nor the names of other 19 | * contributors to this software may be used to endorse or promote products 20 | * derived from this software without specific written permission. 21 | * 4. This software, including modifications and/or derivative works of this 22 | * software, must execute solely and exclusively on microcontroller or 23 | * microprocessor devices manufactured by or for STMicroelectronics. 24 | * 5. Redistribution and use of this software other than as permitted under 25 | * this license is void and will automatically terminate your rights under 26 | * this license. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 29 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 30 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 31 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 32 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 33 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 34 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 35 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 36 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 37 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 38 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 39 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | * 41 | ****************************************************************************** 42 | */ 43 | 44 | /* Define to prevent recursive inclusion -------------------------------------*/ 45 | #ifndef __USBD_CDC_IF_H 46 | #define __USBD_CDC_IF_H 47 | 48 | #ifdef __cplusplus 49 | extern "C" { 50 | #endif 51 | /* Includes ------------------------------------------------------------------*/ 52 | #include "usbd_cdc.h" 53 | /* USER CODE BEGIN INCLUDE */ 54 | /* USER CODE END INCLUDE */ 55 | 56 | /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY 57 | * @{ 58 | */ 59 | 60 | /** @defgroup USBD_CDC_IF 61 | * @brief header 62 | * @{ 63 | */ 64 | 65 | /** @defgroup USBD_CDC_IF_Exported_Defines 66 | * @{ 67 | */ 68 | /* USER CODE BEGIN EXPORTED_DEFINES */ 69 | /* USER CODE END EXPORTED_DEFINES */ 70 | 71 | /** 72 | * @} 73 | */ 74 | 75 | /** @defgroup USBD_CDC_IF_Exported_Types 76 | * @{ 77 | */ 78 | /* USER CODE BEGIN EXPORTED_TYPES */ 79 | /* USER CODE END EXPORTED_TYPES */ 80 | 81 | /** 82 | * @} 83 | */ 84 | 85 | /** @defgroup USBD_CDC_IF_Exported_Macros 86 | * @{ 87 | */ 88 | /* USER CODE BEGIN EXPORTED_MACRO */ 89 | /* USER CODE END EXPORTED_MACRO */ 90 | 91 | /** 92 | * @} 93 | */ 94 | 95 | /** @defgroup USBD_AUDIO_IF_Exported_Variables 96 | * @{ 97 | */ 98 | extern USBD_CDC_ItfTypeDef USBD_Interface_fops_FS; 99 | 100 | /* USER CODE BEGIN EXPORTED_VARIABLES */ 101 | /* USER CODE END EXPORTED_VARIABLES */ 102 | 103 | /** 104 | * @} 105 | */ 106 | 107 | /** @defgroup USBD_CDC_IF_Exported_FunctionsPrototype 108 | * @{ 109 | */ 110 | uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len); 111 | 112 | /* USER CODE BEGIN EXPORTED_FUNCTIONS */ 113 | /* USER CODE END EXPORTED_FUNCTIONS */ 114 | /** 115 | * @} 116 | */ 117 | 118 | /** 119 | * @} 120 | */ 121 | 122 | /** 123 | * @} 124 | */ 125 | 126 | #ifdef __cplusplus 127 | } 128 | #endif 129 | 130 | #endif /* __USBD_CDC_IF_H */ 131 | 132 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 133 | -------------------------------------------------------------------------------- /firmware/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_flash_ramfunc.h 4 | * @author MCD Application Team 5 | * @version V1.7.0 6 | * @date 17-February-2017 7 | * @brief Header file of FLASH RAMFUNC driver. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2017 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ 39 | #ifndef __STM32L4xx_FLASH_RAMFUNC_H 40 | #define __STM32L4xx_FLASH_RAMFUNC_H 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | /* Includes ------------------------------------------------------------------*/ 47 | #include "stm32l4xx_hal_def.h" 48 | 49 | /** @addtogroup STM32L4xx_HAL_Driver 50 | * @{ 51 | */ 52 | 53 | /** @addtogroup FLASH_RAMFUNC 54 | * @{ 55 | */ 56 | 57 | /* Exported types ------------------------------------------------------------*/ 58 | /* Exported macro ------------------------------------------------------------*/ 59 | /** 60 | * @brief __RAM_FUNC definition 61 | */ 62 | #if defined ( __CC_ARM ) 63 | /* ARM Compiler 64 | ------------ 65 | RAM functions are defined using the toolchain options. 66 | Functions that are executed in RAM should reside in a separate source module. 67 | Using the 'Options for File' dialog you can simply change the 'Code / Const' 68 | area of a module to a memory space in physical RAM. 69 | Available memory areas are declared in the 'Target' tab of the 'Options for Target' 70 | dialog. 71 | */ 72 | #define __RAM_FUNC HAL_StatusTypeDef 73 | 74 | #elif defined ( __ICCARM__ ) 75 | /* ICCARM Compiler 76 | --------------- 77 | RAM functions are defined using a specific toolchain keyword "__ramfunc". 78 | */ 79 | #define __RAM_FUNC __ramfunc HAL_StatusTypeDef 80 | 81 | #elif defined ( __GNUC__ ) 82 | /* GNU Compiler 83 | ------------ 84 | RAM functions are defined using a specific toolchain attribute 85 | "__attribute__((section(".RamFunc")))". 86 | */ 87 | #define __RAM_FUNC HAL_StatusTypeDef __attribute__((section(".RamFunc"))) 88 | 89 | #endif 90 | 91 | 92 | /* Exported functions --------------------------------------------------------*/ 93 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions 94 | * @{ 95 | */ 96 | 97 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1 98 | * @{ 99 | */ 100 | /* Peripheral Control functions ************************************************/ 101 | __RAM_FUNC HAL_FLASHEx_EnableRunPowerDown(void); 102 | __RAM_FUNC HAL_FLASHEx_DisableRunPowerDown(void); 103 | /** 104 | * @} 105 | */ 106 | 107 | /** 108 | * @} 109 | */ 110 | 111 | /** 112 | * @} 113 | */ 114 | 115 | /** 116 | * @} 117 | */ 118 | 119 | #ifdef __cplusplus 120 | } 121 | #endif 122 | 123 | #endif /* __STM32L4xx_FLASH_RAMFUNC_H */ 124 | 125 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 126 | -------------------------------------------------------------------------------- /firmware/Src/usb_device.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : USB_DEVICE 4 | * @version : v2.0_Cube 5 | * @brief : This file implements the USB Device 6 | ****************************************************************************** 7 | * 8 | * Copyright (c) 2017 STMicroelectronics International N.V. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without 12 | * modification, are permitted, provided that the following conditions are met: 13 | * 14 | * 1. Redistribution of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. Neither the name of STMicroelectronics nor the names of other 20 | * contributors to this software may be used to endorse or promote products 21 | * derived from this software without specific written permission. 22 | * 4. This software, including modifications and/or derivative works of this 23 | * software, must execute solely and exclusively on microcontroller or 24 | * microprocessor devices manufactured by or for STMicroelectronics. 25 | * 5. Redistribution and use of this software other than as permitted under 26 | * this license is void and will automatically terminate your rights under 27 | * this license. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 30 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 31 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 32 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 33 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 34 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 35 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 36 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 37 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | * 42 | ****************************************************************************** 43 | */ 44 | 45 | /* Includes ------------------------------------------------------------------*/ 46 | 47 | #include "usb_device.h" 48 | #include "usbd_core.h" 49 | #include "usbd_desc.h" 50 | #include "usbd_cdc.h" 51 | #include "usbd_cdc_if.h" 52 | 53 | /* Return USBD_OK if the Battery Charging Detection mode (BCD) is used, else USBD_FAIL */ 54 | extern USBD_StatusTypeDef USBD_LL_BatteryCharging(USBD_HandleTypeDef *pdev); 55 | /* USB Device Core handle declaration */ 56 | USBD_HandleTypeDef hUsbDeviceFS; 57 | 58 | /* init function */ 59 | void MX_USB_DEVICE_Init(void) 60 | { 61 | /* Init Device Library,Add Supported Class and Start the library*/ 62 | USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS); 63 | USBD_RegisterClass(&hUsbDeviceFS, &USBD_CDC); 64 | USBD_CDC_RegisterInterface(&hUsbDeviceFS, &USBD_Interface_fops_FS); 65 | /* Verify if the Battery Charging Detection mode (BCD) is used : */ 66 | /* If yes, the USB device is started in the HAL_PCDEx_BCD_Callback */ 67 | /* upon reception of PCD_BCD_DISCOVERY_COMPLETED message. */ 68 | /* If no, the USB device is started now. */ 69 | if (USBD_LL_BatteryCharging(&hUsbDeviceFS) != USBD_OK) { 70 | USBD_Start(&hUsbDeviceFS); 71 | } 72 | } 73 | 74 | /** 75 | * @brief HAL_PCDEx_BCD_Callback : Send BCD message to user layer 76 | * @param hpcd: PCD handle 77 | * @param msg: LPM message 78 | * @retval HAL status 79 | */ 80 | void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg) 81 | { 82 | USBD_HandleTypeDef usbdHandle = hUsbDeviceFS; 83 | /* USER CODE BEGIN 7 */ 84 | if (hpcd->battery_charging_active == ENABLE) 85 | { 86 | switch(msg) 87 | { 88 | case PCD_BCD_CONTACT_DETECTION: 89 | 90 | break; 91 | 92 | case PCD_BCD_STD_DOWNSTREAM_PORT: 93 | 94 | break; 95 | 96 | case PCD_BCD_CHARGING_DOWNSTREAM_PORT: 97 | 98 | break; 99 | 100 | case PCD_BCD_DEDICATED_CHARGING_PORT: 101 | 102 | break; 103 | 104 | case PCD_BCD_DISCOVERY_COMPLETED: 105 | USBD_Start(&usbdHandle); 106 | break; 107 | 108 | case PCD_BCD_ERROR: 109 | default: 110 | break; 111 | } 112 | } 113 | /* USER CODE END 7 */ 114 | } 115 | /** 116 | * @} 117 | */ 118 | 119 | /** 120 | * @} 121 | */ 122 | 123 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 124 | -------------------------------------------------------------------------------- /phased-array/pcb/power_splitter.bak: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:power 3 | LIBS:device 4 | LIBS:transistors 5 | LIBS:conn 6 | LIBS:linear 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:microcontrollers 14 | LIBS:dsp 15 | LIBS:microchip 16 | LIBS:analog_switches 17 | LIBS:motorola 18 | LIBS:texas 19 | LIBS:intel 20 | LIBS:audio 21 | LIBS:interface 22 | LIBS:digital-audio 23 | LIBS:philips 24 | LIBS:display 25 | LIBS:cypress 26 | LIBS:siliconi 27 | LIBS:opto 28 | LIBS:atmel 29 | LIBS:contrib 30 | LIBS:valves 31 | LIBS:wbraun_ic_lib 32 | EELAYER 25 0 33 | EELAYER END 34 | $Descr A4 11693 8268 35 | encoding utf-8 36 | Sheet 4 6 37 | Title "" 38 | Date "" 39 | Rev "" 40 | Comp "" 41 | Comment1 "" 42 | Comment2 "" 43 | Comment3 "" 44 | Comment4 "" 45 | $EndDescr 46 | $Comp 47 | L PD2328J U? 48 | U 1 1 58E46E79 49 | P 3300 2400 50 | F 0 "U?" H 3050 2750 60 0000 C CNN 51 | F 1 "PD2328J" H 3200 2050 60 0000 C CNN 52 | F 2 "" H 2750 2950 60 0001 C CNN 53 | F 3 "" H 2750 2950 60 0001 C CNN 54 | 1 3300 2400 55 | 1 0 0 -1 56 | $EndComp 57 | $Comp 58 | L PD2328J U? 59 | U 1 1 58E46F0C 60 | P 4800 3100 61 | F 0 "U?" H 4550 3450 60 0000 C CNN 62 | F 1 "PD2328J" H 4700 2750 60 0000 C CNN 63 | F 2 "" H 4250 3650 60 0001 C CNN 64 | F 3 "" H 4250 3650 60 0001 C CNN 65 | 1 4800 3100 66 | 1 0 0 -1 67 | $EndComp 68 | $Comp 69 | L PD2328J U? 70 | U 1 1 58E46F7F 71 | P 5000 1800 72 | F 0 "U?" H 4750 2150 60 0000 C CNN 73 | F 1 "PD2328J" H 4900 1450 60 0000 C CNN 74 | F 2 "" H 4450 2350 60 0001 C CNN 75 | F 3 "" H 4450 2350 60 0001 C CNN 76 | 1 5000 1800 77 | 1 0 0 -1 78 | $EndComp 79 | $Comp 80 | L R R? 81 | U 1 1 58E46FCA 82 | P 4000 2400 83 | F 0 "R?" V 4080 2400 50 0000 C CNN 84 | F 1 "100" V 4000 2400 50 0000 C CNN 85 | F 2 "" V 3930 2400 50 0001 C CNN 86 | F 3 "" H 4000 2400 50 0001 C CNN 87 | 1 4000 2400 88 | 1 0 0 -1 89 | $EndComp 90 | $Comp 91 | L R R? 92 | U 1 1 58E47053 93 | P 5700 1800 94 | F 0 "R?" V 5780 1800 50 0000 C CNN 95 | F 1 "100" V 5700 1800 50 0000 C CNN 96 | F 2 "" V 5630 1800 50 0001 C CNN 97 | F 3 "" H 5700 1800 50 0001 C CNN 98 | 1 5700 1800 99 | 1 0 0 -1 100 | $EndComp 101 | $Comp 102 | L R R? 103 | U 1 1 58E470C8 104 | P 5500 3100 105 | F 0 "R?" V 5580 3100 50 0000 C CNN 106 | F 1 "100" V 5500 3100 50 0000 C CNN 107 | F 2 "" V 5430 3100 50 0001 C CNN 108 | F 3 "" H 5500 3100 50 0001 C CNN 109 | 1 5500 3100 110 | 1 0 0 -1 111 | $EndComp 112 | Wire Wire Line 113 | 3800 2200 4000 2200 114 | Wire Wire Line 115 | 4000 1600 4000 2250 116 | Wire Wire Line 117 | 3800 2600 4000 2600 118 | Wire Wire Line 119 | 4000 2550 4000 2900 120 | Wire Wire Line 121 | 5500 1600 5900 1600 122 | Wire Wire Line 123 | 5700 1600 5700 1650 124 | Wire Wire Line 125 | 5500 2000 5900 2000 126 | Wire Wire Line 127 | 5700 2000 5700 1950 128 | Wire Wire Line 129 | 5300 2900 5700 2900 130 | Wire Wire Line 131 | 5500 2900 5500 2950 132 | Wire Wire Line 133 | 5300 3300 5700 3300 134 | Wire Wire Line 135 | 5500 3300 5500 3250 136 | Wire Wire Line 137 | 4000 1600 4500 1600 138 | Connection ~ 4000 2200 139 | Wire Wire Line 140 | 4000 2900 4300 2900 141 | Connection ~ 4000 2600 142 | $Comp 143 | L GND #PWR? 144 | U 1 1 58E4719C 145 | P 4400 2100 146 | F 0 "#PWR?" H 4400 1850 50 0001 C CNN 147 | F 1 "GND" H 4400 1950 50 0000 C CNN 148 | F 2 "" H 4400 2100 50 0001 C CNN 149 | F 3 "" H 4400 2100 50 0001 C CNN 150 | 1 4400 2100 151 | 1 0 0 -1 152 | $EndComp 153 | $Comp 154 | L GND #PWR? 155 | U 1 1 58E471BC 156 | P 4200 3400 157 | F 0 "#PWR?" H 4200 3150 50 0001 C CNN 158 | F 1 "GND" H 4200 3250 50 0000 C CNN 159 | F 2 "" H 4200 3400 50 0001 C CNN 160 | F 3 "" H 4200 3400 50 0001 C CNN 161 | 1 4200 3400 162 | 1 0 0 -1 163 | $EndComp 164 | $Comp 165 | L GND #PWR? 166 | U 1 1 58E471DC 167 | P 2700 2700 168 | F 0 "#PWR?" H 2700 2450 50 0001 C CNN 169 | F 1 "GND" H 2700 2550 50 0000 C CNN 170 | F 2 "" H 2700 2700 50 0001 C CNN 171 | F 3 "" H 2700 2700 50 0001 C CNN 172 | 1 2700 2700 173 | 1 0 0 -1 174 | $EndComp 175 | Wire Wire Line 176 | 2800 2400 2700 2400 177 | Wire Wire Line 178 | 2700 2400 2700 2700 179 | Wire Wire Line 180 | 2800 2500 2700 2500 181 | Connection ~ 2700 2500 182 | Wire Wire Line 183 | 2800 2600 2700 2600 184 | Connection ~ 2700 2600 185 | Wire Wire Line 186 | 4500 1800 4400 1800 187 | Wire Wire Line 188 | 4400 1800 4400 2100 189 | Wire Wire Line 190 | 4500 1900 4400 1900 191 | Connection ~ 4400 1900 192 | Wire Wire Line 193 | 4500 2000 4400 2000 194 | Connection ~ 4400 2000 195 | Wire Wire Line 196 | 4300 3100 4200 3100 197 | Wire Wire Line 198 | 4200 3100 4200 3400 199 | Wire Wire Line 200 | 4300 3200 4200 3200 201 | Connection ~ 4200 3200 202 | Wire Wire Line 203 | 4300 3300 4200 3300 204 | Connection ~ 4200 3300 205 | Wire Wire Line 206 | 2800 2200 2600 2200 207 | Connection ~ 5700 1600 208 | Connection ~ 5700 2000 209 | Connection ~ 5500 2900 210 | Connection ~ 5500 3300 211 | Text HLabel 5900 1600 2 60 Input ~ 0 212 | RF1 213 | Text HLabel 5900 2000 2 60 Input ~ 0 214 | RF2 215 | Text HLabel 5700 2900 2 60 Input ~ 0 216 | RF3 217 | Text HLabel 5700 3300 2 60 Input ~ 0 218 | RF4 219 | Text HLabel 2600 2200 0 60 Input ~ 0 220 | RF_IN 221 | $EndSCHEMATC 222 | -------------------------------------------------------------------------------- /firmware/flash.ld: -------------------------------------------------------------------------------- 1 | /* 2 | ***************************************************************************** 3 | ** 4 | 5 | ** File : stm32_flash.ld 6 | ** 7 | ** Abstract : Linker script for STM32L432KB Device with 8 | ** 128KByte FLASH, 48KByte RAM 9 | ** 10 | ** Set heap size, stack size and stack location according 11 | ** to application requirements. 12 | ** 13 | ** Set memory bank area and size if external memory is used. 14 | ** 15 | ** Target : STMicroelectronics STM32 16 | ** 17 | ** Environment : Atollic TrueSTUDIO(R) 18 | ** 19 | ** Distribution: The file is distributed as is, without any warranty 20 | ** of any kind. 21 | ** 22 | ** (c)Copyright Atollic AB. 23 | ** You may use this file as-is or modify it according to the needs of your 24 | ** project. This file may only be built (assembled or compiled and linked) 25 | ** using the Atollic TrueSTUDIO(R) product. The use of this file together 26 | ** with other tools than Atollic TrueSTUDIO(R) is not permitted. 27 | ** 28 | ***************************************************************************** 29 | */ 30 | 31 | /* Entry Point */ 32 | ENTRY(Reset_Handler) 33 | 34 | /* Highest address of the user mode stack */ 35 | _estack = 0x2000C000; /* end of RAM */ 36 | /* Generate a link error if heap and stack don't fit into RAM */ 37 | _Min_Heap_Size = 0x200; /* required amount of heap */ 38 | _Min_Stack_Size = 0x400; /* required amount of stack */ 39 | 40 | /* Specify the memory areas */ 41 | MEMORY 42 | { 43 | RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K 44 | RAM2 (xrw) : ORIGIN = 0x10000000, LENGTH = 16K 45 | FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 128K 46 | } 47 | 48 | /* Define output sections */ 49 | SECTIONS 50 | { 51 | /* The startup code goes first into FLASH */ 52 | .isr_vector : 53 | { 54 | . = ALIGN(4); 55 | KEEP(*(.isr_vector)) /* Startup code */ 56 | . = ALIGN(4); 57 | } >FLASH 58 | 59 | /* The program code and other data goes into FLASH */ 60 | .text : 61 | { 62 | . = ALIGN(4); 63 | *(.text) /* .text sections (code) */ 64 | *(.text*) /* .text* sections (code) */ 65 | *(.glue_7) /* glue arm to thumb code */ 66 | *(.glue_7t) /* glue thumb to arm code */ 67 | *(.eh_frame) 68 | 69 | KEEP (*(.init)) 70 | KEEP (*(.fini)) 71 | 72 | . = ALIGN(4); 73 | _etext = .; /* define a global symbols at end of code */ 74 | } >FLASH 75 | 76 | /* Constant data goes into FLASH */ 77 | .rodata : 78 | { 79 | . = ALIGN(4); 80 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ 81 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ 82 | . = ALIGN(4); 83 | } >FLASH 84 | 85 | .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH 86 | .ARM : { 87 | __exidx_start = .; 88 | *(.ARM.exidx*) 89 | __exidx_end = .; 90 | } >FLASH 91 | 92 | .preinit_array : 93 | { 94 | PROVIDE_HIDDEN (__preinit_array_start = .); 95 | KEEP (*(.preinit_array*)) 96 | PROVIDE_HIDDEN (__preinit_array_end = .); 97 | } >FLASH 98 | .init_array : 99 | { 100 | PROVIDE_HIDDEN (__init_array_start = .); 101 | KEEP (*(SORT(.init_array.*))) 102 | KEEP (*(.init_array*)) 103 | PROVIDE_HIDDEN (__init_array_end = .); 104 | } >FLASH 105 | .fini_array : 106 | { 107 | PROVIDE_HIDDEN (__fini_array_start = .); 108 | KEEP (*(SORT(.fini_array.*))) 109 | KEEP (*(.fini_array*)) 110 | PROVIDE_HIDDEN (__fini_array_end = .); 111 | } >FLASH 112 | 113 | /* used by the startup to initialize data */ 114 | _sidata = LOADADDR(.data); 115 | 116 | /* Initialized data sections goes into RAM, load LMA copy after code */ 117 | .data : 118 | { 119 | . = ALIGN(4); 120 | _sdata = .; /* create a global symbol at data start */ 121 | *(.data) /* .data sections */ 122 | *(.data*) /* .data* sections */ 123 | 124 | . = ALIGN(4); 125 | _edata = .; /* define a global symbol at data end */ 126 | } >RAM AT> FLASH 127 | 128 | 129 | /* Uninitialized data section */ 130 | . = ALIGN(4); 131 | .bss : 132 | { 133 | /* This is used by the startup in order to initialize the .bss secion */ 134 | _sbss = .; /* define a global symbol at bss start */ 135 | __bss_start__ = _sbss; 136 | *(.bss) 137 | *(.bss*) 138 | *(COMMON) 139 | 140 | . = ALIGN(4); 141 | _ebss = .; /* define a global symbol at bss end */ 142 | __bss_end__ = _ebss; 143 | } >RAM 144 | 145 | /* User_heap_stack section, used to check that there is enough RAM left */ 146 | ._user_heap_stack : 147 | { 148 | . = ALIGN(4); 149 | PROVIDE ( end = . ); 150 | PROVIDE ( _end = . ); 151 | . = . + _Min_Heap_Size; 152 | . = . + _Min_Stack_Size; 153 | . = ALIGN(4); 154 | } >RAM 155 | 156 | 157 | 158 | /* Remove information from the standard libraries */ 159 | /DISCARD/ : 160 | { 161 | libc.a ( * ) 162 | libm.a ( * ) 163 | libgcc.a ( * ) 164 | } 165 | 166 | .ARM.attributes 0 : { *(.ARM.attributes) } 167 | } 168 | 169 | 170 | -------------------------------------------------------------------------------- /external-pa-gerbers/tiny-pa-F.SilkS.gto: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Legend,Top* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 00:44:52 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | %ADD11C,0.300000*% 11 | %ADD12C,0.120000*% 12 | G04 APERTURE END LIST* 13 | D10* 14 | D11* 15 | X150775000Y-94378571D02* 16 | X151060714Y-94378571D01* 17 | X151203572Y-94450000D01* 18 | X151346429Y-94592857D01* 19 | X151417857Y-94878571D01* 20 | X151417857Y-95378571D01* 21 | X151346429Y-95664286D01* 22 | X151203572Y-95807143D01* 23 | X151060714Y-95878571D01* 24 | X150775000Y-95878571D01* 25 | X150632143Y-95807143D01* 26 | X150489286Y-95664286D01* 27 | X150417857Y-95378571D01* 28 | X150417857Y-94878571D01* 29 | X150489286Y-94592857D01* 30 | X150632143Y-94450000D01* 31 | X150775000Y-94378571D01* 32 | X152060715Y-94378571D02* 33 | X152060715Y-95592857D01* 34 | X152132143Y-95735714D01* 35 | X152203572Y-95807143D01* 36 | X152346429Y-95878571D01* 37 | X152632143Y-95878571D01* 38 | X152775001Y-95807143D01* 39 | X152846429Y-95735714D01* 40 | X152917858Y-95592857D01* 41 | X152917858Y-94378571D01* 42 | X153417858Y-94378571D02* 43 | X154275001Y-94378571D01* 44 | X153846430Y-95878571D02* 45 | X153846430Y-94378571D01* 46 | X136014286Y-95753571D02* 47 | X136014286Y-94253571D01* 48 | X136728572Y-95753571D02* 49 | X136728572Y-94253571D01* 50 | X137585715Y-95753571D01* 51 | X137585715Y-94253571D01* 52 | X136857143Y-84175000D02* 53 | X136714286Y-84103571D01* 54 | X136500000Y-84103571D01* 55 | X136285715Y-84175000D01* 56 | X136142857Y-84317857D01* 57 | X136071429Y-84460714D01* 58 | X136000000Y-84746429D01* 59 | X136000000Y-84960714D01* 60 | X136071429Y-85246429D01* 61 | X136142857Y-85389286D01* 62 | X136285715Y-85532143D01* 63 | X136500000Y-85603571D01* 64 | X136642857Y-85603571D01* 65 | X136857143Y-85532143D01* 66 | X136928572Y-85460714D01* 67 | X136928572Y-84960714D01* 68 | X136642857Y-84960714D01* 69 | X137571429Y-85603571D02* 70 | X137571429Y-84103571D01* 71 | X138428572Y-85603571D01* 72 | X138428572Y-84103571D01* 73 | X139142858Y-85603571D02* 74 | X139142858Y-84103571D01* 75 | X139500001Y-84103571D01* 76 | X139714286Y-84175000D01* 77 | X139857144Y-84317857D01* 78 | X139928572Y-84460714D01* 79 | X140000001Y-84746429D01* 80 | X140000001Y-84960714D01* 81 | X139928572Y-85246429D01* 82 | X139857144Y-85389286D01* 83 | X139714286Y-85532143D01* 84 | X139500001Y-85603571D01* 85 | X139142858Y-85603571D01* 86 | X130521429Y-85032143D02* 87 | X131664286Y-85032143D01* 88 | X131092857Y-85603571D02* 89 | X131092857Y-84460714D01* 90 | X133092858Y-84103571D02* 91 | X132378572Y-84103571D01* 92 | X132307143Y-84817857D01* 93 | X132378572Y-84746429D01* 94 | X132521429Y-84675000D01* 95 | X132878572Y-84675000D01* 96 | X133021429Y-84746429D01* 97 | X133092858Y-84817857D01* 98 | X133164286Y-84960714D01* 99 | X133164286Y-85317857D01* 100 | X133092858Y-85460714D01* 101 | X133021429Y-85532143D01* 102 | X132878572Y-85603571D01* 103 | X132521429Y-85603571D01* 104 | X132378572Y-85532143D01* 105 | X132307143Y-85460714D01* 106 | X133592857Y-84103571D02* 107 | X134092857Y-85603571D01* 108 | X134592857Y-84103571D01* 109 | D12* 110 | X147500000Y-83150000D02* 111 | X146500000Y-83150000D01* 112 | X146500000Y-84850000D02* 113 | X147500000Y-84850000D01* 114 | X146750000Y-85530000D02* 115 | X146250000Y-85530000D01* 116 | X146250000Y-86470000D02* 117 | X146750000Y-86470000D01* 118 | X146750000Y-86530000D02* 119 | X146250000Y-86530000D01* 120 | X146250000Y-87470000D02* 121 | X146750000Y-87470000D01* 122 | X147250000Y-96900000D02* 123 | X146250000Y-96900000D01* 124 | X146250000Y-98600000D02* 125 | X147250000Y-98600000D01* 126 | X146500000Y-94530000D02* 127 | X146000000Y-94530000D01* 128 | X146000000Y-95470000D02* 129 | X146500000Y-95470000D01* 130 | X146500000Y-95530000D02* 131 | X146000000Y-95530000D01* 132 | X146000000Y-96470000D02* 133 | X146500000Y-96470000D01* 134 | X143250000Y-86470000D02* 135 | X143750000Y-86470000D01* 136 | X143750000Y-85530000D02* 137 | X143250000Y-85530000D01* 138 | X143250000Y-87470000D02* 139 | X143750000Y-87470000D01* 140 | X143750000Y-86530000D02* 141 | X143250000Y-86530000D01* 142 | D11* 143 | X130325000Y-93000000D02* 144 | X130325000Y-94750000D01* 145 | X130325000Y-89250000D02* 146 | X130325000Y-91000000D01* 147 | X159675000Y-90975000D02* 148 | X159675000Y-89225000D01* 149 | X159675000Y-94725000D02* 150 | X159675000Y-92975000D01* 151 | D12* 152 | X142400000Y-83120000D02* 153 | X143600000Y-83120000D01* 154 | X143600000Y-84880000D02* 155 | X142400000Y-84880000D01* 156 | X141400000Y-96120000D02* 157 | X142600000Y-96120000D01* 158 | X142600000Y-97880000D02* 159 | X141400000Y-97880000D01* 160 | D11* 161 | X141750000Y-87750000D02* 162 | G75* 163 | G03X141750000Y-87750000I-250000J0D01* 164 | G01* 165 | X141750000Y-88250000D02* 166 | X142250000Y-88250000D01* 167 | X141750000Y-93750000D02* 168 | X141750000Y-88250000D01* 169 | X148250000Y-93750000D02* 170 | X141750000Y-93750000D01* 171 | X148250000Y-88250000D02* 172 | X148250000Y-93750000D01* 173 | X142000000Y-88250000D02* 174 | X148250000Y-88250000D01* 175 | D12* 176 | X135480000Y-83080000D02* 177 | X138080000Y-83080000D01* 178 | X138080000Y-83080000D02* 179 | X138080000Y-80420000D01* 180 | X138080000Y-80420000D02* 181 | X135480000Y-80420000D01* 182 | X135480000Y-80420000D02* 183 | X135480000Y-83080000D01* 184 | X134210000Y-83080000D02* 185 | X132880000Y-83080000D01* 186 | X132880000Y-83080000D02* 187 | X132880000Y-81750000D01* 188 | M02* 189 | -------------------------------------------------------------------------------- /phased-array/pcb/power_splitter.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 2 2 | LIBS:power 3 | LIBS:device 4 | LIBS:transistors 5 | LIBS:conn 6 | LIBS:linear 7 | LIBS:regul 8 | LIBS:74xx 9 | LIBS:cmos4000 10 | LIBS:adc-dac 11 | LIBS:memory 12 | LIBS:xilinx 13 | LIBS:microcontrollers 14 | LIBS:dsp 15 | LIBS:microchip 16 | LIBS:analog_switches 17 | LIBS:motorola 18 | LIBS:texas 19 | LIBS:intel 20 | LIBS:audio 21 | LIBS:interface 22 | LIBS:digital-audio 23 | LIBS:philips 24 | LIBS:display 25 | LIBS:cypress 26 | LIBS:siliconi 27 | LIBS:opto 28 | LIBS:atmel 29 | LIBS:contrib 30 | LIBS:valves 31 | LIBS:wbraun_ic_lib 32 | LIBS:phased-array-cache 33 | EELAYER 25 0 34 | EELAYER END 35 | $Descr A4 11693 8268 36 | encoding utf-8 37 | Sheet 4 6 38 | Title "" 39 | Date "" 40 | Rev "" 41 | Comp "" 42 | Comment1 "" 43 | Comment2 "" 44 | Comment3 "" 45 | Comment4 "" 46 | $EndDescr 47 | $Comp 48 | L PD2328J U401 49 | U 1 1 58E46E79 50 | P 3300 2400 51 | F 0 "U401" H 3050 2750 60 0000 C CNN 52 | F 1 "PD2328J" H 3200 2050 60 0000 C CNN 53 | F 2 "wbraun_smd:PD2328" H 2750 2950 60 0001 C CNN 54 | F 3 "" H 2750 2950 60 0001 C CNN 55 | 1 3300 2400 56 | 1 0 0 -1 57 | $EndComp 58 | $Comp 59 | L PD2328J U402 60 | U 1 1 58E46F0C 61 | P 4800 1800 62 | F 0 "U402" H 4550 2150 60 0000 C CNN 63 | F 1 "PD2328J" H 4700 1450 60 0000 C CNN 64 | F 2 "wbraun_smd:PD2328" H 4250 2350 60 0001 C CNN 65 | F 3 "" H 4250 2350 60 0001 C CNN 66 | 1 4800 1800 67 | 1 0 0 -1 68 | $EndComp 69 | $Comp 70 | L PD2328J U403 71 | U 1 1 58E46F7F 72 | P 5000 3100 73 | F 0 "U403" H 4750 3450 60 0000 C CNN 74 | F 1 "PD2328J" H 4900 2750 60 0000 C CNN 75 | F 2 "wbraun_smd:PD2328" H 4450 3650 60 0001 C CNN 76 | F 3 "" H 4450 3650 60 0001 C CNN 77 | 1 5000 3100 78 | 1 0 0 -1 79 | $EndComp 80 | $Comp 81 | L R R401 82 | U 1 1 58E46FCA 83 | P 4000 2400 84 | F 0 "R401" V 4080 2400 50 0000 C CNN 85 | F 1 "100" V 4000 2400 50 0000 C CNN 86 | F 2 "Resistors_SMD:R_0603" V 3930 2400 50 0001 C CNN 87 | F 3 "" H 4000 2400 50 0001 C CNN 88 | 1 4000 2400 89 | 1 0 0 -1 90 | $EndComp 91 | $Comp 92 | L R R403 93 | U 1 1 58E47053 94 | P 5700 3100 95 | F 0 "R403" V 5780 3100 50 0000 C CNN 96 | F 1 "100" V 5700 3100 50 0000 C CNN 97 | F 2 "Resistors_SMD:R_0603" V 5630 3100 50 0001 C CNN 98 | F 3 "" H 5700 3100 50 0001 C CNN 99 | 1 5700 3100 100 | 1 0 0 -1 101 | $EndComp 102 | $Comp 103 | L R R402 104 | U 1 1 58E470C8 105 | P 5500 1800 106 | F 0 "R402" V 5580 1800 50 0000 C CNN 107 | F 1 "100" V 5500 1800 50 0000 C CNN 108 | F 2 "Resistors_SMD:R_0603" V 5430 1800 50 0001 C CNN 109 | F 3 "" H 5500 1800 50 0001 C CNN 110 | 1 5500 1800 111 | 1 0 0 -1 112 | $EndComp 113 | Wire Wire Line 114 | 3800 2200 4000 2200 115 | Wire Wire Line 116 | 4000 1600 4000 2250 117 | Wire Wire Line 118 | 3800 2600 4000 2600 119 | Wire Wire Line 120 | 4000 2550 4000 2900 121 | Wire Wire Line 122 | 5500 2900 5900 2900 123 | Wire Wire Line 124 | 5700 2900 5700 2950 125 | Wire Wire Line 126 | 5500 3300 5900 3300 127 | Wire Wire Line 128 | 5700 3300 5700 3250 129 | Wire Wire Line 130 | 5300 1600 5700 1600 131 | Wire Wire Line 132 | 5500 1600 5500 1650 133 | Wire Wire Line 134 | 5300 2000 5700 2000 135 | Wire Wire Line 136 | 5500 2000 5500 1950 137 | Wire Wire Line 138 | 4000 2900 4500 2900 139 | Connection ~ 4000 2200 140 | Wire Wire Line 141 | 4000 1600 4300 1600 142 | Connection ~ 4000 2600 143 | $Comp 144 | L GND #PWR036 145 | U 1 1 58E4719C 146 | P 4400 3400 147 | F 0 "#PWR036" H 4400 3150 50 0001 C CNN 148 | F 1 "GND" H 4400 3250 50 0000 C CNN 149 | F 2 "" H 4400 3400 50 0001 C CNN 150 | F 3 "" H 4400 3400 50 0001 C CNN 151 | 1 4400 3400 152 | 1 0 0 -1 153 | $EndComp 154 | $Comp 155 | L GND #PWR037 156 | U 1 1 58E471BC 157 | P 4200 2100 158 | F 0 "#PWR037" H 4200 1850 50 0001 C CNN 159 | F 1 "GND" H 4200 1950 50 0000 C CNN 160 | F 2 "" H 4200 2100 50 0001 C CNN 161 | F 3 "" H 4200 2100 50 0001 C CNN 162 | 1 4200 2100 163 | 1 0 0 -1 164 | $EndComp 165 | $Comp 166 | L GND #PWR038 167 | U 1 1 58E471DC 168 | P 2700 2700 169 | F 0 "#PWR038" H 2700 2450 50 0001 C CNN 170 | F 1 "GND" H 2700 2550 50 0000 C CNN 171 | F 2 "" H 2700 2700 50 0001 C CNN 172 | F 3 "" H 2700 2700 50 0001 C CNN 173 | 1 2700 2700 174 | 1 0 0 -1 175 | $EndComp 176 | Wire Wire Line 177 | 2800 2400 2700 2400 178 | Wire Wire Line 179 | 2700 2400 2700 2700 180 | Wire Wire Line 181 | 2800 2500 2700 2500 182 | Connection ~ 2700 2500 183 | Wire Wire Line 184 | 2800 2600 2700 2600 185 | Connection ~ 2700 2600 186 | Wire Wire Line 187 | 4500 3100 4400 3100 188 | Wire Wire Line 189 | 4400 3100 4400 3400 190 | Wire Wire Line 191 | 4500 3200 4400 3200 192 | Connection ~ 4400 3200 193 | Wire Wire Line 194 | 4500 3300 4400 3300 195 | Connection ~ 4400 3300 196 | Wire Wire Line 197 | 4300 1800 4200 1800 198 | Wire Wire Line 199 | 4200 1800 4200 2100 200 | Wire Wire Line 201 | 4300 1900 4200 1900 202 | Connection ~ 4200 1900 203 | Wire Wire Line 204 | 4300 2000 4200 2000 205 | Connection ~ 4200 2000 206 | Wire Wire Line 207 | 2800 2200 2600 2200 208 | Connection ~ 5700 2900 209 | Connection ~ 5700 3300 210 | Connection ~ 5500 1600 211 | Connection ~ 5500 2000 212 | Text HLabel 5900 3300 2 60 Input ~ 0 213 | RF1 214 | Text HLabel 5900 2900 2 60 Input ~ 0 215 | RF2 216 | Text HLabel 5700 2000 2 60 Input ~ 0 217 | RF3 218 | Text HLabel 5700 1600 2 60 Input ~ 0 219 | RF4 220 | Text HLabel 2600 2200 0 60 Input ~ 0 221 | RF_IN 222 | $EndSCHEMATC 223 | -------------------------------------------------------------------------------- /phased-array/pcb/phased-array-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.3 2 | #encoding utf-8 3 | # 4 | # +3V3 5 | # 6 | DEF +3V3 #PWR 0 0 Y Y 1 F P 7 | F0 "#PWR" 0 -150 50 H I C CNN 8 | F1 "+3V3" 0 140 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | ALIAS +3.3V 12 | DRAW 13 | P 2 0 1 0 -30 50 0 100 N 14 | P 2 0 1 0 0 0 0 100 N 15 | P 2 0 1 0 0 100 30 50 N 16 | X +3V3 1 0 0 0 U 50 50 1 1 W N 17 | ENDDRAW 18 | ENDDEF 19 | # 20 | # C 21 | # 22 | DEF C C 0 10 N Y 1 F N 23 | F0 "C" 25 100 50 H V L CNN 24 | F1 "C" 25 -100 50 H V L CNN 25 | F2 "" 38 -150 50 H I C CNN 26 | F3 "" 0 0 50 H I C CNN 27 | $FPLIST 28 | C_* 29 | $ENDFPLIST 30 | DRAW 31 | P 2 0 1 20 -80 -30 80 -30 N 32 | P 2 0 1 20 -80 30 80 30 N 33 | X ~ 1 0 150 110 D 50 50 1 1 P 34 | X ~ 2 0 -150 110 U 50 50 1 1 P 35 | ENDDRAW 36 | ENDDEF 37 | # 38 | # CONN_01X02 39 | # 40 | DEF CONN_01X02 J 0 40 Y N 1 F N 41 | F0 "J" 0 150 50 H V C CNN 42 | F1 "CONN_01X02" 100 0 50 V V C CNN 43 | F2 "" 0 0 50 H I C CNN 44 | F3 "" 0 0 50 H I C CNN 45 | $FPLIST 46 | Pin_Header_Straight_1X* 47 | Pin_Header_Angled_1X* 48 | Socket_Strip_Straight_1X* 49 | Socket_Strip_Angled_1X* 50 | $ENDFPLIST 51 | DRAW 52 | S -50 -45 10 -55 0 1 0 N 53 | S -50 55 10 45 0 1 0 N 54 | S -50 100 50 -100 0 1 0 N 55 | X P1 1 -200 50 150 R 50 50 1 1 P 56 | X P2 2 -200 -50 150 R 50 50 1 1 P 57 | ENDDRAW 58 | ENDDEF 59 | # 60 | # CONN_01X04 61 | # 62 | DEF CONN_01X04 J 0 40 Y N 1 F N 63 | F0 "J" 0 250 50 H V C CNN 64 | F1 "CONN_01X04" 100 0 50 V V C CNN 65 | F2 "" 0 0 50 H I C CNN 66 | F3 "" 0 0 50 H I C CNN 67 | $FPLIST 68 | Pin_Header_Straight_1X* 69 | Pin_Header_Angled_1X* 70 | Socket_Strip_Straight_1X* 71 | Socket_Strip_Angled_1X* 72 | $ENDFPLIST 73 | DRAW 74 | S -50 -145 10 -155 0 1 0 N 75 | S -50 -45 10 -55 0 1 0 N 76 | S -50 55 10 45 0 1 0 N 77 | S -50 155 10 145 0 1 0 N 78 | S -50 200 50 -200 0 1 0 N 79 | X P1 1 -200 150 150 R 50 50 1 1 P 80 | X P2 2 -200 50 150 R 50 50 1 1 P 81 | X P3 3 -200 -50 150 R 50 50 1 1 P 82 | X P4 4 -200 -150 150 R 50 50 1 1 P 83 | ENDDRAW 84 | ENDDEF 85 | # 86 | # GND 87 | # 88 | DEF GND #PWR 0 0 Y Y 1 F P 89 | F0 "#PWR" 0 -250 50 H I C CNN 90 | F1 "GND" 0 -150 50 H V C CNN 91 | F2 "" 0 0 50 H I C CNN 92 | F3 "" 0 0 50 H I C CNN 93 | DRAW 94 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 95 | X GND 1 0 0 0 D 50 50 1 1 W N 96 | ENDDRAW 97 | ENDDEF 98 | # 99 | # PCA9534A 100 | # 101 | DEF PCA9534A U 0 40 Y Y 1 F N 102 | F0 "U" -350 750 60 H V C CNN 103 | F1 "PCA9534A" -200 -750 60 H V C CNN 104 | F2 "" 0 -50 60 H I C CNN 105 | F3 "" 0 -50 60 H I C CNN 106 | $FPLIST 107 | QFN-16 108 | $ENDFPLIST 109 | DRAW 110 | S -400 700 400 -700 0 1 0 N 111 | X A2 1 -600 400 200 R 50 50 1 1 I 112 | X P0 2 600 600 200 L 50 50 1 1 B 113 | X P1 3 600 500 200 L 50 50 1 1 B 114 | X P2 4 600 400 200 L 50 50 1 1 B 115 | X P3 5 600 300 200 L 50 50 1 1 B 116 | X GND 6 -600 -100 200 R 50 50 1 1 W 117 | X P4 7 600 200 200 L 50 50 1 1 B 118 | X P5 8 600 100 200 L 50 50 1 1 B 119 | X P6 9 600 0 200 L 50 50 1 1 B 120 | X P7 10 600 -100 200 L 50 50 1 1 B 121 | X ~INT~ 11 -600 -300 200 R 50 50 1 1 C 122 | X SCL 12 -600 -500 200 R 50 50 1 1 C 123 | X SDA 13 -600 -600 200 R 50 50 1 1 C 124 | X VCC 14 -600 100 200 R 50 50 1 1 W 125 | X A0 15 -600 600 200 R 50 50 1 1 I 126 | X A1 16 -600 500 200 R 50 50 1 1 I 127 | X GND 17 -600 0 200 R 50 50 1 1 W 128 | ENDDRAW 129 | ENDDEF 130 | # 131 | # PD2328J 132 | # 133 | DEF PD2328J U 0 40 Y Y 1 F N 134 | F0 "U" -250 350 60 H V C CNN 135 | F1 "PD2328J" -100 -350 60 H V C CNN 136 | F2 "" -550 550 60 H I C CNN 137 | F3 "" -550 550 60 H I C CNN 138 | DRAW 139 | S -300 300 300 -300 0 1 0 N 140 | X GND 1 -500 0 200 R 50 50 1 1 W 141 | X IN 2 -500 200 200 R 50 50 1 1 I 142 | X GND 3 -500 -100 200 R 50 50 1 1 W 143 | X OUT_1 4 500 200 200 L 50 50 1 1 O 144 | X GND 5 -500 -200 200 R 50 50 1 1 W 145 | X OUT_2 6 500 -200 200 L 50 50 1 1 O 146 | ENDDRAW 147 | ENDDEF 148 | # 149 | # PE44820 150 | # 151 | DEF PE44820 U 0 40 Y Y 1 F N 152 | F0 "U" -450 1050 60 H V C CNN 153 | F1 "PE44820" -300 -1050 60 H V C CNN 154 | F2 "" 0 50 60 H I C CNN 155 | F3 "" 0 50 60 H I C CNN 156 | $FPLIST 157 | QFN-32 158 | $ENDFPLIST 159 | DRAW 160 | S -500 1000 500 -1000 0 1 0 N 161 | X OPT 1 -700 -900 200 R 50 50 1 1 I 162 | X VDD 2 700 900 200 L 50 50 1 1 W 163 | X S/~P~ 3 -700 400 200 R 50 50 1 1 I 164 | X GND 4 700 600 200 L 50 50 1 1 W 165 | X GND 5 700 500 200 L 50 50 1 1 W 166 | X GND 6 700 400 200 L 50 50 1 1 W 167 | X RF1 7 -700 900 200 R 50 50 1 1 B 168 | X GND 8 700 300 200 L 50 50 1 1 W 169 | X GND 9 700 200 200 L 50 50 1 1 W 170 | X GND 10 700 100 200 L 50 50 1 1 W 171 | X VSS_EXT 20 700 700 200 L 50 50 1 1 W 172 | X D2 30 -700 -300 200 R 50 50 1 1 I 173 | X GND 11 700 0 200 L 50 50 1 1 W 174 | X GND 21 700 -800 200 L 50 50 1 1 W 175 | X D1 31 -700 -200 200 R 50 50 1 1 I 176 | X GND 12 700 -100 200 L 50 50 1 1 W 177 | X LE 22 -700 300 200 R 50 50 1 1 I 178 | X D0 32 -700 -100 200 R 50 50 1 1 I 179 | X GND 13 700 -200 200 L 50 50 1 1 W 180 | X CLK 23 -700 200 200 R 50 50 1 1 I 181 | X GND 33 700 -900 200 L 50 50 1 1 W 182 | X GND 14 700 -300 200 L 50 50 1 1 W 183 | X SI 24 -700 100 200 R 50 50 1 1 I 184 | X GND 15 700 -400 200 L 50 50 1 1 W 185 | X D7 25 -700 -800 200 R 50 50 1 1 I 186 | X GND 16 700 -500 200 L 50 50 1 1 W 187 | X D6 26 -700 -700 200 R 50 50 1 1 I 188 | X GND 17 700 -600 200 L 50 50 1 1 W 189 | X D5 27 -700 -600 200 R 50 50 1 1 I 190 | X RF2 18 -700 700 200 R 50 50 1 1 B 191 | X D4 28 -700 -500 200 R 50 50 1 1 I 192 | X GND 19 700 -700 200 L 50 50 1 1 W 193 | X D3 29 -700 -400 200 R 50 50 1 1 I 194 | ENDDRAW 195 | ENDDEF 196 | # 197 | # R 198 | # 199 | DEF R R 0 0 N Y 1 F N 200 | F0 "R" 80 0 50 V V C CNN 201 | F1 "R" 0 0 50 V V C CNN 202 | F2 "" -70 0 50 V I C CNN 203 | F3 "" 0 0 50 H I C CNN 204 | $FPLIST 205 | R_* 206 | R_* 207 | $ENDFPLIST 208 | DRAW 209 | S -40 -100 40 100 0 1 10 N 210 | X ~ 1 0 150 50 D 50 50 1 1 P 211 | X ~ 2 0 -150 50 U 50 50 1 1 P 212 | ENDDRAW 213 | ENDDEF 214 | # 215 | #End Library 216 | -------------------------------------------------------------------------------- /firmware/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pcd_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_pcd_ex.h 4 | * @author MCD Application Team 5 | * @version V1.7.0 6 | * @date 17-February-2017 7 | * @brief Header file of PCD HAL module. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2017 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ 39 | #ifndef __STM32L4xx_HAL_PCD_EX_H 40 | #define __STM32L4xx_HAL_PCD_EX_H 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | #if defined(STM32L432xx) || defined(STM32L433xx) || defined(STM32L442xx) || defined(STM32L443xx) || \ 47 | defined(STM32L452xx) || defined(STM32L462xx) || \ 48 | defined(STM32L475xx) || defined(STM32L476xx) || defined(STM32L485xx) || defined(STM32L486xx) || \ 49 | defined(STM32L496xx) || defined(STM32L4A6xx) 50 | 51 | /* Includes ------------------------------------------------------------------*/ 52 | #include "stm32l4xx_hal_def.h" 53 | 54 | /** @addtogroup STM32L4xx_HAL_Driver 55 | * @{ 56 | */ 57 | 58 | /** @addtogroup PCDEx 59 | * @{ 60 | */ 61 | /* Exported types ------------------------------------------------------------*/ 62 | typedef enum 63 | { 64 | PCD_LPM_L0_ACTIVE = 0x00, /* on */ 65 | PCD_LPM_L1_ACTIVE = 0x01, /* LPM L1 sleep */ 66 | }PCD_LPM_MsgTypeDef; 67 | 68 | typedef enum 69 | { 70 | PCD_BCD_ERROR = 0xFF, 71 | PCD_BCD_CONTACT_DETECTION = 0xFE, 72 | PCD_BCD_STD_DOWNSTREAM_PORT = 0xFD, 73 | PCD_BCD_CHARGING_DOWNSTREAM_PORT = 0xFC, 74 | PCD_BCD_DEDICATED_CHARGING_PORT = 0xFB, 75 | PCD_BCD_DISCOVERY_COMPLETED = 0x00, 76 | 77 | }PCD_BCD_MsgTypeDef; 78 | 79 | /* Exported constants --------------------------------------------------------*/ 80 | /* Exported macros -----------------------------------------------------------*/ 81 | /* Exported functions --------------------------------------------------------*/ 82 | /** @addtogroup PCDEx_Exported_Functions PCDEx Exported Functions 83 | * @{ 84 | */ 85 | /** @addtogroup PCDEx_Exported_Functions_Group1 Peripheral Control functions 86 | * @{ 87 | */ 88 | 89 | #if defined(USB_OTG_FS) 90 | HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size); 91 | HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size); 92 | #endif /* USB_OTG_FS */ 93 | 94 | #if defined (USB) 95 | HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd, 96 | uint16_t ep_addr, 97 | uint16_t ep_kind, 98 | uint32_t pmaadress); 99 | #endif /* USB */ 100 | HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd); 101 | HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd); 102 | HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd); 103 | HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd); 104 | void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd); 105 | void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg); 106 | void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg); 107 | 108 | /** 109 | * @} 110 | */ 111 | 112 | /** 113 | * @} 114 | */ 115 | 116 | /** 117 | * @} 118 | */ 119 | 120 | /** 121 | * @} 122 | */ 123 | 124 | #endif /* STM32L432xx || STM32L433xx || STM32L442xx || STM32L443xx || */ 125 | /* STM32L452xx || STM32L462xx || */ 126 | /* STM32L475xx || STM32L476xx || STM32L485xx || STM32L486xx || */ 127 | /* STM32L496xx || STM32L4A6xx */ 128 | 129 | #ifdef __cplusplus 130 | } 131 | #endif 132 | 133 | 134 | #endif /* __STM32L4xx_HAL_PCD_EX_H */ 135 | 136 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 137 | -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_cdc.h 4 | * @author MCD Application Team 5 | * @version V2.4.2 6 | * @date 11-December-2015 7 | * @brief header file for the usbd_cdc.c file. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2015 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __USB_CDC_H 30 | #define __USB_CDC_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | /* Includes ------------------------------------------------------------------*/ 37 | #include "usbd_ioreq.h" 38 | 39 | /** @addtogroup STM32_USB_DEVICE_LIBRARY 40 | * @{ 41 | */ 42 | 43 | /** @defgroup usbd_cdc 44 | * @brief This file is the Header file for usbd_cdc.c 45 | * @{ 46 | */ 47 | 48 | 49 | /** @defgroup usbd_cdc_Exported_Defines 50 | * @{ 51 | */ 52 | #define CDC_IN_EP 0x81 /* EP1 for data IN */ 53 | #define CDC_OUT_EP 0x01 /* EP1 for data OUT */ 54 | #define CDC_CMD_EP 0x82 /* EP2 for CDC commands */ 55 | 56 | /* CDC Endpoints parameters: you can fine tune these values depending on the needed baudrates and performance. */ 57 | #define CDC_DATA_HS_MAX_PACKET_SIZE 512 /* Endpoint IN & OUT Packet size */ 58 | #define CDC_DATA_FS_MAX_PACKET_SIZE 64 /* Endpoint IN & OUT Packet size */ 59 | #define CDC_CMD_PACKET_SIZE 8 /* Control Endpoint Packet size */ 60 | 61 | #define USB_CDC_CONFIG_DESC_SIZ 67 62 | #define CDC_DATA_HS_IN_PACKET_SIZE CDC_DATA_HS_MAX_PACKET_SIZE 63 | #define CDC_DATA_HS_OUT_PACKET_SIZE CDC_DATA_HS_MAX_PACKET_SIZE 64 | 65 | #define CDC_DATA_FS_IN_PACKET_SIZE CDC_DATA_FS_MAX_PACKET_SIZE 66 | #define CDC_DATA_FS_OUT_PACKET_SIZE CDC_DATA_FS_MAX_PACKET_SIZE 67 | 68 | /*---------------------------------------------------------------------*/ 69 | /* CDC definitions */ 70 | /*---------------------------------------------------------------------*/ 71 | #define CDC_SEND_ENCAPSULATED_COMMAND 0x00 72 | #define CDC_GET_ENCAPSULATED_RESPONSE 0x01 73 | #define CDC_SET_COMM_FEATURE 0x02 74 | #define CDC_GET_COMM_FEATURE 0x03 75 | #define CDC_CLEAR_COMM_FEATURE 0x04 76 | #define CDC_SET_LINE_CODING 0x20 77 | #define CDC_GET_LINE_CODING 0x21 78 | #define CDC_SET_CONTROL_LINE_STATE 0x22 79 | #define CDC_SEND_BREAK 0x23 80 | 81 | /** 82 | * @} 83 | */ 84 | 85 | 86 | /** @defgroup USBD_CORE_Exported_TypesDefinitions 87 | * @{ 88 | */ 89 | 90 | /** 91 | * @} 92 | */ 93 | typedef struct 94 | { 95 | uint32_t bitrate; 96 | uint8_t format; 97 | uint8_t paritytype; 98 | uint8_t datatype; 99 | }USBD_CDC_LineCodingTypeDef; 100 | 101 | typedef struct _USBD_CDC_Itf 102 | { 103 | int8_t (* Init) (void); 104 | int8_t (* DeInit) (void); 105 | int8_t (* Control) (uint8_t, uint8_t * , uint16_t); 106 | int8_t (* Receive) (uint8_t *, uint32_t *); 107 | 108 | }USBD_CDC_ItfTypeDef; 109 | 110 | 111 | typedef struct 112 | { 113 | uint32_t data[CDC_DATA_HS_MAX_PACKET_SIZE/4]; /* Force 32bits alignment */ 114 | uint8_t CmdOpCode; 115 | uint8_t CmdLength; 116 | uint8_t *RxBuffer; 117 | uint8_t *TxBuffer; 118 | uint32_t RxLength; 119 | uint32_t TxLength; 120 | 121 | __IO uint32_t TxState; 122 | __IO uint32_t RxState; 123 | } 124 | USBD_CDC_HandleTypeDef; 125 | 126 | 127 | 128 | /** @defgroup USBD_CORE_Exported_Macros 129 | * @{ 130 | */ 131 | 132 | /** 133 | * @} 134 | */ 135 | 136 | /** @defgroup USBD_CORE_Exported_Variables 137 | * @{ 138 | */ 139 | 140 | extern USBD_ClassTypeDef USBD_CDC; 141 | #define USBD_CDC_CLASS &USBD_CDC 142 | /** 143 | * @} 144 | */ 145 | 146 | /** @defgroup USB_CORE_Exported_Functions 147 | * @{ 148 | */ 149 | uint8_t USBD_CDC_RegisterInterface (USBD_HandleTypeDef *pdev, 150 | USBD_CDC_ItfTypeDef *fops); 151 | 152 | uint8_t USBD_CDC_SetTxBuffer (USBD_HandleTypeDef *pdev, 153 | uint8_t *pbuff, 154 | uint16_t length); 155 | 156 | uint8_t USBD_CDC_SetRxBuffer (USBD_HandleTypeDef *pdev, 157 | uint8_t *pbuff); 158 | 159 | uint8_t USBD_CDC_ReceivePacket (USBD_HandleTypeDef *pdev); 160 | 161 | uint8_t USBD_CDC_TransmitPacket (USBD_HandleTypeDef *pdev); 162 | /** 163 | * @} 164 | */ 165 | 166 | #ifdef __cplusplus 167 | } 168 | #endif 169 | 170 | #endif /* __USB_CDC_H */ 171 | /** 172 | * @} 173 | */ 174 | 175 | /** 176 | * @} 177 | */ 178 | 179 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 180 | -------------------------------------------------------------------------------- /firmware/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_hal_flash_ramfunc.c 4 | * @author MCD Application Team 5 | * @version V1.7.0 6 | * @date 17-February-2017 7 | * @brief FLASH RAMFUNC driver. 8 | * This file provides a Flash firmware functions which should be 9 | * executed from internal SRAM 10 | * + FLASH HalfPage Programming 11 | * + FLASH Power Down in Run mode 12 | * 13 | * @verbatim 14 | ============================================================================== 15 | ##### Flash RAM functions ##### 16 | ============================================================================== 17 | 18 | *** ARM Compiler *** 19 | -------------------- 20 | [..] RAM functions are defined using the toolchain options. 21 | Functions that are executed in RAM should reside in a separate 22 | source module. Using the 'Options for File' dialog you can simply change 23 | the 'Code / Const' area of a module to a memory space in physical RAM. 24 | Available memory areas are declared in the 'Target' tab of the 25 | Options for Target' dialog. 26 | 27 | *** ICCARM Compiler *** 28 | ----------------------- 29 | [..] RAM functions are defined using a specific toolchain keyword "__ramfunc". 30 | 31 | *** GNU Compiler *** 32 | -------------------- 33 | [..] RAM functions are defined using a specific toolchain attribute 34 | "__attribute__((section(".RamFunc")))". 35 | 36 | @endverbatim 37 | ****************************************************************************** 38 | * @attention 39 | * 40 | *

© COPYRIGHT(c) 2017 STMicroelectronics

41 | * 42 | * Redistribution and use in source and binary forms, with or without modification, 43 | * are permitted provided that the following conditions are met: 44 | * 1. Redistributions of source code must retain the above copyright notice, 45 | * this list of conditions and the following disclaimer. 46 | * 2. Redistributions in binary form must reproduce the above copyright notice, 47 | * this list of conditions and the following disclaimer in the documentation 48 | * and/or other materials provided with the distribution. 49 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 50 | * may be used to endorse or promote products derived from this software 51 | * without specific prior written permission. 52 | * 53 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 54 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 55 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 56 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 57 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 58 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 59 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 60 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 61 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 62 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 63 | * 64 | ****************************************************************************** 65 | */ 66 | 67 | /* Includes ------------------------------------------------------------------*/ 68 | #include "stm32l4xx_hal.h" 69 | 70 | /** @addtogroup STM32L4xx_HAL_Driver 71 | * @{ 72 | */ 73 | 74 | /** @defgroup FLASH_RAMFUNC FLASH_RAMFUNC 75 | * @brief FLASH functions executed from RAM 76 | * @{ 77 | */ 78 | 79 | #ifdef HAL_FLASH_MODULE_ENABLED 80 | 81 | /* Private typedef -----------------------------------------------------------*/ 82 | /* Private define ------------------------------------------------------------*/ 83 | /* Private macro -------------------------------------------------------------*/ 84 | /* Private variables ---------------------------------------------------------*/ 85 | extern FLASH_ProcessTypeDef pFlash; 86 | 87 | /* Private function prototypes -----------------------------------------------*/ 88 | /* Exported functions -------------------------------------------------------*/ 89 | 90 | /** @defgroup FLASH_RAMFUNC_Exported_Functions FLASH in RAM function Exported Functions 91 | * @{ 92 | */ 93 | 94 | /** @defgroup FLASH_RAMFUNC_Exported_Functions_Group1 Peripheral features functions 95 | * @brief Data transfers functions 96 | * 97 | @verbatim 98 | =============================================================================== 99 | ##### ramfunc functions ##### 100 | =============================================================================== 101 | [..] 102 | This subsection provides a set of functions that should be executed from RAM. 103 | 104 | @endverbatim 105 | * @{ 106 | */ 107 | 108 | /** 109 | * @brief Enable the Power down in Run Mode 110 | * @note This function should be called and executed from SRAM memory 111 | * @retval None 112 | */ 113 | __RAM_FUNC HAL_FLASHEx_EnableRunPowerDown(void) 114 | { 115 | /* Enable the Power Down in Run mode*/ 116 | __HAL_FLASH_POWER_DOWN_ENABLE(); 117 | 118 | return HAL_OK; 119 | 120 | } 121 | 122 | /** 123 | * @brief Disable the Power down in Run Mode 124 | * @note This function should be called and executed from SRAM memory 125 | * @retval None 126 | */ 127 | __RAM_FUNC HAL_FLASHEx_DisableRunPowerDown(void) 128 | { 129 | /* Disable the Power Down in Run mode*/ 130 | __HAL_FLASH_POWER_DOWN_DISABLE(); 131 | 132 | return HAL_OK; 133 | } 134 | 135 | /** 136 | * @} 137 | */ 138 | 139 | /** 140 | * @} 141 | */ 142 | #endif /* HAL_FLASH_MODULE_ENABLED */ 143 | 144 | 145 | 146 | /** 147 | * @} 148 | */ 149 | 150 | /** 151 | * @} 152 | */ 153 | 154 | 155 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 156 | 157 | 158 | -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_core.h 4 | * @author MCD Application Team 5 | * @version V2.4.2 6 | * @date 11-December-2015 7 | * @brief Header file for usbd_core.c file 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2015 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __USBD_CORE_H 30 | #define __USBD_CORE_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | /* Includes ------------------------------------------------------------------*/ 37 | #include "usbd_conf.h" 38 | #include "usbd_def.h" 39 | #include "usbd_ioreq.h" 40 | #include "usbd_ctlreq.h" 41 | 42 | /** @addtogroup STM32_USB_DEVICE_LIBRARY 43 | * @{ 44 | */ 45 | 46 | /** @defgroup USBD_CORE 47 | * @brief This file is the Header file for usbd_core.c file 48 | * @{ 49 | */ 50 | 51 | 52 | /** @defgroup USBD_CORE_Exported_Defines 53 | * @{ 54 | */ 55 | 56 | /** 57 | * @} 58 | */ 59 | 60 | 61 | /** @defgroup USBD_CORE_Exported_TypesDefinitions 62 | * @{ 63 | */ 64 | 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | 71 | 72 | /** @defgroup USBD_CORE_Exported_Macros 73 | * @{ 74 | */ 75 | 76 | /** 77 | * @} 78 | */ 79 | 80 | /** @defgroup USBD_CORE_Exported_Variables 81 | * @{ 82 | */ 83 | #define USBD_SOF USBD_LL_SOF 84 | /** 85 | * @} 86 | */ 87 | 88 | /** @defgroup USBD_CORE_Exported_FunctionsPrototype 89 | * @{ 90 | */ 91 | USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id); 92 | USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev); 93 | USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev); 94 | USBD_StatusTypeDef USBD_Stop (USBD_HandleTypeDef *pdev); 95 | USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass); 96 | 97 | USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev); 98 | USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx); 99 | USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx); 100 | 101 | USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup); 102 | USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata); 103 | USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata); 104 | 105 | USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev); 106 | USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed); 107 | USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev); 108 | USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev); 109 | 110 | USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev); 111 | USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum); 112 | USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum); 113 | 114 | USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev); 115 | USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev); 116 | 117 | /* USBD Low Level Driver */ 118 | USBD_StatusTypeDef USBD_LL_Init (USBD_HandleTypeDef *pdev); 119 | USBD_StatusTypeDef USBD_LL_DeInit (USBD_HandleTypeDef *pdev); 120 | USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev); 121 | USBD_StatusTypeDef USBD_LL_Stop (USBD_HandleTypeDef *pdev); 122 | USBD_StatusTypeDef USBD_LL_OpenEP (USBD_HandleTypeDef *pdev, 123 | uint8_t ep_addr, 124 | uint8_t ep_type, 125 | uint16_t ep_mps); 126 | 127 | USBD_StatusTypeDef USBD_LL_CloseEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 128 | USBD_StatusTypeDef USBD_LL_FlushEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 129 | USBD_StatusTypeDef USBD_LL_StallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 130 | USBD_StatusTypeDef USBD_LL_ClearStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 131 | uint8_t USBD_LL_IsStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 132 | USBD_StatusTypeDef USBD_LL_SetUSBAddress (USBD_HandleTypeDef *pdev, uint8_t dev_addr); 133 | USBD_StatusTypeDef USBD_LL_Transmit (USBD_HandleTypeDef *pdev, 134 | uint8_t ep_addr, 135 | uint8_t *pbuf, 136 | uint16_t size); 137 | 138 | USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, 139 | uint8_t ep_addr, 140 | uint8_t *pbuf, 141 | uint16_t size); 142 | 143 | uint32_t USBD_LL_GetRxDataSize (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 144 | void USBD_LL_Delay (uint32_t Delay); 145 | 146 | /** 147 | * @} 148 | */ 149 | 150 | #ifdef __cplusplus 151 | } 152 | #endif 153 | 154 | #endif /* __USBD_CORE_H */ 155 | 156 | /** 157 | * @} 158 | */ 159 | 160 | /** 161 | * @} 162 | */ 163 | 164 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 165 | 166 | 167 | 168 | -------------------------------------------------------------------------------- /firmware/Inc/usbd_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : usbd_conf.h 4 | * @brief : Header for usbd_conf file. 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2017 STMicroelectronics International N.V. 8 | * All rights reserved. 9 | * 10 | * Redistribution and use in source and binary forms, with or without 11 | * modification, are permitted, provided that the following conditions are met: 12 | * 13 | * 1. Redistribution of source code must retain the above copyright notice, 14 | * this list of conditions and the following disclaimer. 15 | * 2. Redistributions in binary form must reproduce the above copyright notice, 16 | * this list of conditions and the following disclaimer in the documentation 17 | * and/or other materials provided with the distribution. 18 | * 3. Neither the name of STMicroelectronics nor the names of other 19 | * contributors to this software may be used to endorse or promote products 20 | * derived from this software without specific written permission. 21 | * 4. This software, including modifications and/or derivative works of this 22 | * software, must execute solely and exclusively on microcontroller or 23 | * microprocessor devices manufactured by or for STMicroelectronics. 24 | * 5. Redistribution and use of this software other than as permitted under 25 | * this license is void and will automatically terminate your rights under 26 | * this license. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 29 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 30 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 31 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY 32 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 33 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 34 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 35 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 36 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 37 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 38 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 39 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | * 41 | ****************************************************************************** 42 | */ 43 | /* Define to prevent recursive inclusion -------------------------------------*/ 44 | #ifndef __USBD_CONF__H__ 45 | #define __USBD_CONF__H__ 46 | #ifdef __cplusplus 47 | extern "C" { 48 | #endif 49 | 50 | /* Includes ------------------------------------------------------------------*/ 51 | #include 52 | #include 53 | #include 54 | #include "stm32l4xx.h" 55 | #include "stm32l4xx_hal.h" 56 | 57 | /** @addtogroup USBD_OTG_DRIVER 58 | * @{ 59 | */ 60 | 61 | /** @defgroup USBD_CONF 62 | * @brief usb otg low level driver configuration file 63 | * @{ 64 | */ 65 | 66 | /** @defgroup USBD_CONF_Exported_Defines 67 | * @{ 68 | */ 69 | 70 | /*---------- -----------*/ 71 | #define USBD_MAX_NUM_INTERFACES 1 72 | /*---------- -----------*/ 73 | #define USBD_MAX_NUM_CONFIGURATION 1 74 | /*---------- -----------*/ 75 | #define USBD_MAX_STR_DESC_SIZ 512 76 | /*---------- -----------*/ 77 | #define USBD_SUPPORT_USER_STRING 0 78 | /*---------- -----------*/ 79 | #define USBD_DEBUG_LEVEL 0 80 | /*---------- -----------*/ 81 | #define USBD_LPM_ENABLED 1 82 | /*---------- -----------*/ 83 | #define USBD_SELF_POWERED 1 84 | /*---------- -----------*/ 85 | #define USBD_CDC_INTERVAL 1000 86 | 87 | /****************************************/ 88 | /* #define for FS and HS identification */ 89 | #define DEVICE_FS 0 90 | 91 | /** @defgroup USBD_Exported_Macros 92 | * @{ 93 | */ 94 | 95 | /* Memory management macros */ 96 | #define USBD_malloc (uint32_t *)USBD_static_malloc 97 | #define USBD_free USBD_static_free 98 | #define USBD_memset /* Not used */ 99 | #define USBD_memcpy /* Not used */ 100 | 101 | #define USBD_Delay HAL_Delay 102 | 103 | /* DEBUG macros */ 104 | 105 | #if (USBD_DEBUG_LEVEL > 0) 106 | #define USBD_UsrLog(...) printf(__VA_ARGS__);\ 107 | printf("\n"); 108 | #else 109 | #define USBD_UsrLog(...) 110 | #endif 111 | 112 | 113 | #if (USBD_DEBUG_LEVEL > 1) 114 | 115 | #define USBD_ErrLog(...) printf("ERROR: ") ;\ 116 | printf(__VA_ARGS__);\ 117 | printf("\n"); 118 | #else 119 | #define USBD_ErrLog(...) 120 | #endif 121 | 122 | 123 | #if (USBD_DEBUG_LEVEL > 2) 124 | #define USBD_DbgLog(...) printf("DEBUG : ") ;\ 125 | printf(__VA_ARGS__);\ 126 | printf("\n"); 127 | #else 128 | #define USBD_DbgLog(...) 129 | #endif 130 | 131 | /** 132 | * @} 133 | */ 134 | 135 | 136 | 137 | /** 138 | * @} 139 | */ 140 | 141 | /** @defgroup USBD_CONF_Exported_Types 142 | * @{ 143 | */ 144 | /** 145 | * @} 146 | */ 147 | 148 | /** @defgroup USBD_CONF_Exported_Macros 149 | * @{ 150 | */ 151 | /** 152 | * @} 153 | */ 154 | 155 | /** @defgroup USBD_CONF_Exported_Variables 156 | * @{ 157 | */ 158 | /** 159 | * @} 160 | */ 161 | 162 | /** @defgroup USBD_CONF_Exported_FunctionsPrototype 163 | * @{ 164 | */ 165 | /** 166 | * @} 167 | */ 168 | /* Exported functions ------------------------------------------------------- */ 169 | void *USBD_static_malloc(uint32_t size); 170 | void USBD_static_free(void *p); 171 | 172 | #ifdef __cplusplus 173 | } 174 | #endif 175 | 176 | #endif /*__USBD_CONF__H__*/ 177 | 178 | /** 179 | * @} 180 | */ 181 | 182 | /** 183 | * @} 184 | */ 185 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 186 | 187 | -------------------------------------------------------------------------------- /firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_ioreq.c 4 | * @author MCD Application Team 5 | * @version V2.4.2 6 | * @date 11-December-2015 7 | * @brief This file provides the IO requests APIs for control endpoints. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2015 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "usbd_ioreq.h" 30 | 31 | /** @addtogroup STM32_USB_DEVICE_LIBRARY 32 | * @{ 33 | */ 34 | 35 | 36 | /** @defgroup USBD_IOREQ 37 | * @brief control I/O requests module 38 | * @{ 39 | */ 40 | 41 | /** @defgroup USBD_IOREQ_Private_TypesDefinitions 42 | * @{ 43 | */ 44 | /** 45 | * @} 46 | */ 47 | 48 | 49 | /** @defgroup USBD_IOREQ_Private_Defines 50 | * @{ 51 | */ 52 | 53 | /** 54 | * @} 55 | */ 56 | 57 | 58 | /** @defgroup USBD_IOREQ_Private_Macros 59 | * @{ 60 | */ 61 | /** 62 | * @} 63 | */ 64 | 65 | 66 | /** @defgroup USBD_IOREQ_Private_Variables 67 | * @{ 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | 75 | /** @defgroup USBD_IOREQ_Private_FunctionPrototypes 76 | * @{ 77 | */ 78 | /** 79 | * @} 80 | */ 81 | 82 | 83 | /** @defgroup USBD_IOREQ_Private_Functions 84 | * @{ 85 | */ 86 | 87 | /** 88 | * @brief USBD_CtlSendData 89 | * send data on the ctl pipe 90 | * @param pdev: device instance 91 | * @param buff: pointer to data buffer 92 | * @param len: length of data to be sent 93 | * @retval status 94 | */ 95 | USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, 96 | uint8_t *pbuf, 97 | uint16_t len) 98 | { 99 | /* Set EP0 State */ 100 | pdev->ep0_state = USBD_EP0_DATA_IN; 101 | pdev->ep_in[0].total_length = len; 102 | pdev->ep_in[0].rem_length = len; 103 | /* Start the transfer */ 104 | USBD_LL_Transmit (pdev, 0x00, pbuf, len); 105 | 106 | return USBD_OK; 107 | } 108 | 109 | /** 110 | * @brief USBD_CtlContinueSendData 111 | * continue sending data on the ctl pipe 112 | * @param pdev: device instance 113 | * @param buff: pointer to data buffer 114 | * @param len: length of data to be sent 115 | * @retval status 116 | */ 117 | USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, 118 | uint8_t *pbuf, 119 | uint16_t len) 120 | { 121 | /* Start the next transfer */ 122 | USBD_LL_Transmit (pdev, 0x00, pbuf, len); 123 | 124 | return USBD_OK; 125 | } 126 | 127 | /** 128 | * @brief USBD_CtlPrepareRx 129 | * receive data on the ctl pipe 130 | * @param pdev: device instance 131 | * @param buff: pointer to data buffer 132 | * @param len: length of data to be received 133 | * @retval status 134 | */ 135 | USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, 136 | uint8_t *pbuf, 137 | uint16_t len) 138 | { 139 | /* Set EP0 State */ 140 | pdev->ep0_state = USBD_EP0_DATA_OUT; 141 | pdev->ep_out[0].total_length = len; 142 | pdev->ep_out[0].rem_length = len; 143 | /* Start the transfer */ 144 | USBD_LL_PrepareReceive (pdev, 145 | 0, 146 | pbuf, 147 | len); 148 | 149 | return USBD_OK; 150 | } 151 | 152 | /** 153 | * @brief USBD_CtlContinueRx 154 | * continue receive data on the ctl pipe 155 | * @param pdev: device instance 156 | * @param buff: pointer to data buffer 157 | * @param len: length of data to be received 158 | * @retval status 159 | */ 160 | USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev, 161 | uint8_t *pbuf, 162 | uint16_t len) 163 | { 164 | 165 | USBD_LL_PrepareReceive (pdev, 166 | 0, 167 | pbuf, 168 | len); 169 | return USBD_OK; 170 | } 171 | /** 172 | * @brief USBD_CtlSendStatus 173 | * send zero lzngth packet on the ctl pipe 174 | * @param pdev: device instance 175 | * @retval status 176 | */ 177 | USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev) 178 | { 179 | 180 | /* Set EP0 State */ 181 | pdev->ep0_state = USBD_EP0_STATUS_IN; 182 | 183 | /* Start the transfer */ 184 | USBD_LL_Transmit (pdev, 0x00, NULL, 0); 185 | 186 | return USBD_OK; 187 | } 188 | 189 | /** 190 | * @brief USBD_CtlReceiveStatus 191 | * receive zero lzngth packet on the ctl pipe 192 | * @param pdev: device instance 193 | * @retval status 194 | */ 195 | USBD_StatusTypeDef USBD_CtlReceiveStatus (USBD_HandleTypeDef *pdev) 196 | { 197 | /* Set EP0 State */ 198 | pdev->ep0_state = USBD_EP0_STATUS_OUT; 199 | 200 | /* Start the transfer */ 201 | USBD_LL_PrepareReceive ( pdev, 202 | 0, 203 | NULL, 204 | 0); 205 | 206 | return USBD_OK; 207 | } 208 | 209 | 210 | /** 211 | * @brief USBD_GetRxCount 212 | * returns the received data length 213 | * @param pdev: device instance 214 | * @param ep_addr: endpoint address 215 | * @retval Rx Data blength 216 | */ 217 | uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , uint8_t ep_addr) 218 | { 219 | return USBD_LL_GetRxDataSize(pdev, ep_addr); 220 | } 221 | 222 | /** 223 | * @} 224 | */ 225 | 226 | 227 | /** 228 | * @} 229 | */ 230 | 231 | 232 | /** 233 | * @} 234 | */ 235 | 236 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 237 | -------------------------------------------------------------------------------- /tiny-radar-gerbers/tiny-radar.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ;DRILL file {KiCad 4.0.6-e0-6349~53~ubuntu14.04.1} date Thu Apr 13 01:16:23 2017 3 | ;FORMAT={-:-/ absolute / inch / decimal} 4 | FMAT,2 5 | INCH,TZ 6 | T1C0.010 7 | T2C0.015 8 | T3C0.026 9 | T4C0.028 10 | T5C0.039 11 | % 12 | G90 13 | G05 14 | M72 15 | T1 16 | X5.6646Y-2.9839 17 | X5.6646Y-3.0594 18 | X5.6791Y-3.3465 19 | X5.6791Y-3.3661 20 | X5.689Y-2.8071 21 | X5.7205Y-2.8445 22 | X5.7264Y-2.7697 23 | X5.7343Y-3.2539 24 | X5.7894Y-2.7146 25 | X5.8228Y-2.5827 26 | X5.8346Y-3.0728 27 | X5.8465Y-3.5374 28 | X5.8543Y-3.0728 29 | X5.8602Y-3.3465 30 | X5.8661Y-3.5374 31 | X5.9055Y-3.1614 32 | X5.9252Y-2.7323 33 | X5.9409Y-2.9036 34 | X5.9409Y-3.0315 35 | X5.9409Y-3.061 36 | X5.998Y-2.8583 37 | X6.0039Y-3.1791 38 | X6.0138Y-2.7874 39 | X6.0344Y-2.9483 40 | X6.0344Y-3.0162 41 | X6.0531Y-3.1201 42 | X6.0827Y-2.7618 43 | X6.0984Y-2.8622 44 | X6.1024Y-2.9483 45 | X6.1024Y-3.0162 46 | X6.1181Y-3.1043 47 | X6.124Y-2.5846 48 | X6.1378Y-3.1043 49 | X6.1535Y-2.815 50 | X6.1594Y-3.1398 51 | X6.1673Y-2.8425 52 | X6.1811Y-2.5866 53 | X6.1811Y-2.8169 54 | X6.189Y-2.9134 55 | X6.1909Y-3.1673 56 | X6.1969Y-3.0619 57 | X6.2126Y-3.2087 58 | X6.2303Y-3.1791 59 | X6.2402Y-3.0787 60 | X6.2579Y-2.9606 61 | X6.2795Y-2.5866 62 | X6.2795Y-3.248 63 | X6.3091Y-3.1043 64 | X6.3366Y-3.1398 65 | X6.3504Y-3.0512 66 | X6.3563Y-2.8642 67 | X6.378Y-2.5866 68 | X6.4075Y-3.1102 69 | X6.4272Y-3.2795 70 | X6.4272Y-3.3937 71 | X6.4646Y-2.5846 72 | X6.4665Y-2.9429 73 | X6.4862Y-3.2795 74 | X6.4862Y-3.3366 75 | X6.498Y-2.8642 76 | X6.5335Y-3.3642 77 | X6.5374Y-2.9646 78 | X6.5374Y-3. 79 | X6.5374Y-3.2283 80 | X6.5374Y-3.3366 81 | X6.5453Y-2.8976 82 | X6.5453Y-3.0689 83 | X6.565Y-2.8976 84 | X6.5728Y-2.9646 85 | X6.5728Y-3. 86 | X6.5915Y-3.0699 87 | X6.5945Y-3.3169 88 | X6.5945Y-3.3366 89 | X6.6024Y-3.1654 90 | X6.6033Y-3.1102 91 | X6.6398Y-2.9528 92 | X6.6516Y-3.2283 93 | X6.6535Y-3.2854 94 | X6.6555Y-2.8839 95 | X6.7638Y-2.5846 96 | X6.7638Y-2.8248 97 | X6.7638Y-3.1201 98 | X6.7697Y-2.8839 99 | X6.7697Y-3.061 100 | X6.7835Y-3.2874 101 | X6.7894Y-3.4744 102 | X6.8209Y-3.0807 103 | X6.8209Y-3.1496 104 | X6.8209Y-3.2087 105 | X6.8307Y-2.5689 106 | X6.8406Y-3.2874 107 | X6.8465Y-3.4173 108 | X6.8701Y-3.0315 109 | X6.9035Y-3.4134 110 | X6.9193Y-2.8169 111 | X6.9193Y-2.9724 112 | X6.9232Y-2.876 113 | X6.9242Y-2.7087 114 | X6.939Y-3.3071 115 | X6.9488Y-2.5689 116 | X6.9488Y-2.9016 117 | X6.9488Y-3.5531 118 | X6.9744Y-2.876 119 | X6.9823Y-2.8162 120 | X6.9921Y-2.8622 121 | X6.9921Y-3.4134 122 | X7.0079Y-3.3169 123 | X7.0138Y-2.8819 124 | X7.0413Y-2.8156 125 | X7.0423Y-2.7087 126 | X7.0551Y-3.5 127 | X7.0669Y-2.5689 128 | X7.0669Y-2.9626 129 | X7.0768Y-3.2598 130 | X7.0787Y-3.4803 131 | X7.0807Y-3.3602 132 | X7.0827Y-3.4134 133 | X7.0827Y-3.439 134 | X7.1063Y-2.6378 135 | X7.1133Y-2.7823 136 | X7.1133Y-2.8292 137 | X7.1161Y-2.7165 138 | X7.1181Y-2.8878 139 | X7.1181Y-2.9272 140 | X7.122Y-3.3425 141 | X7.1398Y-2.9075 142 | X7.1457Y-3.2283 143 | X7.1457Y-3.5 144 | X7.146Y-2.7823 145 | X7.146Y-2.8292 146 | X7.185Y-2.5689 147 | X7.1909Y-3.498 148 | X7.1949Y-2.7165 149 | X7.2106Y-3.4331 150 | X7.2106Y-3.4764 151 | X7.2146Y-3.2382 152 | X7.2156Y-2.8199 153 | X7.2283Y-2.9193 154 | X7.2343Y-3.3268 155 | X7.248Y-2.9409 156 | X7.2539Y-2.6969 157 | X7.2638Y-3.5531 158 | X7.2677Y-2.9193 159 | X7.2736Y-3.4449 160 | X7.3031Y-2.5689 161 | X7.3031Y-3.2283 162 | X7.3031Y-3.3268 163 | X7.3051Y-3.1693 164 | X7.3228Y-2.6969 165 | X7.3346Y-3.1398 166 | X7.3524Y-3.5531 167 | X7.3622Y-3.4547 168 | X7.3661Y-2.685 169 | X7.3819Y-2.9193 170 | X7.3839Y-2.6634 171 | X7.3839Y-2.7067 172 | X7.4016Y-3.2717 173 | X7.4035Y-2.9409 174 | X7.4213Y-2.5689 175 | X7.4213Y-2.8228 176 | X7.4213Y-2.8406 177 | X7.4213Y-3.1102 178 | X7.4232Y-2.9193 179 | X7.4252Y-3.2953 180 | X7.4449Y-3.1713 181 | X7.4508Y-2.628 182 | X7.4547Y-3.3632 183 | X7.4551Y-3.3882 184 | X7.4551Y-3.4079 185 | X7.4557Y-3.4331 186 | X7.4606Y-3.4744 187 | X7.4606Y-3.5531 188 | X7.4744Y-3.1417 189 | X7.4803Y-2.687 190 | X7.4803Y-2.9705 191 | X7.4843Y-3.2953 192 | X7.5Y-2.7953 193 | X7.5079Y-3.2717 194 | X7.5157Y-3.2126 195 | X7.5315Y-3.0217 196 | X7.5335Y-3.1437 197 | X7.5394Y-2.5689 198 | X7.5394Y-2.6969 199 | X7.5492Y-3.4449 200 | X7.5492Y-3.5531 201 | X7.561Y-2.8465 202 | X7.563Y-2.9055 203 | X7.5669Y-3.1713 204 | X7.5728Y-3.065 205 | X7.5787Y-2.7953 206 | X7.6004Y-2.9429 207 | X7.6083Y-3.248 208 | X7.6083Y-3.3268 209 | X7.6181Y-2.687 210 | X7.6181Y-3.1102 211 | X7.6378Y-2.9803 212 | X7.6378Y-3.4449 213 | X7.6378Y-3.5531 214 | X7.6476Y-2.8051 215 | X7.6575Y-2.5689 216 | X7.6713Y-3.1634 217 | X7.6831Y-3.0256 218 | X7.687Y-2.687 219 | X7.7106Y-2.9606 220 | X7.7224Y-3.2146 221 | X7.7224Y-3.3622 222 | X7.7224Y-3.4154 223 | X7.7264Y-3.5531 224 | X7.7283Y-3.0709 225 | X7.7362Y-2.6575 226 | X7.739Y-2.9252 227 | X7.7402Y-3.3445 228 | X7.7402Y-3.4331 229 | X7.7461Y-2.8583 230 | X7.7618Y-3.3878 231 | X7.7677Y-2.8386 232 | X7.7717Y-3.1142 233 | X7.7756Y-2.5689 234 | X7.7854Y-3.2795 235 | X7.7953Y-3.3878 236 | X7.7953Y-3.5531 237 | X7.7992Y-2.937 238 | X7.7992Y-2.9862 239 | X7.802Y-2.7229 240 | X7.802Y-2.7426 241 | X7.8022Y-2.6978 242 | X7.8022Y-2.7677 243 | X7.8051Y-2.6575 244 | X7.8051Y-3.4744 245 | X7.8169Y-3.1575 246 | X7.8307Y-2.8386 247 | X7.8524Y-2.8583 248 | X7.8602Y-3.1988 249 | X7.8642Y-2.6476 250 | X7.8642Y-3.0217 251 | X7.8642Y-3.5531 252 | X7.8819Y-3.2657 253 | X7.8819Y-3.3268 254 | X7.8937Y-2.5689 255 | X7.9016Y-3.2815 256 | X7.9016Y-3.3071 257 | X7.9035Y-3.4744 258 | X7.9193Y-2.9291 259 | X7.9213Y-2.9862 260 | X7.9232Y-2.687 261 | X7.9429Y-3.5531 262 | X7.9449Y-2.9606 263 | X7.9528Y-2.7953 264 | X7.9528Y-2.8543 265 | X7.9626Y-3.3268 266 | X7.9921Y-2.687 267 | X7.9921Y-3.435 268 | X8.0118Y-2.5689 269 | X8.0118Y-2.8051 270 | X8.0118Y-3.5531 271 | X8.0413Y-3.3169 272 | X8.061Y-2.6772 273 | X8.0709Y-2.8051 274 | X8.0709Y-3.435 275 | X8.0807Y-3.5531 276 | X8.1102Y-3.3169 277 | X8.1142Y-2.685 278 | X8.1299Y-2.5689 279 | X8.1398Y-3.2077 280 | X8.1398Y-3.2352 281 | X8.1398Y-3.2677 282 | X8.1398Y-3.5118 283 | X8.1457Y-3.4665 284 | X8.1467Y-2.6398 285 | X8.1486Y-2.6083 286 | X8.1624Y-2.6841 287 | X8.1663Y-3.5463 288 | X8.1673Y-2.9183 289 | X8.1772Y-2.7982 290 | X8.1791Y-3.3219 291 | X8.1791Y-3.437 292 | X8.1939Y-3.2067 293 | X8.2047Y-3.5463 294 | X8.2106Y-2.5689 295 | X8.2116Y-2.9203 296 | X8.2165Y-3.315 297 | X8.2205Y-2.6841 298 | X8.2224Y-3.437 299 | X8.2333Y-2.815 300 | X8.2392Y-3.2067 301 | X8.2411Y-3.5472 302 | X8.2539Y-2.6841 303 | X8.2549Y-2.9203 304 | X8.2549Y-3.315 305 | X8.2579Y-2.5689 306 | X8.2746Y-3.436 307 | X8.2835Y-3.2077 308 | X8.2874Y-2.8061 309 | X8.2933Y-3.314 310 | X8.2972Y-2.6831 311 | X8.2972Y-3.0246 312 | X8.2972Y-3.0728 313 | X8.2972Y-3.1211 314 | X8.2982Y-3.1772 315 | X8.3002Y-2.9705 316 | X8.3002Y-3.5463 317 | X8.3022Y-2.9193 318 | X8.3081Y-2.5699 319 | T2 320 | X6.8622Y-3.5079 321 | X7.1673Y-3.2874 322 | T5 323 | X6.0106Y-3.3563 324 | X6.0106Y-3.5138 325 | X6.1106Y-3.3563 326 | X6.1106Y-3.5138 327 | X6.2106Y-3.3563 328 | X6.2106Y-3.5138 329 | X6.3106Y-3.3563 330 | X6.3106Y-3.5138 331 | T3 332 | X5.7843Y-2.9264G85X5.8Y-2.9264 333 | G05 334 | X5.7843Y-3.1169G85X5.8Y-3.1169 335 | G05 336 | T4 337 | X5.6642Y-2.9142G85X5.6839Y-2.9142 338 | G05 339 | X5.6642Y-3.1291G85X5.6839Y-3.1291 340 | G05 341 | T0 342 | M30 343 | -------------------------------------------------------------------------------- /phased-array-gerbers/phased-array-B.Mask.gbs: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Soldermask,Bot* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 01:04:39 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | G04 APERTURE END LIST* 11 | D10* 12 | G36* 13 | X128813500Y-156013500D02* 14 | X124186500Y-156013500D01* 15 | X124186500Y-153886500D01* 16 | X128813500Y-153886500D01* 17 | X128813500Y-156013500D01* 18 | X128813500Y-156013500D01* 19 | G37* 20 | G36* 21 | X128813500Y-150063500D02* 22 | X124186500Y-150063500D01* 23 | X124186500Y-147936500D01* 24 | X128813500Y-147936500D01* 25 | X128813500Y-150063500D01* 26 | X128813500Y-150063500D01* 27 | G37* 28 | G36* 29 | X128813500Y-144013500D02* 30 | X124186500Y-144013500D01* 31 | X124186500Y-141886500D01* 32 | X128813500Y-141886500D01* 33 | X128813500Y-144013500D01* 34 | X128813500Y-144013500D01* 35 | G37* 36 | G36* 37 | X101813500Y-138788500D02* 38 | X97186500Y-138788500D01* 39 | X97186500Y-136661500D01* 40 | X101813500Y-136661500D01* 41 | X101813500Y-138788500D01* 42 | X101813500Y-138788500D01* 43 | G37* 44 | G36* 45 | X128813500Y-138063500D02* 46 | X124186500Y-138063500D01* 47 | X124186500Y-135936500D01* 48 | X128813500Y-135936500D01* 49 | X128813500Y-138063500D01* 50 | X128813500Y-138063500D01* 51 | G37* 52 | G36* 53 | X101813500Y-132838500D02* 54 | X97186500Y-132838500D01* 55 | X97186500Y-130711500D01* 56 | X101813500Y-130711500D01* 57 | X101813500Y-132838500D01* 58 | X101813500Y-132838500D01* 59 | G37* 60 | G36* 61 | X128813500Y-132038500D02* 62 | X124186500Y-132038500D01* 63 | X124186500Y-129911500D01* 64 | X128813500Y-129911500D01* 65 | X128813500Y-132038500D01* 66 | X128813500Y-132038500D01* 67 | G37* 68 | G36* 69 | X128813500Y-126088500D02* 70 | X124186500Y-126088500D01* 71 | X124186500Y-123961500D01* 72 | X128813500Y-123961500D01* 73 | X128813500Y-126088500D01* 74 | X128813500Y-126088500D01* 75 | G37* 76 | G36* 77 | X99014948Y-121166573D02* 78 | X99014952Y-121166573D01* 79 | X99017174Y-121166589D01* 80 | X99194347Y-121186462D01* 81 | X99364286Y-121240370D01* 82 | X99520517Y-121326259D01* 83 | X99657091Y-121440858D01* 84 | X99768804Y-121579801D01* 85 | X99851402Y-121737797D01* 86 | X99901739Y-121908827D01* 87 | X99901742Y-121908864D01* 88 | X99901745Y-121908873D01* 89 | X99917899Y-122086376D01* 90 | X99899269Y-122263635D01* 91 | X99899266Y-122263644D01* 92 | X99899262Y-122263685D01* 93 | X99846542Y-122433995D01* 94 | X99761746Y-122590823D01* 95 | X99648103Y-122728193D01* 96 | X99509943Y-122840874D01* 97 | X99352528Y-122924573D01* 98 | X99181853Y-122976103D01* 99 | X99004420Y-122993500D01* 100 | X98995552Y-122993500D01* 101 | X98985052Y-122993427D01* 102 | X98985048Y-122993427D01* 103 | X98982826Y-122993411D01* 104 | X98805653Y-122973538D01* 105 | X98635714Y-122919630D01* 106 | X98479483Y-122833741D01* 107 | X98342909Y-122719142D01* 108 | X98231196Y-122580199D01* 109 | X98148598Y-122422203D01* 110 | X98098261Y-122251173D01* 111 | X98098258Y-122251136D01* 112 | X98098255Y-122251127D01* 113 | X98082101Y-122073624D01* 114 | X98100731Y-121896365D01* 115 | X98100734Y-121896356D01* 116 | X98100738Y-121896315D01* 117 | X98153458Y-121726005D01* 118 | X98238254Y-121569177D01* 119 | X98351897Y-121431807D01* 120 | X98490057Y-121319126D01* 121 | X98647472Y-121235427D01* 122 | X98818147Y-121183897D01* 123 | X98995580Y-121166500D01* 124 | X99004448Y-121166500D01* 125 | X99014948Y-121166573D01* 126 | X99014948Y-121166573D01* 127 | G37* 128 | G36* 129 | X99014948Y-118626573D02* 130 | X99014952Y-118626573D01* 131 | X99017174Y-118626589D01* 132 | X99194347Y-118646462D01* 133 | X99364286Y-118700370D01* 134 | X99520517Y-118786259D01* 135 | X99657091Y-118900858D01* 136 | X99768804Y-119039801D01* 137 | X99851402Y-119197797D01* 138 | X99901739Y-119368827D01* 139 | X99901742Y-119368864D01* 140 | X99901745Y-119368873D01* 141 | X99917899Y-119546376D01* 142 | X99899269Y-119723635D01* 143 | X99899266Y-119723644D01* 144 | X99899262Y-119723685D01* 145 | X99846542Y-119893995D01* 146 | X99761746Y-120050823D01* 147 | X99648103Y-120188193D01* 148 | X99509943Y-120300874D01* 149 | X99352528Y-120384573D01* 150 | X99181853Y-120436103D01* 151 | X99004420Y-120453500D01* 152 | X98995552Y-120453500D01* 153 | X98985052Y-120453427D01* 154 | X98985048Y-120453427D01* 155 | X98982826Y-120453411D01* 156 | X98805653Y-120433538D01* 157 | X98635714Y-120379630D01* 158 | X98479483Y-120293741D01* 159 | X98342909Y-120179142D01* 160 | X98231196Y-120040199D01* 161 | X98148598Y-119882203D01* 162 | X98098261Y-119711173D01* 163 | X98098258Y-119711136D01* 164 | X98098255Y-119711127D01* 165 | X98082101Y-119533624D01* 166 | X98100731Y-119356365D01* 167 | X98100734Y-119356356D01* 168 | X98100738Y-119356315D01* 169 | X98153458Y-119186005D01* 170 | X98238254Y-119029177D01* 171 | X98351897Y-118891807D01* 172 | X98490057Y-118779126D01* 173 | X98647472Y-118695427D01* 174 | X98818147Y-118643897D01* 175 | X98995580Y-118626500D01* 176 | X99004448Y-118626500D01* 177 | X99014948Y-118626573D01* 178 | X99014948Y-118626573D01* 179 | G37* 180 | G36* 181 | X128813500Y-120038500D02* 182 | X124186500Y-120038500D01* 183 | X124186500Y-117911500D01* 184 | X128813500Y-117911500D01* 185 | X128813500Y-120038500D01* 186 | X128813500Y-120038500D01* 187 | G37* 188 | G36* 189 | X99014948Y-116086573D02* 190 | X99014952Y-116086573D01* 191 | X99017174Y-116086589D01* 192 | X99194347Y-116106462D01* 193 | X99364286Y-116160370D01* 194 | X99520517Y-116246259D01* 195 | X99657091Y-116360858D01* 196 | X99768804Y-116499801D01* 197 | X99851402Y-116657797D01* 198 | X99901739Y-116828827D01* 199 | X99901742Y-116828864D01* 200 | X99901745Y-116828873D01* 201 | X99917899Y-117006376D01* 202 | X99899269Y-117183635D01* 203 | X99899266Y-117183644D01* 204 | X99899262Y-117183685D01* 205 | X99846542Y-117353995D01* 206 | X99761746Y-117510823D01* 207 | X99648103Y-117648193D01* 208 | X99509943Y-117760874D01* 209 | X99352528Y-117844573D01* 210 | X99181853Y-117896103D01* 211 | X99004420Y-117913500D01* 212 | X98995552Y-117913500D01* 213 | X98985052Y-117913427D01* 214 | X98985048Y-117913427D01* 215 | X98982826Y-117913411D01* 216 | X98805653Y-117893538D01* 217 | X98635714Y-117839630D01* 218 | X98479483Y-117753741D01* 219 | X98342909Y-117639142D01* 220 | X98231196Y-117500199D01* 221 | X98148598Y-117342203D01* 222 | X98098261Y-117171173D01* 223 | X98098258Y-117171136D01* 224 | X98098255Y-117171127D01* 225 | X98082101Y-116993624D01* 226 | X98100731Y-116816365D01* 227 | X98100734Y-116816356D01* 228 | X98100738Y-116816315D01* 229 | X98153458Y-116646005D01* 230 | X98238254Y-116489177D01* 231 | X98351897Y-116351807D01* 232 | X98490057Y-116239126D01* 233 | X98647472Y-116155427D01* 234 | X98818147Y-116103897D01* 235 | X98995580Y-116086500D01* 236 | X99004448Y-116086500D01* 237 | X99014948Y-116086573D01* 238 | X99014948Y-116086573D01* 239 | G37* 240 | G36* 241 | X99913500Y-115373500D02* 242 | X98086500Y-115373500D01* 243 | X98086500Y-113546500D01* 244 | X99913500Y-113546500D01* 245 | X99913500Y-115373500D01* 246 | X99913500Y-115373500D01* 247 | G37* 248 | G36* 249 | X128813500Y-114088500D02* 250 | X124186500Y-114088500D01* 251 | X124186500Y-111961500D01* 252 | X128813500Y-111961500D01* 253 | X128813500Y-114088500D01* 254 | X128813500Y-114088500D01* 255 | G37* 256 | M02* 257 | -------------------------------------------------------------------------------- /firmware/Drivers/CMSIS/Include/arm_common_tables.h: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Copyright (C) 2010-2014 ARM Limited. All rights reserved. 3 | * 4 | * $Date: 19. October 2015 5 | * $Revision: V.1.4.5 a 6 | * 7 | * Project: CMSIS DSP Library 8 | * Title: arm_common_tables.h 9 | * 10 | * Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions 11 | * 12 | * Target Processor: Cortex-M4/Cortex-M3 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions 16 | * are met: 17 | * - Redistributions of source code must retain the above copyright 18 | * notice, this list of conditions and the following disclaimer. 19 | * - Redistributions in binary form must reproduce the above copyright 20 | * notice, this list of conditions and the following disclaimer in 21 | * the documentation and/or other materials provided with the 22 | * distribution. 23 | * - Neither the name of ARM LIMITED nor the names of its contributors 24 | * may be used to endorse or promote products derived from this 25 | * software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 30 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 31 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 32 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 33 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 34 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 35 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 38 | * POSSIBILITY OF SUCH DAMAGE. 39 | * -------------------------------------------------------------------- */ 40 | 41 | #ifndef _ARM_COMMON_TABLES_H 42 | #define _ARM_COMMON_TABLES_H 43 | 44 | #include "arm_math.h" 45 | 46 | extern const uint16_t armBitRevTable[1024]; 47 | extern const q15_t armRecipTableQ15[64]; 48 | extern const q31_t armRecipTableQ31[64]; 49 | /* extern const q31_t realCoefAQ31[1024]; */ 50 | /* extern const q31_t realCoefBQ31[1024]; */ 51 | extern const float32_t twiddleCoef_16[32]; 52 | extern const float32_t twiddleCoef_32[64]; 53 | extern const float32_t twiddleCoef_64[128]; 54 | extern const float32_t twiddleCoef_128[256]; 55 | extern const float32_t twiddleCoef_256[512]; 56 | extern const float32_t twiddleCoef_512[1024]; 57 | extern const float32_t twiddleCoef_1024[2048]; 58 | extern const float32_t twiddleCoef_2048[4096]; 59 | extern const float32_t twiddleCoef_4096[8192]; 60 | #define twiddleCoef twiddleCoef_4096 61 | extern const q31_t twiddleCoef_16_q31[24]; 62 | extern const q31_t twiddleCoef_32_q31[48]; 63 | extern const q31_t twiddleCoef_64_q31[96]; 64 | extern const q31_t twiddleCoef_128_q31[192]; 65 | extern const q31_t twiddleCoef_256_q31[384]; 66 | extern const q31_t twiddleCoef_512_q31[768]; 67 | extern const q31_t twiddleCoef_1024_q31[1536]; 68 | extern const q31_t twiddleCoef_2048_q31[3072]; 69 | extern const q31_t twiddleCoef_4096_q31[6144]; 70 | extern const q15_t twiddleCoef_16_q15[24]; 71 | extern const q15_t twiddleCoef_32_q15[48]; 72 | extern const q15_t twiddleCoef_64_q15[96]; 73 | extern const q15_t twiddleCoef_128_q15[192]; 74 | extern const q15_t twiddleCoef_256_q15[384]; 75 | extern const q15_t twiddleCoef_512_q15[768]; 76 | extern const q15_t twiddleCoef_1024_q15[1536]; 77 | extern const q15_t twiddleCoef_2048_q15[3072]; 78 | extern const q15_t twiddleCoef_4096_q15[6144]; 79 | extern const float32_t twiddleCoef_rfft_32[32]; 80 | extern const float32_t twiddleCoef_rfft_64[64]; 81 | extern const float32_t twiddleCoef_rfft_128[128]; 82 | extern const float32_t twiddleCoef_rfft_256[256]; 83 | extern const float32_t twiddleCoef_rfft_512[512]; 84 | extern const float32_t twiddleCoef_rfft_1024[1024]; 85 | extern const float32_t twiddleCoef_rfft_2048[2048]; 86 | extern const float32_t twiddleCoef_rfft_4096[4096]; 87 | 88 | 89 | /* floating-point bit reversal tables */ 90 | #define ARMBITREVINDEXTABLE__16_TABLE_LENGTH ((uint16_t)20 ) 91 | #define ARMBITREVINDEXTABLE__32_TABLE_LENGTH ((uint16_t)48 ) 92 | #define ARMBITREVINDEXTABLE__64_TABLE_LENGTH ((uint16_t)56 ) 93 | #define ARMBITREVINDEXTABLE_128_TABLE_LENGTH ((uint16_t)208 ) 94 | #define ARMBITREVINDEXTABLE_256_TABLE_LENGTH ((uint16_t)440 ) 95 | #define ARMBITREVINDEXTABLE_512_TABLE_LENGTH ((uint16_t)448 ) 96 | #define ARMBITREVINDEXTABLE1024_TABLE_LENGTH ((uint16_t)1800) 97 | #define ARMBITREVINDEXTABLE2048_TABLE_LENGTH ((uint16_t)3808) 98 | #define ARMBITREVINDEXTABLE4096_TABLE_LENGTH ((uint16_t)4032) 99 | 100 | extern const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE__16_TABLE_LENGTH]; 101 | extern const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE__32_TABLE_LENGTH]; 102 | extern const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE__64_TABLE_LENGTH]; 103 | extern const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH]; 104 | extern const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH]; 105 | extern const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH]; 106 | extern const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE1024_TABLE_LENGTH]; 107 | extern const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE2048_TABLE_LENGTH]; 108 | extern const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE4096_TABLE_LENGTH]; 109 | 110 | /* fixed-point bit reversal tables */ 111 | #define ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH ((uint16_t)12 ) 112 | #define ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH ((uint16_t)24 ) 113 | #define ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH ((uint16_t)56 ) 114 | #define ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH ((uint16_t)112 ) 115 | #define ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH ((uint16_t)240 ) 116 | #define ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH ((uint16_t)480 ) 117 | #define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH ((uint16_t)992 ) 118 | #define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH ((uint16_t)1984) 119 | #define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH ((uint16_t)4032) 120 | 121 | extern const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH]; 122 | extern const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH]; 123 | extern const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH]; 124 | extern const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH]; 125 | extern const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH]; 126 | extern const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH]; 127 | extern const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]; 128 | extern const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]; 129 | extern const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]; 130 | 131 | /* Tables for Fast Math Sine and Cosine */ 132 | extern const float32_t sinTable_f32[FAST_MATH_TABLE_SIZE + 1]; 133 | extern const q31_t sinTable_q31[FAST_MATH_TABLE_SIZE + 1]; 134 | extern const q15_t sinTable_q15[FAST_MATH_TABLE_SIZE + 1]; 135 | 136 | #endif /* ARM_COMMON_TABLES_H */ 137 | -------------------------------------------------------------------------------- /external-pa-gerbers/tiny-pa-B.SilkS.gbo: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Legend,Bot* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 00:44:52 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | %ADD11C,0.300000*% 11 | G04 APERTURE END LIST* 12 | D10* 13 | D11* 14 | X156207142Y-81978571D02* 15 | X155635713Y-81978571D01* 16 | X155992856Y-81478571D02* 17 | X155992856Y-82764286D01* 18 | X155921428Y-82907143D01* 19 | X155778570Y-82978571D01* 20 | X155635713Y-82978571D01* 21 | X155135713Y-82978571D02* 22 | X155135713Y-81978571D01* 23 | X155135713Y-81478571D02* 24 | X155207142Y-81550000D01* 25 | X155135713Y-81621429D01* 26 | X155064285Y-81550000D01* 27 | X155135713Y-81478571D01* 28 | X155135713Y-81621429D01* 29 | X154421427Y-81978571D02* 30 | X154421427Y-82978571D01* 31 | X154421427Y-82121429D02* 32 | X154349999Y-82050000D01* 33 | X154207141Y-81978571D01* 34 | X153992856Y-81978571D01* 35 | X153849999Y-82050000D01* 36 | X153778570Y-82192857D01* 37 | X153778570Y-82978571D01* 38 | X153207141Y-81978571D02* 39 | X152849998Y-82978571D01* 40 | X152492856Y-81978571D02* 41 | X152849998Y-82978571D01* 42 | X152992856Y-83335714D01* 43 | X153064284Y-83407143D01* 44 | X153207141Y-83478571D01* 45 | X150778570Y-82978571D02* 46 | X150778570Y-81478571D01* 47 | X150207142Y-81478571D01* 48 | X150064284Y-81550000D01* 49 | X149992856Y-81621429D01* 50 | X149921427Y-81764286D01* 51 | X149921427Y-81978571D01* 52 | X149992856Y-82121429D01* 53 | X150064284Y-82192857D01* 54 | X150207142Y-82264286D01* 55 | X150778570Y-82264286D01* 56 | X149349999Y-82550000D02* 57 | X148635713Y-82550000D01* 58 | X149492856Y-82978571D02* 59 | X148992856Y-81478571D01* 60 | X148492856Y-82978571D01* 61 | X146992856Y-81978571D02* 62 | X146635713Y-82978571D01* 63 | X146278571Y-81978571D01* 64 | X144921428Y-82978571D02* 65 | X145778571Y-82978571D01* 66 | X145349999Y-82978571D02* 67 | X145349999Y-81478571D01* 68 | X145492856Y-81692857D01* 69 | X145635714Y-81835714D01* 70 | X145778571Y-81907143D01* 71 | X144278571Y-82835714D02* 72 | X144207143Y-82907143D01* 73 | X144278571Y-82978571D01* 74 | X144350000Y-82907143D01* 75 | X144278571Y-82835714D01* 76 | X144278571Y-82978571D01* 77 | X143278571Y-81478571D02* 78 | X143135714Y-81478571D01* 79 | X142992857Y-81550000D01* 80 | X142921428Y-81621429D01* 81 | X142849999Y-81764286D01* 82 | X142778571Y-82050000D01* 83 | X142778571Y-82407143D01* 84 | X142849999Y-82692857D01* 85 | X142921428Y-82835714D01* 86 | X142992857Y-82907143D01* 87 | X143135714Y-82978571D01* 88 | X143278571Y-82978571D01* 89 | X143421428Y-82907143D01* 90 | X143492857Y-82835714D01* 91 | X143564285Y-82692857D01* 92 | X143635714Y-82407143D01* 93 | X143635714Y-82050000D01* 94 | X143564285Y-81764286D01* 95 | X143492857Y-81621429D01* 96 | X143421428Y-81550000D01* 97 | X143278571Y-81478571D01* 98 | X157707143Y-84528571D02* 99 | X157421429Y-85528571D01* 100 | X157135715Y-84814286D01* 101 | X156850000Y-85528571D01* 102 | X156564286Y-84528571D01* 103 | X155992857Y-85528571D02* 104 | X155992857Y-84028571D01* 105 | X155992857Y-84600000D02* 106 | X155850000Y-84528571D01* 107 | X155564286Y-84528571D01* 108 | X155421429Y-84600000D01* 109 | X155350000Y-84671429D01* 110 | X155278571Y-84814286D01* 111 | X155278571Y-85242857D01* 112 | X155350000Y-85385714D01* 113 | X155421429Y-85457143D01* 114 | X155564286Y-85528571D01* 115 | X155850000Y-85528571D01* 116 | X155992857Y-85457143D01* 117 | X154635714Y-85528571D02* 118 | X154635714Y-84528571D01* 119 | X154635714Y-84814286D02* 120 | X154564286Y-84671429D01* 121 | X154492857Y-84600000D01* 122 | X154350000Y-84528571D01* 123 | X154207143Y-84528571D01* 124 | X153064286Y-85528571D02* 125 | X153064286Y-84742857D01* 126 | X153135715Y-84600000D01* 127 | X153278572Y-84528571D01* 128 | X153564286Y-84528571D01* 129 | X153707143Y-84600000D01* 130 | X153064286Y-85457143D02* 131 | X153207143Y-85528571D01* 132 | X153564286Y-85528571D01* 133 | X153707143Y-85457143D01* 134 | X153778572Y-85314286D01* 135 | X153778572Y-85171429D01* 136 | X153707143Y-85028571D01* 137 | X153564286Y-84957143D01* 138 | X153207143Y-84957143D01* 139 | X153064286Y-84885714D01* 140 | X151707143Y-84528571D02* 141 | X151707143Y-85528571D01* 142 | X152350000Y-84528571D02* 143 | X152350000Y-85314286D01* 144 | X152278572Y-85457143D01* 145 | X152135714Y-85528571D01* 146 | X151921429Y-85528571D01* 147 | X151778572Y-85457143D01* 148 | X151707143Y-85385714D01* 149 | X150992857Y-84528571D02* 150 | X150992857Y-85528571D01* 151 | X150992857Y-84671429D02* 152 | X150921429Y-84600000D01* 153 | X150778571Y-84528571D01* 154 | X150564286Y-84528571D01* 155 | X150421429Y-84600000D01* 156 | X150350000Y-84742857D01* 157 | X150350000Y-85528571D01* 158 | X148707143Y-84814286D02* 159 | X148778571Y-84742857D01* 160 | X148921428Y-84671429D01* 161 | X149064286Y-84671429D01* 162 | X149207143Y-84742857D01* 163 | X149278571Y-84814286D01* 164 | X149350000Y-84957143D01* 165 | X149350000Y-85100000D01* 166 | X149278571Y-85242857D01* 167 | X149207143Y-85314286D01* 168 | X149064286Y-85385714D01* 169 | X148921428Y-85385714D01* 170 | X148778571Y-85314286D01* 171 | X148707143Y-85242857D01* 172 | X148707143Y-84671429D02* 173 | X148707143Y-85242857D01* 174 | X148635714Y-85314286D01* 175 | X148564286Y-85314286D01* 176 | X148421428Y-85242857D01* 177 | X148350000Y-85100000D01* 178 | X148350000Y-84742857D01* 179 | X148492857Y-84528571D01* 180 | X148707143Y-84385714D01* 181 | X148992857Y-84314286D01* 182 | X149278571Y-84385714D01* 183 | X149492857Y-84528571D01* 184 | X149635714Y-84742857D01* 185 | X149707143Y-85028571D01* 186 | X149635714Y-85314286D01* 187 | X149492857Y-85528571D01* 188 | X149278571Y-85671429D01* 189 | X148992857Y-85742857D01* 190 | X148707143Y-85671429D01* 191 | X148492857Y-85528571D01* 192 | X147707143Y-85528571D02* 193 | X147707143Y-84528571D01* 194 | X147707143Y-84671429D02* 195 | X147635715Y-84600000D01* 196 | X147492857Y-84528571D01* 197 | X147278572Y-84528571D01* 198 | X147135715Y-84600000D01* 199 | X147064286Y-84742857D01* 200 | X147064286Y-85528571D01* 201 | X147064286Y-84742857D02* 202 | X146992857Y-84600000D01* 203 | X146850000Y-84528571D01* 204 | X146635715Y-84528571D01* 205 | X146492857Y-84600000D01* 206 | X146421429Y-84742857D01* 207 | X146421429Y-85528571D01* 208 | X145707143Y-85528571D02* 209 | X145707143Y-84528571D01* 210 | X145707143Y-84028571D02* 211 | X145778572Y-84100000D01* 212 | X145707143Y-84171429D01* 213 | X145635715Y-84100000D01* 214 | X145707143Y-84028571D01* 215 | X145707143Y-84171429D01* 216 | X145207143Y-84528571D02* 217 | X144635714Y-84528571D01* 218 | X144992857Y-84028571D02* 219 | X144992857Y-85314286D01* 220 | X144921429Y-85457143D01* 221 | X144778571Y-85528571D01* 222 | X144635714Y-85528571D01* 223 | X144135714Y-85385714D02* 224 | X144064286Y-85457143D01* 225 | X144135714Y-85528571D01* 226 | X144207143Y-85457143D01* 227 | X144135714Y-85385714D01* 228 | X144135714Y-85528571D01* 229 | X142850000Y-85457143D02* 230 | X142992857Y-85528571D01* 231 | X143278571Y-85528571D01* 232 | X143421428Y-85457143D01* 233 | X143492857Y-85314286D01* 234 | X143492857Y-84742857D01* 235 | X143421428Y-84600000D01* 236 | X143278571Y-84528571D01* 237 | X142992857Y-84528571D01* 238 | X142850000Y-84600000D01* 239 | X142778571Y-84742857D01* 240 | X142778571Y-84885714D01* 241 | X143492857Y-85028571D01* 242 | X141492857Y-85528571D02* 243 | X141492857Y-84028571D01* 244 | X141492857Y-85457143D02* 245 | X141635714Y-85528571D01* 246 | X141921428Y-85528571D01* 247 | X142064286Y-85457143D01* 248 | X142135714Y-85385714D01* 249 | X142207143Y-85242857D01* 250 | X142207143Y-84814286D01* 251 | X142135714Y-84671429D01* 252 | X142064286Y-84600000D01* 253 | X141921428Y-84528571D01* 254 | X141635714Y-84528571D01* 255 | X141492857Y-84600000D01* 256 | X140135714Y-84528571D02* 257 | X140135714Y-85528571D01* 258 | X140778571Y-84528571D02* 259 | X140778571Y-85314286D01* 260 | X140707143Y-85457143D01* 261 | X140564285Y-85528571D01* 262 | X140350000Y-85528571D01* 263 | X140207143Y-85457143D01* 264 | X140135714Y-85385714D01* 265 | M02* 266 | -------------------------------------------------------------------------------- /phased-array-gerbers/phased-array.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ;DRILL file {KiCad 4.0.6-e0-6349~53~ubuntu14.04.1} date Thu Apr 13 01:04:42 2017 3 | ;FORMAT={-:-/ absolute / inch / decimal} 4 | FMAT,2 5 | INCH,TZ 6 | T1C0.010 7 | T2C0.039 8 | % 9 | G90 10 | G05 11 | M72 12 | T1 13 | X3.8612Y-4.874 14 | X3.8622Y-4.9409 15 | X3.8622Y-5.4783 16 | X3.8632Y-4.999 17 | X3.8642Y-5.065 18 | X3.8642Y-5.1329 19 | X3.8642Y-5.2451 20 | X3.8642Y-5.5236 21 | X3.8642Y-5.5846 22 | X3.8652Y-5.6506 23 | X3.8652Y-5.7402 24 | X3.8661Y-5.8022 25 | X3.8661Y-5.8829 26 | X3.8661Y-5.9498 27 | X3.8671Y-6.0197 28 | X3.8671Y-6.0787 29 | X3.8681Y-6.1171 30 | X3.8701Y-4.4085 31 | X3.8711Y-4.3553 32 | X3.8789Y-5.3642 33 | X3.9134Y-5.4774 34 | X3.9203Y-5.1339 35 | X3.9252Y-6.1181 36 | X3.9272Y-5.2461 37 | X3.9478Y-5.3661 38 | X3.9528Y-4.3543 39 | X3.9724Y-5.4813 40 | X3.9764Y-5.1339 41 | X3.9892Y-5.2569 42 | X3.9921Y-6.1181 43 | X4.0118Y-5.3553 44 | X4.0177Y-4.3543 45 | X4.0217Y-5.4045 46 | X4.0236Y-5.2313 47 | X4.0246Y-5.1368 48 | X4.0246Y-5.1762 49 | X4.0246Y-5.4528 50 | X4.0512Y-6.1191 51 | X4.0551Y-5.2785 52 | X4.0551Y-5.3307 53 | X4.0748Y-5.2579 54 | X4.0748Y-5.3524 55 | X4.0886Y-4.3543 56 | X4.0945Y-4.6467 57 | X4.1073Y-6.1191 58 | X4.1201Y-5.3839 59 | X4.122Y-5.685 60 | X4.123Y-5.7589 61 | X4.124Y-4.878 62 | X4.124Y-4.935 63 | X4.124Y-4.9951 64 | X4.124Y-5.622 65 | X4.128Y-5.2283 66 | X4.1348Y-5.3051 67 | X4.1437Y-4.8179 68 | X4.1526Y-5.0502 69 | X4.1535Y-5.5591 70 | X4.1535Y-5.8051 71 | X4.1634Y-4.5768 72 | X4.1654Y-6.1201 73 | X4.1693Y-5.4006 74 | X4.1722Y-4.3543 75 | X4.1752Y-5.1033 76 | X4.1752Y-5.1555 77 | X4.1752Y-5.2096 78 | X4.1762Y-5.4518 79 | X4.1762Y-5.5049 80 | X4.1811Y-4.6752 81 | X4.189Y-4.7343 82 | X4.1929Y-5.7933 83 | X4.2126Y-4.7953 84 | X4.2126Y-4.8898 85 | X4.2126Y-5.7205 86 | X4.2126Y-5.815 87 | X4.2195Y-4.9734 88 | X4.2215Y-5.6732 89 | X4.2224Y-4.6358 90 | X4.2244Y-6.1201 91 | X4.2254Y-5.6309 92 | X4.2264Y-5.3071 93 | X4.2343Y-4.5295 94 | X4.2343Y-4.565 95 | X4.2421Y-4.6752 96 | X4.249Y-5.3376 97 | X4.2539Y-5.687 98 | X4.2598Y-5.0167 99 | X4.2618Y-4.4596 100 | X4.2618Y-5.2638 101 | X4.2697Y-4.5295 102 | X4.2697Y-4.565 103 | X4.2707Y-4.8425 104 | X4.2707Y-4.9193 105 | X4.2707Y-5.5787 106 | X4.2717Y-4.6358 107 | X4.2717Y-5.1929 108 | X4.2717Y-5.5167 109 | X4.2726Y-5.1368 110 | X4.2726Y-5.4577 111 | X4.2726Y-5.7677 112 | X4.2736Y-5.3947 113 | X4.2746Y-5.0787 114 | X4.2776Y-5.8642 115 | X4.2785Y-5.6693 116 | X4.2795Y-5.9272 117 | X4.2874Y-6.1201 118 | X4.2923Y-4.9567 119 | X4.2923Y-5.6211 120 | X4.3189Y-5.0138 121 | X4.3219Y-4.6751 122 | X4.3258Y-5.9902 123 | X4.3268Y-5.1319 124 | X4.3268Y-5.247 125 | X4.3278Y-5.186 126 | X4.3317Y-5.5856 127 | X4.3435Y-6.1201 128 | X4.3573Y-4.6359 129 | X4.3612Y-5.2766 130 | X4.3661Y-5.0285 131 | X4.372Y-5.5443 132 | X4.3799Y-5.686 133 | X4.3809Y-5.8583 134 | X4.3819Y-4.9035 135 | X4.3819Y-5.1112 136 | X4.3829Y-4.814 137 | X4.3888Y-4.7461 138 | X4.3888Y-4.8642 139 | X4.3917Y-5.8986 140 | X4.3947Y-6.0472 141 | X4.3986Y-4.5807 142 | X4.4035Y-6.1211 143 | X4.4045Y-5.7293 144 | X4.4045Y-5.7972 145 | X4.4055Y-5.063 146 | X4.4134Y-5.4951 147 | X4.4163Y-5.1614 148 | X4.4203Y-5.2766 149 | X4.4252Y-4.56 150 | X4.4291Y-4.7805 151 | X4.4291Y-4.8583 152 | X4.4301Y-5.6722 153 | X4.4301Y-5.9331 154 | X4.4311Y-4.5207 155 | X4.4311Y-4.7333 156 | X4.4439Y-5.6289 157 | X4.4488Y-4.936 158 | X4.4498Y-5.1043 159 | X4.4518Y-5.4685 160 | X4.4518Y-5.8514 161 | X4.4577Y-4.9764 162 | X4.4587Y-4.5 163 | X4.4636Y-5.6043 164 | X4.4646Y-5.9665 165 | X4.4646Y-6.0965 166 | X4.4695Y-4.5522 167 | X4.4724Y-4.6654 168 | X4.4754Y-4.7549 169 | X4.4803Y-5.6732 170 | X4.4833Y-5.2746 171 | X4.4843Y-4.4764 172 | X4.4852Y-5.0059 173 | X4.4931Y-5.1614 174 | X4.4961Y-5.4035 175 | X4.4961Y-5.5758 176 | X4.501Y-4.9665 177 | X4.5069Y-6.1201 178 | X4.5089Y-5.4636 179 | X4.5108Y-5.3278 180 | X4.5118Y-4.5512 181 | X4.5118Y-5.1063 182 | X4.5118Y-5.8573 183 | X4.5157Y-4.6555 184 | X4.5157Y-5.9862 185 | X4.5217Y-4.7362 186 | X4.5226Y-5.6565 187 | X4.5246Y-4.9252 188 | X4.5256Y-5.0049 189 | X4.5374Y-4.8681 190 | X4.5394Y-5.3612 191 | X4.54Y-5.94 192 | X4.5433Y-5.8701 193 | X4.5453Y-4.503 194 | X4.55Y-4.96 195 | X4.55Y-5.425 196 | X4.5551Y-4.4783 197 | X4.5551Y-6.0984 198 | X4.5581Y-5.9124 199 | X4.5591Y-5.1624 200 | X4.56Y-4.627 201 | X4.56Y-4.9961 202 | X4.56Y-5.0295 203 | X4.56Y-5.0787 204 | X4.561Y-4.5229 205 | X4.561Y-4.562 206 | X4.561Y-4.936 207 | X4.561Y-5.5719 208 | X4.561Y-6.0167 209 | X4.5611Y-5.9784 210 | X4.5611Y-5.4034 211 | X4.562Y-5.1102 212 | X4.562Y-6.062 213 | X4.563Y-5.4626 214 | X4.563Y-5.5 215 | X4.563Y-5.5453 216 | X4.565Y-4.6535 217 | X4.5689Y-4.9045 218 | X4.5728Y-5.6506 219 | X4.5768Y-4.6949 220 | X4.5955Y-5.5876 221 | X4.5984Y-5.626 222 | X4.6063Y-4.6949 223 | X4.6161Y-5.1476 224 | X4.6358Y-5.128 225 | X4.6358Y-5.5955 226 | X4.6358Y-6.1132 227 | X4.6368Y-4.6752 228 | X4.6476Y-5.2185 229 | X4.6476Y-5.2539 230 | X4.6476Y-5.7087 231 | X4.6476Y-5.7441 232 | X4.648Y-4.757 233 | X4.648Y-4.7924 234 | X4.6511Y-4.5187 235 | X4.6511Y-4.5866 236 | X4.6511Y-4.9715 237 | X4.6511Y-5.0394 238 | X4.6511Y-5.4385 239 | X4.6511Y-5.5064 240 | X4.6511Y-5.9557 241 | X4.6511Y-6.0236 242 | X4.6555Y-5.6378 243 | X4.665Y-5.83 244 | X4.6752Y-4.6752 245 | X4.6752Y-5.128 246 | X4.6752Y-5.5955 247 | X4.6752Y-6.1132 248 | X4.6831Y-5.2185 249 | X4.6831Y-5.2539 250 | X4.6831Y-5.7087 251 | X4.6831Y-5.7441 252 | X4.6834Y-4.757 253 | X4.6834Y-4.7924 254 | X4.6949Y-5.6368 255 | X4.7146Y-4.6752 256 | X4.7146Y-5.128 257 | X4.7146Y-5.5955 258 | X4.7146Y-6.1132 259 | X4.7165Y-5.1781 260 | X4.719Y-4.5187 261 | X4.719Y-4.5866 262 | X4.719Y-4.9715 263 | X4.719Y-5.0394 264 | X4.719Y-5.4385 265 | X4.719Y-5.5064 266 | X4.719Y-5.9557 267 | X4.719Y-6.0236 268 | X4.7343Y-5.1486 269 | X4.753Y-5.2067 270 | X4.753Y-5.6969 271 | X4.7539Y-4.6752 272 | X4.7539Y-4.7451 273 | X4.7539Y-5.128 274 | X4.7539Y-5.5955 275 | X4.7539Y-6.1132 276 | X4.7587Y-4.7063 277 | X4.7608Y-4.3514 278 | X4.7894Y-4.4045 279 | X4.8081Y-5.4035 280 | X4.8081Y-5.9803 281 | X4.8089Y-5.5001 282 | X4.8091Y-5.4626 283 | X4.8091Y-5.5463 284 | X4.8091Y-6.062 285 | X4.811Y-4.4843 286 | X4.811Y-4.624 287 | X4.811Y-4.9321 288 | X4.811Y-5.0778 289 | X4.811Y-5.9301 290 | X4.813Y-4.5679 291 | X4.813Y-4.9961 292 | X4.813Y-5.0246 293 | X4.813Y-6.0128 294 | X4.816Y-4.523 295 | X4.8228Y-4.7421 296 | X4.8228Y-4.8602 297 | X4.8228Y-5.1969 298 | X4.8228Y-5.315 299 | X4.8228Y-5.688 300 | X4.8228Y-5.8051 301 | X4.8248Y-6.1161 302 | X4.825Y-5.44 303 | X4.825Y-5.96 304 | X4.83Y-4.975 305 | X4.8386Y-4.6378 306 | X4.8465Y-5.5709 307 | X4.8543Y-4.3524 308 | X4.8583Y-4.4961 309 | X4.8642Y-4.6152 310 | X4.872Y-5.1368 311 | X4.874Y-5.1732 312 | X4.874Y-5.6102 313 | X4.876Y-5.6545 314 | X4.877Y-4.4183 315 | X4.877Y-5.4035 316 | X4.877Y-5.8819 317 | X4.878Y-4.4646 318 | X4.878Y-4.9006 319 | X4.878Y-4.94 320 | X4.878Y-5.3632 321 | X4.878Y-5.8415 322 | X4.878Y-6.0797 323 | X4.878Y-6.1152 324 | X4.8789Y-4.6663 325 | X4.8799Y-4.7116 326 | X4.8799Y-5.1053 327 | X4.8809Y-4.5207 328 | X4.8917Y-5.5699 329 | X4.8937Y-4.9902 330 | X4.8957Y-5.2146 331 | X4.8967Y-4.8691 332 | X4.8967Y-5.4478 333 | X4.8996Y-4.6142 334 | X4.8996Y-4.7362 335 | X4.8996Y-5.687 336 | X4.8996Y-5.811 337 | X4.9006Y-5.3396 338 | X4.9016Y-5.9203 339 | X4.9035Y-4.3967 340 | X4.9124Y-6.0463 341 | X4.9252Y-4.5177 342 | X4.94Y-4.9793 343 | X4.9419Y-5.1014 344 | X4.9429Y-4.624 345 | X4.9429Y-4.8691 346 | X4.9429Y-5.4478 347 | X4.9429Y-5.5709 348 | X4.9459Y-5.2116 349 | X4.9459Y-5.812 350 | X4.9469Y-5.3396 351 | X4.9478Y-4.7362 352 | X4.9478Y-6.0404 353 | X4.9488Y-5.9213 354 | X4.9528Y-4.3514 355 | X4.9577Y-5.685 356 | X4.9646Y-4.3957 357 | X4.9665Y-4.5098 358 | X4.9833Y-5.5738 359 | X4.9852Y-5.4498 360 | X4.9862Y-4.9793 361 | X4.9882Y-4.8691 362 | X4.9892Y-5.0974 363 | X4.9892Y-5.2136 364 | X4.9902Y-4.623 365 | X4.9902Y-5.3396 366 | X4.9902Y-5.9222 367 | X4.9911Y-4.7362 368 | X4.9931Y-5.811 369 | X4.9931Y-6.0404 370 | X4.997Y-5.6831 371 | X5.0069Y-4.3967 372 | X5.0079Y-4.5108 373 | X5.0305Y-5.9222 374 | X5.0325Y-5.4498 375 | X5.0335Y-5.5699 376 | X5.0344Y-4.9793 377 | X5.0344Y-5.0984 378 | X5.0344Y-5.2126 379 | X5.0344Y-5.3376 380 | X5.0344Y-5.685 381 | X5.0354Y-4.623 382 | X5.0354Y-4.7372 383 | X5.0354Y-4.8681 384 | X5.0354Y-6.0413 385 | X5.0364Y-5.7451 386 | X5.0364Y-5.8051 387 | X5.0374Y-4.3514 388 | X5.0394Y-4.3967 389 | X5.0394Y-4.5108 390 | T2 391 | X3.8976Y-4.5063 392 | X3.8976Y-4.6063 393 | X3.8976Y-4.7063 394 | X3.8976Y-4.8063 395 | T0 396 | M30 397 | -------------------------------------------------------------------------------- /firmware/Src/stm32l4xx_it.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32l4xx_it.c 4 | * @brief Interrupt Service Routines. 5 | ****************************************************************************** 6 | * 7 | * COPYRIGHT(c) 2017 STMicroelectronics 8 | * 9 | * Redistribution and use in source and binary forms, with or without modification, 10 | * are permitted provided that the following conditions are met: 11 | * 1. Redistributions of source code must retain the above copyright notice, 12 | * this list of conditions and the following disclaimer. 13 | * 2. Redistributions in binary form must reproduce the above copyright notice, 14 | * this list of conditions and the following disclaimer in the documentation 15 | * and/or other materials provided with the distribution. 16 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 17 | * may be used to endorse or promote products derived from this software 18 | * without specific prior written permission. 19 | * 20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | * 31 | ****************************************************************************** 32 | */ 33 | /* Includes ------------------------------------------------------------------*/ 34 | #include "stm32l4xx_hal.h" 35 | #include "stm32l4xx.h" 36 | #include "stm32l4xx_it.h" 37 | 38 | /* USER CODE BEGIN 0 */ 39 | #include "serial_format.h" 40 | /* USER CODE END 0 */ 41 | 42 | /* External variables --------------------------------------------------------*/ 43 | extern PCD_HandleTypeDef hpcd_USB_FS; 44 | extern DMA_HandleTypeDef hdma_adc1; 45 | extern DMA_HandleTypeDef hdma_dac_ch2; 46 | extern int z; 47 | extern int q; 48 | uint8_t print_buff[4098]; 49 | volatile uint16_t adc_buffer[2048]; 50 | 51 | /******************************************************************************/ 52 | /* Cortex-M4 Processor Interruption and Exception Handlers */ 53 | /******************************************************************************/ 54 | 55 | /** 56 | * @brief This function handles Non maskable interrupt. 57 | */ 58 | void NMI_Handler(void) 59 | { 60 | /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ 61 | 62 | /* USER CODE END NonMaskableInt_IRQn 0 */ 63 | /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ 64 | 65 | /* USER CODE END NonMaskableInt_IRQn 1 */ 66 | } 67 | 68 | /** 69 | * @brief This function handles Hard fault interrupt. 70 | */ 71 | void HardFault_Handler(void) 72 | { 73 | /* USER CODE BEGIN HardFault_IRQn 0 */ 74 | 75 | /* USER CODE END HardFault_IRQn 0 */ 76 | while (1) 77 | { 78 | } 79 | /* USER CODE BEGIN HardFault_IRQn 1 */ 80 | 81 | /* USER CODE END HardFault_IRQn 1 */ 82 | } 83 | 84 | /** 85 | * @brief This function handles Memory management fault. 86 | */ 87 | void MemManage_Handler(void) 88 | { 89 | /* USER CODE BEGIN MemoryManagement_IRQn 0 */ 90 | 91 | /* USER CODE END MemoryManagement_IRQn 0 */ 92 | while (1) 93 | { 94 | } 95 | /* USER CODE BEGIN MemoryManagement_IRQn 1 */ 96 | 97 | /* USER CODE END MemoryManagement_IRQn 1 */ 98 | } 99 | 100 | /** 101 | * @brief This function handles Prefetch fault, memory access fault. 102 | */ 103 | void BusFault_Handler(void) 104 | { 105 | /* USER CODE BEGIN BusFault_IRQn 0 */ 106 | 107 | /* USER CODE END BusFault_IRQn 0 */ 108 | while (1) 109 | { 110 | } 111 | /* USER CODE BEGIN BusFault_IRQn 1 */ 112 | 113 | /* USER CODE END BusFault_IRQn 1 */ 114 | } 115 | 116 | /** 117 | * @brief This function handles Undefined instruction or illegal state. 118 | */ 119 | void UsageFault_Handler(void) 120 | { 121 | /* USER CODE BEGIN UsageFault_IRQn 0 */ 122 | 123 | /* USER CODE END UsageFault_IRQn 0 */ 124 | while (1) 125 | { 126 | } 127 | /* USER CODE BEGIN UsageFault_IRQn 1 */ 128 | 129 | /* USER CODE END UsageFault_IRQn 1 */ 130 | } 131 | 132 | /** 133 | * @brief This function handles System service call via SWI instruction. 134 | */ 135 | void SVC_Handler(void) 136 | { 137 | /* USER CODE BEGIN SVCall_IRQn 0 */ 138 | 139 | /* USER CODE END SVCall_IRQn 0 */ 140 | /* USER CODE BEGIN SVCall_IRQn 1 */ 141 | 142 | /* USER CODE END SVCall_IRQn 1 */ 143 | } 144 | 145 | /** 146 | * @brief This function handles Debug monitor. 147 | */ 148 | void DebugMon_Handler(void) 149 | { 150 | /* USER CODE BEGIN DebugMonitor_IRQn 0 */ 151 | 152 | /* USER CODE END DebugMonitor_IRQn 0 */ 153 | /* USER CODE BEGIN DebugMonitor_IRQn 1 */ 154 | 155 | /* USER CODE END DebugMonitor_IRQn 1 */ 156 | } 157 | 158 | /** 159 | * @brief This function handles Pendable request for system service. 160 | */ 161 | void PendSV_Handler(void) 162 | { 163 | /* USER CODE BEGIN PendSV_IRQn 0 */ 164 | 165 | /* USER CODE END PendSV_IRQn 0 */ 166 | /* USER CODE BEGIN PendSV_IRQn 1 */ 167 | 168 | /* USER CODE END PendSV_IRQn 1 */ 169 | } 170 | 171 | /** 172 | * @brief This function handles System tick timer. 173 | */ 174 | void SysTick_Handler(void) 175 | { 176 | /* USER CODE BEGIN SysTick_IRQn 0 */ 177 | /* USER CODE END SysTick_IRQn 0 */ 178 | HAL_IncTick(); 179 | HAL_SYSTICK_IRQHandler(); 180 | /* USER CODE BEGIN SysTick_IRQn 1 */ 181 | 182 | /* USER CODE END SysTick_IRQn 1 */ 183 | } 184 | 185 | /******************************************************************************/ 186 | /* STM32L4xx Peripheral Interrupt Handlers */ 187 | /* Add here the Interrupt Handlers for the used peripherals. */ 188 | /* For the available peripheral interrupt handler names, */ 189 | /* please refer to the startup file (startup_stm32l4xx.s). */ 190 | /******************************************************************************/ 191 | 192 | /** 193 | * @brief This function handles DMA1 channel1 global interrupt. 194 | */ 195 | void DMA1_Channel1_IRQHandler(void) 196 | { 197 | /* USER CODE BEGIN DMA1_Channel1_IRQn 0 */ 198 | q++; 199 | uint8_t * end_of_line; 200 | /* USER CODE END DMA1_Channel1_IRQn 0 */ 201 | end_of_line = ascii_encode_12b(adc_buffer, 2048, print_buff); 202 | end_of_line[0] = 0x0D; // \r 203 | end_of_line[1] = 0x0A; // \n 204 | CDC_Transmit_FS(print_buff, 4098); 205 | HAL_DMA_IRQHandler(&hdma_adc1); 206 | /* USER CODE BEGIN DMA1_Channel1_IRQn 1 */ 207 | 208 | /* USER CODE END DMA1_Channel1_IRQn 1 */ 209 | } 210 | 211 | /** 212 | * @brief This function handles DMA1 channel4 global interrupt. 213 | */ 214 | void DMA1_Channel4_IRQHandler(void) 215 | { 216 | /* USER CODE BEGIN DMA1_Channel4_IRQn 0 */ 217 | z++; 218 | /* USER CODE END DMA1_Channel4_IRQn 0 */ 219 | HAL_DMA_IRQHandler(&hdma_dac_ch2); 220 | /* USER CODE BEGIN DMA1_Channel4_IRQn 1 */ 221 | 222 | /* USER CODE END DMA1_Channel4_IRQn 1 */ 223 | } 224 | 225 | /** 226 | * @brief This function handles USB event interrupt through EXTI line 17. 227 | */ 228 | void USB_IRQHandler(void) 229 | { 230 | /* USER CODE BEGIN USB_IRQn 0 */ 231 | 232 | /* USER CODE END USB_IRQn 0 */ 233 | HAL_PCD_IRQHandler(&hpcd_USB_FS); 234 | /* USER CODE BEGIN USB_IRQn 1 */ 235 | 236 | /* USER CODE END USB_IRQn 1 */ 237 | } 238 | 239 | /* USER CODE BEGIN 1 */ 240 | 241 | /* USER CODE END 1 */ 242 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 243 | -------------------------------------------------------------------------------- /tiny-radar-gerbers/tiny-radar-B.SilkS.gbo: -------------------------------------------------------------------------------- 1 | G04 #@! TF.FileFunction,Legend,Bot* 2 | %FSLAX46Y46*% 3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 4 | G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu14.04.1) date Thu Apr 13 01:16:21 2017* 5 | %MOMM*% 6 | %LPD*% 7 | G01* 8 | G04 APERTURE LIST* 9 | %ADD10C,0.100000*% 10 | %ADD11C,0.300000*% 11 | G04 APERTURE END LIST* 12 | D10* 13 | D11* 14 | X200928571Y-86153571D02* 15 | X200928571Y-87653571D01* 16 | X200214285Y-86939286D02* 17 | X200142857Y-87082143D01* 18 | X200000000Y-87153571D01* 19 | X200928571Y-86939286D02* 20 | X200857143Y-87082143D01* 21 | X200714285Y-87153571D01* 22 | X200428571Y-87153571D01* 23 | X200285714Y-87082143D01* 24 | X200214285Y-86939286D01* 25 | X200214285Y-86153571D01* 26 | X198499999Y-87153571D02* 27 | X198999999Y-86439286D01* 28 | X199357142Y-87153571D02* 29 | X199357142Y-85653571D01* 30 | X198785714Y-85653571D01* 31 | X198642856Y-85725000D01* 32 | X198571428Y-85796429D01* 33 | X198499999Y-85939286D01* 34 | X198499999Y-86153571D01* 35 | X198571428Y-86296429D01* 36 | X198642856Y-86367857D01* 37 | X198785714Y-86439286D01* 38 | X199357142Y-86439286D01* 39 | X197214285Y-87153571D02* 40 | X197214285Y-86367857D01* 41 | X197285714Y-86225000D01* 42 | X197428571Y-86153571D01* 43 | X197714285Y-86153571D01* 44 | X197857142Y-86225000D01* 45 | X197214285Y-87082143D02* 46 | X197357142Y-87153571D01* 47 | X197714285Y-87153571D01* 48 | X197857142Y-87082143D01* 49 | X197928571Y-86939286D01* 50 | X197928571Y-86796429D01* 51 | X197857142Y-86653571D01* 52 | X197714285Y-86582143D01* 53 | X197357142Y-86582143D01* 54 | X197214285Y-86510714D01* 55 | X195857142Y-87153571D02* 56 | X195857142Y-85653571D01* 57 | X195857142Y-87082143D02* 58 | X195999999Y-87153571D01* 59 | X196285713Y-87153571D01* 60 | X196428571Y-87082143D01* 61 | X196499999Y-87010714D01* 62 | X196571428Y-86867857D01* 63 | X196571428Y-86439286D01* 64 | X196499999Y-86296429D01* 65 | X196428571Y-86225000D01* 66 | X196285713Y-86153571D01* 67 | X195999999Y-86153571D01* 68 | X195857142Y-86225000D01* 69 | X194499999Y-87153571D02* 70 | X194499999Y-86367857D01* 71 | X194571428Y-86225000D01* 72 | X194714285Y-86153571D01* 73 | X194999999Y-86153571D01* 74 | X195142856Y-86225000D01* 75 | X194499999Y-87082143D02* 76 | X194642856Y-87153571D01* 77 | X194999999Y-87153571D01* 78 | X195142856Y-87082143D01* 79 | X195214285Y-86939286D01* 80 | X195214285Y-86796429D01* 81 | X195142856Y-86653571D01* 82 | X194999999Y-86582143D01* 83 | X194642856Y-86582143D01* 84 | X194499999Y-86510714D01* 85 | X193785713Y-87153571D02* 86 | X193785713Y-86153571D01* 87 | X193785713Y-86439286D02* 88 | X193714285Y-86296429D01* 89 | X193642856Y-86225000D01* 90 | X193499999Y-86153571D01* 91 | X193357142Y-86153571D01* 92 | X191928571Y-85653571D02* 93 | X191428571Y-87153571D01* 94 | X190928571Y-85653571D01* 95 | X189642857Y-87153571D02* 96 | X190500000Y-87153571D01* 97 | X190071428Y-87153571D02* 98 | X190071428Y-85653571D01* 99 | X190214285Y-85867857D01* 100 | X190357143Y-86010714D01* 101 | X190500000Y-86082143D01* 102 | X189000000Y-87010714D02* 103 | X188928572Y-87082143D01* 104 | X189000000Y-87153571D01* 105 | X189071429Y-87082143D01* 106 | X189000000Y-87010714D01* 107 | X189000000Y-87153571D01* 108 | X187500000Y-87153571D02* 109 | X188357143Y-87153571D01* 110 | X187928571Y-87153571D02* 111 | X187928571Y-85653571D01* 112 | X188071428Y-85867857D01* 113 | X188214286Y-86010714D01* 114 | X188357143Y-86082143D01* 115 | X203107143Y-88703571D02* 116 | X202821429Y-89703571D01* 117 | X202535715Y-88989286D01* 118 | X202250000Y-89703571D01* 119 | X201964286Y-88703571D01* 120 | X201392857Y-89703571D02* 121 | X201392857Y-88203571D01* 122 | X201392857Y-88775000D02* 123 | X201250000Y-88703571D01* 124 | X200964286Y-88703571D01* 125 | X200821429Y-88775000D01* 126 | X200750000Y-88846429D01* 127 | X200678571Y-88989286D01* 128 | X200678571Y-89417857D01* 129 | X200750000Y-89560714D01* 130 | X200821429Y-89632143D01* 131 | X200964286Y-89703571D01* 132 | X201250000Y-89703571D01* 133 | X201392857Y-89632143D01* 134 | X200035714Y-89703571D02* 135 | X200035714Y-88703571D01* 136 | X200035714Y-88989286D02* 137 | X199964286Y-88846429D01* 138 | X199892857Y-88775000D01* 139 | X199750000Y-88703571D01* 140 | X199607143Y-88703571D01* 141 | X198464286Y-89703571D02* 142 | X198464286Y-88917857D01* 143 | X198535715Y-88775000D01* 144 | X198678572Y-88703571D01* 145 | X198964286Y-88703571D01* 146 | X199107143Y-88775000D01* 147 | X198464286Y-89632143D02* 148 | X198607143Y-89703571D01* 149 | X198964286Y-89703571D01* 150 | X199107143Y-89632143D01* 151 | X199178572Y-89489286D01* 152 | X199178572Y-89346429D01* 153 | X199107143Y-89203571D01* 154 | X198964286Y-89132143D01* 155 | X198607143Y-89132143D01* 156 | X198464286Y-89060714D01* 157 | X197107143Y-88703571D02* 158 | X197107143Y-89703571D01* 159 | X197750000Y-88703571D02* 160 | X197750000Y-89489286D01* 161 | X197678572Y-89632143D01* 162 | X197535714Y-89703571D01* 163 | X197321429Y-89703571D01* 164 | X197178572Y-89632143D01* 165 | X197107143Y-89560714D01* 166 | X196392857Y-88703571D02* 167 | X196392857Y-89703571D01* 168 | X196392857Y-88846429D02* 169 | X196321429Y-88775000D01* 170 | X196178571Y-88703571D01* 171 | X195964286Y-88703571D01* 172 | X195821429Y-88775000D01* 173 | X195750000Y-88917857D01* 174 | X195750000Y-89703571D01* 175 | X194107143Y-88989286D02* 176 | X194178571Y-88917857D01* 177 | X194321428Y-88846429D01* 178 | X194464286Y-88846429D01* 179 | X194607143Y-88917857D01* 180 | X194678571Y-88989286D01* 181 | X194750000Y-89132143D01* 182 | X194750000Y-89275000D01* 183 | X194678571Y-89417857D01* 184 | X194607143Y-89489286D01* 185 | X194464286Y-89560714D01* 186 | X194321428Y-89560714D01* 187 | X194178571Y-89489286D01* 188 | X194107143Y-89417857D01* 189 | X194107143Y-88846429D02* 190 | X194107143Y-89417857D01* 191 | X194035714Y-89489286D01* 192 | X193964286Y-89489286D01* 193 | X193821428Y-89417857D01* 194 | X193750000Y-89275000D01* 195 | X193750000Y-88917857D01* 196 | X193892857Y-88703571D01* 197 | X194107143Y-88560714D01* 198 | X194392857Y-88489286D01* 199 | X194678571Y-88560714D01* 200 | X194892857Y-88703571D01* 201 | X195035714Y-88917857D01* 202 | X195107143Y-89203571D01* 203 | X195035714Y-89489286D01* 204 | X194892857Y-89703571D01* 205 | X194678571Y-89846429D01* 206 | X194392857Y-89917857D01* 207 | X194107143Y-89846429D01* 208 | X193892857Y-89703571D01* 209 | X193107143Y-89703571D02* 210 | X193107143Y-88703571D01* 211 | X193107143Y-88846429D02* 212 | X193035715Y-88775000D01* 213 | X192892857Y-88703571D01* 214 | X192678572Y-88703571D01* 215 | X192535715Y-88775000D01* 216 | X192464286Y-88917857D01* 217 | X192464286Y-89703571D01* 218 | X192464286Y-88917857D02* 219 | X192392857Y-88775000D01* 220 | X192250000Y-88703571D01* 221 | X192035715Y-88703571D01* 222 | X191892857Y-88775000D01* 223 | X191821429Y-88917857D01* 224 | X191821429Y-89703571D01* 225 | X191107143Y-89703571D02* 226 | X191107143Y-88703571D01* 227 | X191107143Y-88203571D02* 228 | X191178572Y-88275000D01* 229 | X191107143Y-88346429D01* 230 | X191035715Y-88275000D01* 231 | X191107143Y-88203571D01* 232 | X191107143Y-88346429D01* 233 | X190607143Y-88703571D02* 234 | X190035714Y-88703571D01* 235 | X190392857Y-88203571D02* 236 | X190392857Y-89489286D01* 237 | X190321429Y-89632143D01* 238 | X190178571Y-89703571D01* 239 | X190035714Y-89703571D01* 240 | X189535714Y-89560714D02* 241 | X189464286Y-89632143D01* 242 | X189535714Y-89703571D01* 243 | X189607143Y-89632143D01* 244 | X189535714Y-89560714D01* 245 | X189535714Y-89703571D01* 246 | X188250000Y-89632143D02* 247 | X188392857Y-89703571D01* 248 | X188678571Y-89703571D01* 249 | X188821428Y-89632143D01* 250 | X188892857Y-89489286D01* 251 | X188892857Y-88917857D01* 252 | X188821428Y-88775000D01* 253 | X188678571Y-88703571D01* 254 | X188392857Y-88703571D01* 255 | X188250000Y-88775000D01* 256 | X188178571Y-88917857D01* 257 | X188178571Y-89060714D01* 258 | X188892857Y-89203571D01* 259 | X186892857Y-89703571D02* 260 | X186892857Y-88203571D01* 261 | X186892857Y-89632143D02* 262 | X187035714Y-89703571D01* 263 | X187321428Y-89703571D01* 264 | X187464286Y-89632143D01* 265 | X187535714Y-89560714D01* 266 | X187607143Y-89417857D01* 267 | X187607143Y-88989286D01* 268 | X187535714Y-88846429D01* 269 | X187464286Y-88775000D01* 270 | X187321428Y-88703571D01* 271 | X187035714Y-88703571D01* 272 | X186892857Y-88775000D01* 273 | X185535714Y-88703571D02* 274 | X185535714Y-89703571D01* 275 | X186178571Y-88703571D02* 276 | X186178571Y-89489286D01* 277 | X186107143Y-89632143D01* 278 | X185964285Y-89703571D01* 279 | X185750000Y-89703571D01* 280 | X185607143Y-89632143D01* 281 | X185535714Y-89560714D01* 282 | M02* 283 | -------------------------------------------------------------------------------- /external-pa/tiny-pa.net: -------------------------------------------------------------------------------- 1 | (export (version D) 2 | (design 3 | (source /home/wbraun/projects/tiny-radar/external-pa/tiny-pa.sch) 4 | (date "Wed 12 Apr 2017 10:58:09 PM EDT") 5 | (tool "Eeschema 4.0.6-e0-6349~53~ubuntu14.04.1") 6 | (sheet (number 1) (name /) (tstamps /) 7 | (title_block 8 | (title) 9 | (company) 10 | (rev) 11 | (date) 12 | (source tiny-pa.sch) 13 | (comment (number 1) (value "")) 14 | (comment (number 2) (value "")) 15 | (comment (number 3) (value "")) 16 | (comment (number 4) (value ""))))) 17 | (components 18 | (comp (ref U101) 19 | (value ALM-31222) 20 | (footprint wbraun_smd:22-MCOB) 21 | (libsource (lib wbraun_ic_lib) (part ALM-31222)) 22 | (sheetpath (names /) (tstamps /)) 23 | (tstamp 58EEF97C)) 24 | (comp (ref J101) 25 | (value CONN_01X02) 26 | (footprint wbraun_smd:SMA-Edge-China-Short) 27 | (libsource (lib conn) (part CONN_01X02)) 28 | (sheetpath (names /) (tstamps /)) 29 | (tstamp 58EEFC72)) 30 | (comp (ref J102) 31 | (value CONN_01X02) 32 | (footprint wbraun_smd:SMA-Edge-China-Short) 33 | (libsource (lib conn) (part CONN_01X02)) 34 | (sheetpath (names /) (tstamps /)) 35 | (tstamp 58EEFCDB)) 36 | (comp (ref C101) 37 | (value 2.2u) 38 | (footprint Capacitors_SMD:C_0805) 39 | (libsource (lib device) (part C)) 40 | (sheetpath (names /) (tstamps /)) 41 | (tstamp 58EEFDB0)) 42 | (comp (ref C102) 43 | (value 0.1u) 44 | (footprint Capacitors_SMD:C_0402) 45 | (libsource (lib device) (part C)) 46 | (sheetpath (names /) (tstamps /)) 47 | (tstamp 58EEFEB1)) 48 | (comp (ref C103) 49 | (value 10n) 50 | (footprint Capacitors_SMD:C_0402) 51 | (libsource (lib device) (part C)) 52 | (sheetpath (names /) (tstamps /)) 53 | (tstamp 58EEFEDA)) 54 | (comp (ref R101) 55 | (value R) 56 | (footprint Resistors_SMD:R_0805) 57 | (libsource (lib device) (part R)) 58 | (sheetpath (names /) (tstamps /)) 59 | (tstamp 58EEFF38)) 60 | (comp (ref C104) 61 | (value 2.2u) 62 | (footprint Capacitors_SMD:C_0805) 63 | (libsource (lib device) (part C)) 64 | (sheetpath (names /) (tstamps /)) 65 | (tstamp 58EF036F)) 66 | (comp (ref C105) 67 | (value 0.1u) 68 | (footprint Capacitors_SMD:C_0402) 69 | (libsource (lib device) (part C)) 70 | (sheetpath (names /) (tstamps /)) 71 | (tstamp 58EF0375)) 72 | (comp (ref C106) 73 | (value 10n) 74 | (footprint Capacitors_SMD:C_0402) 75 | (libsource (lib device) (part C)) 76 | (sheetpath (names /) (tstamps /)) 77 | (tstamp 58EF037B)) 78 | (comp (ref R102) 79 | (value R) 80 | (footprint Resistors_SMD:R_0805) 81 | (libsource (lib device) (part R)) 82 | (sheetpath (names /) (tstamps /)) 83 | (tstamp 58EF0381)) 84 | (comp (ref C107) 85 | (value 0.1u) 86 | (footprint Capacitors_SMD:C_0402) 87 | (libsource (lib device) (part C)) 88 | (sheetpath (names /) (tstamps /)) 89 | (tstamp 58EF042E)) 90 | (comp (ref C108) 91 | (value 10n) 92 | (footprint Capacitors_SMD:C_0402) 93 | (libsource (lib device) (part C)) 94 | (sheetpath (names /) (tstamps /)) 95 | (tstamp 58EF0434)) 96 | (comp (ref J103) 97 | (value CONN_01X02) 98 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm) 99 | (libsource (lib conn) (part CONN_01X02)) 100 | (sheetpath (names /) (tstamps /)) 101 | (tstamp 58EF0A0B))) 102 | (libparts 103 | (libpart (lib wbraun_ic_lib) (part ALM-31222) 104 | (description "RF Amplifier") 105 | (footprints 106 | (fp 22-MCOB)) 107 | (fields 108 | (field (name Reference) U) 109 | (field (name Value) ALM-31222)) 110 | (pins 111 | (pin (num 1) (name GND) (type power_in)) 112 | (pin (num 2) (name NC) (type NotConnected)) 113 | (pin (num 3) (name GND) (type power_in)) 114 | (pin (num 4) (name GND) (type power_in)) 115 | (pin (num 5) (name RF_IN) (type input)) 116 | (pin (num 6) (name GND) (type power_in)) 117 | (pin (num 7) (name GND) (type power_in)) 118 | (pin (num 8) (name NC) (type NotConnected)) 119 | (pin (num 9) (name GND) (type power_in)) 120 | (pin (num 10) (name VDD2) (type power_in)) 121 | (pin (num 11) (name GND) (type power_in)) 122 | (pin (num 12) (name GND) (type power_in)) 123 | (pin (num 13) (name GND) (type power_in)) 124 | (pin (num 14) (name GND) (type power_in)) 125 | (pin (num 15) (name GND) (type power_in)) 126 | (pin (num 16) (name RF_OUT) (type output)) 127 | (pin (num 17) (name GND) (type power_in)) 128 | (pin (num 18) (name GND) (type power_in)) 129 | (pin (num 19) (name VDD1) (type power_in)) 130 | (pin (num 20) (name GND) (type power_in)) 131 | (pin (num 21) (name VCTRL) (type input)) 132 | (pin (num 22) (name GND) (type power_in)) 133 | (pin (num EP) (name GND) (type power_in)))) 134 | (libpart (lib device) (part C) 135 | (description "Unpolarized capacitor") 136 | (footprints 137 | (fp C_*)) 138 | (fields 139 | (field (name Reference) C) 140 | (field (name Value) C)) 141 | (pins 142 | (pin (num 1) (name ~) (type passive)) 143 | (pin (num 2) (name ~) (type passive)))) 144 | (libpart (lib conn) (part CONN_01X02) 145 | (description "Connector, single row, 01x02, pin header") 146 | (footprints 147 | (fp Pin_Header_Straight_1X*) 148 | (fp Pin_Header_Angled_1X*) 149 | (fp Socket_Strip_Straight_1X*) 150 | (fp Socket_Strip_Angled_1X*)) 151 | (fields 152 | (field (name Reference) J) 153 | (field (name Value) CONN_01X02)) 154 | (pins 155 | (pin (num 1) (name P1) (type passive)) 156 | (pin (num 2) (name P2) (type passive)))) 157 | (libpart (lib device) (part R) 158 | (description Resistor) 159 | (footprints 160 | (fp R_*) 161 | (fp R_*)) 162 | (fields 163 | (field (name Reference) R) 164 | (field (name Value) R)) 165 | (pins 166 | (pin (num 1) (name ~) (type passive)) 167 | (pin (num 2) (name ~) (type passive))))) 168 | (libraries 169 | (library (logical conn) 170 | (uri /usr/share/kicad/library/conn.lib)) 171 | (library (logical device) 172 | (uri /usr/share/kicad/library/device.lib)) 173 | (library (logical wbraun_ic_lib) 174 | (uri /home/wbraun/projects/wbraun_kicad_library/wbraun_ic_lib.lib))) 175 | (nets 176 | (net (code 1) (name GND) 177 | (node (ref U101) (pin 3)) 178 | (node (ref U101) (pin 11)) 179 | (node (ref U101) (pin 4)) 180 | (node (ref U101) (pin 6)) 181 | (node (ref U101) (pin 7)) 182 | (node (ref U101) (pin 9)) 183 | (node (ref U101) (pin 20)) 184 | (node (ref U101) (pin 12)) 185 | (node (ref U101) (pin EP)) 186 | (node (ref U101) (pin 22)) 187 | (node (ref U101) (pin 1)) 188 | (node (ref C103) (pin 2)) 189 | (node (ref C102) (pin 2)) 190 | (node (ref C101) (pin 2)) 191 | (node (ref J102) (pin 2)) 192 | (node (ref J101) (pin 2)) 193 | (node (ref U101) (pin 18)) 194 | (node (ref U101) (pin 17)) 195 | (node (ref U101) (pin 15)) 196 | (node (ref U101) (pin 14)) 197 | (node (ref U101) (pin 13)) 198 | (node (ref J103) (pin 2)) 199 | (node (ref C107) (pin 2)) 200 | (node (ref C108) (pin 2)) 201 | (node (ref C106) (pin 2)) 202 | (node (ref C105) (pin 2)) 203 | (node (ref C104) (pin 2))) 204 | (net (code 2) (name /VDD2) 205 | (node (ref C106) (pin 1)) 206 | (node (ref R102) (pin 1)) 207 | (node (ref U101) (pin 10)) 208 | (node (ref C105) (pin 1)) 209 | (node (ref C104) (pin 1))) 210 | (net (code 3) (name +5V) 211 | (node (ref R101) (pin 2)) 212 | (node (ref C108) (pin 1)) 213 | (node (ref C107) (pin 1)) 214 | (node (ref J103) (pin 1)) 215 | (node (ref R102) (pin 2)) 216 | (node (ref U101) (pin 21))) 217 | (net (code 4) (name /RF_IN) 218 | (node (ref J101) (pin 1)) 219 | (node (ref U101) (pin 5))) 220 | (net (code 5) (name "Net-(U101-Pad2)") 221 | (node (ref U101) (pin 2))) 222 | (net (code 6) (name "Net-(U101-Pad8)") 223 | (node (ref U101) (pin 8))) 224 | (net (code 7) (name /RF_OUT) 225 | (node (ref U101) (pin 16)) 226 | (node (ref J102) (pin 1))) 227 | (net (code 8) (name /VDD1) 228 | (node (ref C101) (pin 1)) 229 | (node (ref C102) (pin 1)) 230 | (node (ref C103) (pin 1)) 231 | (node (ref R101) (pin 1)) 232 | (node (ref U101) (pin 19))))) --------------------------------------------------------------------------------