gitextract_kgfx0i39/ ├── .gitignore ├── F0:F030,F042,F072/ │ ├── 3steppersLB/ │ │ ├── Makefile │ │ ├── Makefile.old │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── buttons.c │ │ ├── buttons.h │ │ ├── can.c │ │ ├── can.h │ │ ├── commonproto.c │ │ ├── commonproto.h │ │ ├── custom_buttons.c │ │ ├── custom_buttons.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── elements.kicad_sym │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── stm32-B_Cu.gbr │ │ │ │ ├── stm32-B_Mask.gbr │ │ │ │ ├── stm32-B_Paste.gbr │ │ │ │ ├── stm32-B_SilkS.gbr │ │ │ │ ├── stm32-Edge_Cuts.gbr │ │ │ │ ├── stm32-F_Cu.gbr │ │ │ │ ├── stm32-F_Mask.gbr │ │ │ │ ├── stm32-F_Paste.gbr │ │ │ │ ├── stm32-F_SilkS.gbr │ │ │ │ ├── stm32-NPTH-drl_map.gbr │ │ │ │ ├── stm32-NPTH.drl │ │ │ │ ├── stm32-PTH-drl_map.gbr │ │ │ │ ├── stm32-PTH.drl │ │ │ │ ├── stm32-drl.rpt │ │ │ │ ├── stm32-job.gbrjob │ │ │ │ └── stm32.drl │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ └── Hole_3mm.kicad_mod │ │ │ ├── stm32-cache.kicad_sym │ │ │ ├── stm32-rescue.kicad_sym │ │ │ ├── stm32.csv │ │ │ ├── stm32.kicad_pcb │ │ │ ├── stm32.kicad_prl │ │ │ ├── stm32.kicad_pro │ │ │ ├── stm32.kicad_sch │ │ │ ├── stm32.xml │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── steppers.c │ │ ├── steppers.cflags │ │ ├── steppers.config │ │ ├── steppers.creator │ │ ├── steppers.creator.user │ │ ├── steppers.cxxflags │ │ ├── steppers.files │ │ ├── steppers.h │ │ ├── steppers.includes │ │ ├── strfunct.c │ │ ├── strfunct.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── CANBUS_SSI/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── can.c │ │ ├── can.h │ │ ├── can_process.c │ │ ├── can_process.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── CANbus4BTA/ │ │ ├── Readme │ │ └── kicad/ │ │ ├── BOM.ods │ │ ├── BOM_full.ods │ │ ├── elements.kicad_sym │ │ ├── fp-info-cache │ │ ├── fp-lib-table │ │ ├── gerbers/ │ │ │ ├── stm32-B_Cu.gbr │ │ │ ├── stm32-B_Mask.gbr │ │ │ ├── stm32-B_Paste.gbr │ │ │ ├── stm32-B_Silkscreen.gbr │ │ │ ├── stm32-Edge_Cuts.gbr │ │ │ ├── stm32-F_Cu.gbr │ │ │ ├── stm32-F_Mask.gbr │ │ │ ├── stm32-F_Paste.gbr │ │ │ ├── stm32-F_Silkscreen.gbr │ │ │ ├── stm32-drl_map.gbr │ │ │ ├── stm32-job.gbrjob │ │ │ └── stm32.drl │ │ ├── iso3086.kicad_sym │ │ ├── my_footprints.pretty/ │ │ │ ├── B0505S-2W.kicad_mod │ │ │ ├── B0x0xS.kicad_mod │ │ │ ├── Hole_3mm.kicad_mod │ │ │ ├── VRB2405.kicad_mod │ │ │ └── VRB_DCDC.kicad_mod │ │ ├── optocouple.kicad_sch │ │ ├── schematic-positions-to-layout.debug │ │ ├── stm32-cache.kicad_sym │ │ ├── stm32-rescue.kicad_sym │ │ ├── stm32.csv │ │ ├── stm32.kicad_pcb │ │ ├── stm32.kicad_prl │ │ ├── stm32.kicad_pro │ │ ├── stm32.kicad_sch │ │ ├── stm32.xml │ │ └── sym-lib-table │ ├── Chiller/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── Chiller_control-rescue.lib │ │ │ ├── Chiller_control.csv │ │ │ ├── Chiller_control.kicad_pcb │ │ │ ├── Chiller_control.kicad_prl │ │ │ ├── Chiller_control.kicad_pro │ │ │ ├── Chiller_control.kicad_sch │ │ │ ├── Chiller_control.net │ │ │ ├── Chiller_control.pro │ │ │ ├── Chiller_control.sch │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── modules.pretty/ │ │ │ │ ├── DB9-F.kicad_mod │ │ │ │ ├── TO-220-3_Horizontal_TabDown.kicad_mod │ │ │ │ └── hole_3mm.kicad_mod │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── mainloop.c │ │ ├── mainloop.h │ │ ├── protocol.c │ │ ├── protocol.h │ │ ├── usart.c │ │ └── usart.h │ ├── F0_testbrd/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── MAKE │ ├── Makefile │ ├── NUCLEO_SPI/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── main.c │ │ ├── spi.c │ │ ├── spi.h │ │ ├── usart.c │ │ └── usart.h │ ├── PL2303_ringbuffer/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── QuadEncoder/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── protocol.c │ │ ├── protocol.h │ │ ├── usart.c │ │ └── usart.h │ ├── Readme.md │ ├── Servo/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── effects.c │ │ ├── effects.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── Servo_control │ │ │ ├── Servo_control-rescue.lib │ │ │ ├── Servo_control.kicad_pcb │ │ │ ├── Servo_control.kicad_prl │ │ │ ├── Servo_control.kicad_pro │ │ │ ├── Servo_control.kicad_sch │ │ │ ├── Servo_control.net │ │ │ ├── Servo_control.pro │ │ │ ├── Servo_control.sch │ │ │ ├── ch34x.lib │ │ │ ├── elements.lib │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── modules.pretty/ │ │ │ │ ├── DB9-F.kicad_mod │ │ │ │ ├── TO-220-3_Horizontal_TabDown.kicad_mod │ │ │ │ ├── VIA.kicad_mod │ │ │ │ └── hole_3mm.kicad_mod │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── mainloop.c │ │ ├── mainloop.h │ │ ├── protocol.c │ │ ├── protocol.h │ │ ├── usart.c │ │ └── usart.h │ ├── Snippets/ │ │ ├── Flash_EEPROM/ │ │ │ ├── Readme │ │ │ ├── flash.c │ │ │ └── flash.h │ │ ├── Jump2Boot.c │ │ ├── Readme.md │ │ ├── fallthru │ │ ├── printuhex.c │ │ └── readint.c │ ├── Socket_fans/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── acs712.lib │ │ │ ├── elements.lib │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ └── TH_via.kicad_mod │ │ │ ├── pcb/ │ │ │ │ ├── stm32-B_Cu.gbr │ │ │ │ ├── stm32-B_Mask.gbr │ │ │ │ ├── stm32-B_SilkS.gbr │ │ │ │ ├── stm32-F_Cu.gbr │ │ │ │ ├── stm32-F_Mask.gbr │ │ │ │ ├── stm32-F_SilkS.gbr │ │ │ │ ├── stm32-NPTH-drl_map.gbr │ │ │ │ └── stm32-PTH-drl_map.gbr │ │ │ ├── stm32 │ │ │ ├── stm32-rescue.lib │ │ │ ├── stm32.kicad_pcb │ │ │ ├── stm32.kicad_prl │ │ │ ├── stm32.kicad_pro │ │ │ ├── stm32.kicad_sch │ │ │ ├── stm32.net │ │ │ ├── stm32.pro │ │ │ ├── stm32.sch │ │ │ └── sym-lib-table │ │ ├── knots/ │ │ │ ├── buildk.m │ │ │ ├── calcT.m │ │ │ ├── getknots.m │ │ │ ├── getnewpt.m │ │ │ ├── linearapprox.m │ │ │ ├── piecevise.html │ │ │ └── piecevise_files/ │ │ │ ├── 13303023.jpe │ │ │ ├── 43568408.jpe │ │ │ ├── 52273253.jpe │ │ │ ├── a.css │ │ │ ├── a.htm │ │ │ ├── a.js │ │ │ ├── a_002.css │ │ │ ├── a_002.js │ │ │ ├── a_003.css │ │ │ ├── a_data/ │ │ │ │ └── a.js │ │ │ └── top100.js │ │ ├── main.c │ │ ├── monitor.c │ │ ├── monitor.h │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── TM1637/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── protocol.c │ │ ├── protocol.h │ │ ├── usart.c │ │ └── usart.h │ ├── TSYS_controller/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── TSYS_controller.cflags │ │ ├── TSYS_controller.config │ │ ├── TSYS_controller.creator │ │ ├── TSYS_controller.creator.user │ │ ├── TSYS_controller.creator.user.4.8-pre1 │ │ ├── TSYS_controller.creator.user.cf63021 │ │ ├── TSYS_controller.cxxflags │ │ ├── TSYS_controller.files │ │ ├── TSYS_controller.includes │ │ ├── adc.c │ │ ├── adc.h │ │ ├── can.c │ │ ├── can.h │ │ ├── can_process.c │ │ ├── can_process.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── sensors_manage.c │ │ ├── sensors_manage.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── USBHID/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── keycodes.c │ │ ├── keycodes.h │ │ ├── main.c │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── blink/ │ │ ├── Makefile │ │ ├── README │ │ ├── blink.geanypro │ │ └── systick_blink.c │ ├── deprecated/ │ │ ├── CANbus_stepper/ │ │ │ ├── CANbus_stepper.tgz │ │ │ ├── TODO │ │ │ ├── kicad/ │ │ │ │ ├── Readme.md │ │ │ │ ├── acs712.lib │ │ │ │ ├── elements.lib │ │ │ │ ├── fp-info-cache │ │ │ │ ├── fp-lib-table │ │ │ │ ├── gerbers/ │ │ │ │ │ ├── stm32-B_Cu.gbr │ │ │ │ │ ├── stm32-B_Mask.gbr │ │ │ │ │ ├── stm32-B_SilkS.gbr │ │ │ │ │ ├── stm32-Edge_Cuts.gbr │ │ │ │ │ ├── stm32-F_Cu.gbr │ │ │ │ │ ├── stm32-F_Mask.gbr │ │ │ │ │ ├── stm32-F_SilkS.gbr │ │ │ │ │ └── stm32-drl_map.gbr │ │ │ │ ├── my_footprints.pretty/ │ │ │ │ │ ├── FuseHolder.kicad_mod │ │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ │ ├── RJ9-4P4C.kicad_mod │ │ │ │ │ ├── SMD_conn_4x2.5mm.kicad_mod │ │ │ │ │ └── TH_via.kicad_mod │ │ │ │ ├── stm32-rescue.lib │ │ │ │ ├── stm32.csv │ │ │ │ ├── stm32.kicad_pcb │ │ │ │ ├── stm32.kicad_prl │ │ │ │ ├── stm32.kicad_pro │ │ │ │ ├── stm32.kicad_sch │ │ │ │ ├── stm32.net │ │ │ │ ├── stm32.pro │ │ │ │ ├── stm32.sch │ │ │ │ ├── stm32.xml │ │ │ │ └── sym-lib-table │ │ │ ├── src/ │ │ │ │ ├── Makefile │ │ │ │ ├── Readme.md │ │ │ │ ├── adc.c │ │ │ │ ├── adc.h │ │ │ │ ├── can.c │ │ │ │ ├── can.h │ │ │ │ ├── can_process.c │ │ │ │ ├── can_process.h │ │ │ │ ├── flash.c │ │ │ │ ├── flash.h │ │ │ │ ├── hardware.c │ │ │ │ ├── hardware.h │ │ │ │ ├── main.c │ │ │ │ ├── proto.c │ │ │ │ ├── proto.h │ │ │ │ ├── spi.c │ │ │ │ ├── spi.h │ │ │ │ ├── steppers.c │ │ │ │ ├── steppers.h │ │ │ │ ├── usart.c │ │ │ │ ├── usart.h │ │ │ │ ├── usb.c │ │ │ │ ├── usb.h │ │ │ │ ├── usb_defs.h │ │ │ │ ├── usb_lib.c │ │ │ │ └── usb_lib.h │ │ │ └── src.tgz │ │ ├── Readme.md │ │ ├── USB_pl2303_snippet/ │ │ │ ├── Makefile │ │ │ ├── Readme │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── proto.c │ │ │ ├── proto.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ ├── canbus/ │ │ │ ├── kicad/ │ │ │ │ ├── acs712.lib │ │ │ │ ├── bom.ini │ │ │ │ ├── elements.lib │ │ │ │ ├── fp-info-cache │ │ │ │ ├── fp-lib-table │ │ │ │ ├── my_footprints.pretty/ │ │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ │ ├── RJ9-4P4C.kicad_mod │ │ │ │ │ ├── SMD_conn_4x2.5mm.kicad_mod │ │ │ │ │ └── TH_via.kicad_mod │ │ │ │ ├── stm32-rescue.lib │ │ │ │ ├── stm32.kicad_pcb │ │ │ │ ├── stm32.kicad_prl │ │ │ │ ├── stm32.kicad_pro │ │ │ │ ├── stm32.kicad_sch │ │ │ │ ├── stm32.net │ │ │ │ └── sym-lib-table │ │ │ └── src/ │ │ │ ├── CANbus.geany │ │ │ ├── Makefile │ │ │ ├── can.c │ │ │ ├── can.h │ │ │ ├── canbus.c.tags │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── usart.c │ │ │ └── usart.h │ │ ├── pl2303/ │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── usart.c │ │ │ ├── usart.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ └── usbcan/ │ │ ├── Makefile │ │ ├── Makefile.old │ │ ├── Readme.md │ │ ├── can.c │ │ ├── can.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── bom.ini │ │ │ ├── elements.lib │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── stm32-B_Cu.gbr │ │ │ │ ├── stm32-B_Mask.gbr │ │ │ │ ├── stm32-B_SilkS.gbr │ │ │ │ ├── stm32-Edge_Cuts.gbr │ │ │ │ ├── stm32-F_Cu.gbr │ │ │ │ ├── stm32-F_Mask.gbr │ │ │ │ ├── stm32-F_SilkS.gbr │ │ │ │ └── stm32-drl_map.gbr │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ └── Hole_3mm.kicad_mod │ │ │ ├── stm32-rescue.lib │ │ │ ├── stm32.csv │ │ │ ├── stm32.kicad_pcb │ │ │ ├── stm32.kicad_prl │ │ │ ├── stm32.kicad_pro │ │ │ ├── stm32.net │ │ │ ├── stm32.pro │ │ │ ├── stm32.sch │ │ │ └── sym-lib-table │ │ ├── kicad_new/ │ │ │ ├── bom.ini │ │ │ ├── elements.lib │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── stm32-B_Cu.gbr │ │ │ │ ├── stm32-B_Mask.gbr │ │ │ │ ├── stm32-B_Silkscreen.gbr │ │ │ │ ├── stm32-Edge_Cuts.gbr │ │ │ │ ├── stm32-F_Cu.gbr │ │ │ │ ├── stm32-F_Mask.gbr │ │ │ │ ├── stm32-F_Silkscreen.gbr │ │ │ │ ├── stm32-drl_map.gbr │ │ │ │ └── stm32.drl │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ └── Hole_3mm.kicad_mod │ │ │ ├── stm32-rescue.lib │ │ │ ├── stm32.csv │ │ │ ├── stm32.kicad_pcb │ │ │ ├── stm32.kicad_prl │ │ │ ├── stm32.kicad_pro │ │ │ ├── stm32.kicad_sch │ │ │ ├── stm32.net │ │ │ ├── stm32.pro │ │ │ ├── stm32.sch │ │ │ ├── stm32.xml │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── htu21d_nucleo/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ ├── inc/ │ │ ├── Fx/ │ │ │ ├── common_macros.h │ │ │ ├── flash_size_reg.h │ │ │ ├── stm32f0.h │ │ │ ├── stm32f030x6.h │ │ │ ├── stm32f030x8.h │ │ │ ├── stm32f030xc.h │ │ │ ├── stm32f031x6.h │ │ │ ├── stm32f038xx.h │ │ │ ├── stm32f042x6.h │ │ │ ├── stm32f048xx.h │ │ │ ├── stm32f051x8.h │ │ │ ├── stm32f058xx.h │ │ │ ├── stm32f070x6.h │ │ │ ├── stm32f070xb.h │ │ │ ├── stm32f071xb.h │ │ │ ├── stm32f072xb.h │ │ │ ├── stm32f078xx.h │ │ │ ├── stm32f091xc.h │ │ │ ├── stm32f098xx.h │ │ │ ├── stm32f0xx.h │ │ │ ├── stm32f1.h │ │ │ ├── stm32f10x.h │ │ │ └── vector.h │ │ ├── Should_use_common_includes_with_F1 │ │ ├── cm/ │ │ │ ├── core_cm0.h │ │ │ ├── core_cm0plus.h │ │ │ ├── core_cm3.h │ │ │ ├── core_cm4.h │ │ │ ├── core_cm7.h │ │ │ ├── core_cmFunc.h │ │ │ ├── core_cmInstr.h │ │ │ ├── core_cmSimd.h │ │ │ ├── core_sc000.h │ │ │ └── core_sc300.h │ │ ├── ld/ │ │ │ ├── devices.data │ │ │ ├── stm32f01234.ld │ │ │ ├── stm32f030f.ld │ │ │ ├── stm32f042k.ld │ │ │ ├── stm32f042x6.ld │ │ │ ├── stm32f051x8.ld │ │ │ ├── stm32f072x8.ld │ │ │ ├── stm32f072xB.ld │ │ │ ├── stm32f103x4.ld │ │ │ ├── stm32f103x6.ld │ │ │ ├── stm32f103x8.ld │ │ │ ├── stm32f103xB.ld │ │ │ ├── stm32f103xC.ld │ │ │ ├── stm32f103xD.ld │ │ │ ├── stm32f103xE.ld │ │ │ ├── stm32f103xF.ld │ │ │ └── stm32f103xG.ld │ │ └── startup/ │ │ ├── vector.c │ │ └── vector.c.depr │ ├── makefile.f0 │ ├── morze/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── main.c │ │ ├── morse.c │ │ ├── morse.h │ │ ├── usart.c │ │ └── usart.h │ ├── openocd.cfg │ ├── tsys01_nucleo/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ ├── uart_blink/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ ├── uart_blink_dma/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ ├── uart_nucleo/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ ├── usbcan_gpio/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── Readmeh.html │ │ ├── adc.c │ │ ├── adc.h │ │ ├── can.c │ │ ├── can.h │ │ ├── canproto.c │ │ ├── canproto.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── gpio.c │ │ ├── gpio.h │ │ ├── gpioproto.cpp │ │ ├── gpioproto.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── hashparser.cpp │ │ ├── hashparser.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── pwm.c │ │ ├── pwm.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbcangpio.cflags │ │ ├── usbcangpio.config │ │ ├── usbcangpio.creator │ │ ├── usbcangpio.creator.user │ │ ├── usbcangpio.cxxflags │ │ ├── usbcangpio.files │ │ ├── usbcangpio.includes │ │ └── version.inc │ ├── usbcan_relay/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── buttons.c │ │ ├── buttons.h │ │ ├── can.c │ │ ├── can.h │ │ ├── canproto.c │ │ ├── canproto.h │ │ ├── canrelay.cflags │ │ ├── canrelay.config │ │ ├── canrelay.creator │ │ ├── canrelay.creator.user │ │ ├── canrelay.creator.user.22 │ │ ├── canrelay.creator.user.4.9-pre1 │ │ ├── canrelay.creator.user.7bd84e3 │ │ ├── canrelay.cxxflags │ │ ├── canrelay.files │ │ ├── canrelay.includes │ │ ├── custom_buttons.c │ │ ├── custom_buttons.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── elements.lib │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ └── Hole_3mm.kicad_mod │ │ │ ├── stm32 (2).csv │ │ │ ├── stm32-rescue.lib │ │ │ ├── stm32.csv │ │ │ ├── stm32.kicad_pcb │ │ │ ├── stm32.kicad_prl │ │ │ ├── stm32.kicad_pro │ │ │ ├── stm32.kicad_sch │ │ │ ├── stm32.net │ │ │ ├── stm32.pro │ │ │ ├── stm32.sch │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ └── usbcan_ringbuffer/ │ ├── Makefile │ ├── Readme.md │ ├── can.c │ ├── can.h │ ├── hardware.c │ ├── hardware.h │ ├── kicad/ │ │ ├── bom.ini │ │ ├── elements.lib │ │ ├── fp-info-cache │ │ ├── gerbers/ │ │ │ ├── stm32-B_Cu.gbr │ │ │ ├── stm32-B_Mask.gbr │ │ │ ├── stm32-B_Silkscreen.gbr │ │ │ ├── stm32-Edge_Cuts.gbr │ │ │ ├── stm32-F_Cu.gbr │ │ │ ├── stm32-F_Mask.gbr │ │ │ ├── stm32-F_Silkscreen.gbr │ │ │ ├── stm32-drl_map.gbr │ │ │ └── stm32.drl │ │ ├── my_footprints.pretty/ │ │ │ ├── B0x0xS.kicad_mod │ │ │ └── Hole_3mm.kicad_mod │ │ ├── stm32-rescue.lib │ │ ├── stm32.kicad_pcb │ │ ├── stm32.kicad_prl │ │ ├── stm32.kicad_pro │ │ └── stm32.kicad_sch │ ├── main.c │ ├── openocd.cfg │ ├── proto.c │ ├── proto.h │ ├── ringbuffer.c │ ├── ringbuffer.h │ ├── usb_descr.c │ ├── usb_descr.h │ ├── usb_dev.c │ ├── usb_dev.h │ ├── usb_lib.c │ ├── usb_lib.h │ ├── usbcanrb.cflags │ ├── usbcanrb.config │ ├── usbcanrb.creator │ ├── usbcanrb.creator.user │ ├── usbcanrb.cxxflags │ ├── usbcanrb.files │ ├── usbcanrb.includes │ └── version.inc ├── F1:F103/ │ ├── AS3935-lightning/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── as3935.c │ │ ├── as3935.cflags │ │ ├── as3935.config │ │ ├── as3935.creator │ │ ├── as3935.creator.user │ │ ├── as3935.cxxflags │ │ ├── as3935.files │ │ ├── as3935.h │ │ ├── as3935.includes │ │ ├── commproto.cpp │ │ ├── commproto.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── BISS_C_encoders/ │ │ ├── 99-myHW.rules │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── TODO │ │ ├── bissC.c │ │ ├── bissC.h │ │ ├── encoders.cflags │ │ ├── encoders.config │ │ ├── encoders.creator │ │ ├── encoders.creator.user │ │ ├── encoders.creator.user.7bd84e3 │ │ ├── encoders.creator.user.cf63021 │ │ ├── encoders.cxxflags │ │ ├── encoders.files │ │ ├── encoders.includes │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── BOM.csv │ │ │ ├── elements.kicad_sym │ │ │ ├── encoder.kicad_pcb │ │ │ ├── encoder.kicad_prl │ │ │ ├── encoder.kicad_pro │ │ │ ├── encoder.kicad_sch │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── encoder-B_Cu.gbr │ │ │ │ ├── encoder-B_Mask.gbr │ │ │ │ ├── encoder-B_Silkscreen.gbr │ │ │ │ ├── encoder-Edge_Cuts.gbr │ │ │ │ ├── encoder-F_Cu.gbr │ │ │ │ ├── encoder-F_Mask.gbr │ │ │ │ ├── encoder-F_Silkscreen.gbr │ │ │ │ ├── encoder-drl.rpt │ │ │ │ ├── encoder-job.gbrjob │ │ │ │ └── encoder.drl │ │ │ ├── iso3086.kicad_sym │ │ │ ├── isolated_232.kicad_sch │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0505S-2W.kicad_mod │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ ├── DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mm.kicad_mod │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ ├── QR.kicad_mod │ │ │ │ └── RJ9-4P4C.kicad_mod │ │ │ ├── ssi_422.kicad_sch │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── openocd.cfg_cs32 │ │ ├── openocd.cfg_stm32 │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── testDev │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── BMP180/ │ │ ├── BMP180.c │ │ ├── BMP180.h │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── BMP280/ │ │ ├── BMP280.c │ │ ├── BMP280.h │ │ ├── Makefile │ │ ├── Readme │ │ ├── dewpoint.c │ │ ├── dewpoint.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── CAR_CANbus/ │ │ ├── Lamps/ │ │ │ ├── Readme │ │ │ └── kicad/ │ │ │ ├── cd43.kicad_mod │ │ │ ├── elements.kicad_sym │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── lamps-B_Cu.gbr │ │ │ │ ├── lamps-B_Mask.gbr │ │ │ │ ├── lamps-B_Paste.gbr │ │ │ │ ├── lamps-B_Silkscreen.gbr │ │ │ │ ├── lamps-Edge_Cuts.gbr │ │ │ │ ├── lamps-F_Cu.gbr │ │ │ │ ├── lamps-F_Mask.gbr │ │ │ │ ├── lamps-F_Paste.gbr │ │ │ │ ├── lamps-F_Silkscreen.gbr │ │ │ │ ├── lamps-drl.rpt │ │ │ │ ├── lamps-drl_map.gbr │ │ │ │ ├── lamps-job.gbrjob │ │ │ │ └── lamps.drl │ │ │ ├── l_pwr.kicad_sch │ │ │ ├── l_pwrx.kicad_sch │ │ │ ├── lamps.kicad_pcb │ │ │ ├── lamps.kicad_prl │ │ │ ├── lamps.kicad_pro │ │ │ ├── lamps.kicad_sch │ │ │ ├── mp1584.kicad_sym │ │ │ ├── s8205a.kicad_sym │ │ │ └── sym-lib-table │ │ ├── Readme │ │ └── WindShield/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── buttons.c │ │ ├── buttons.h │ │ ├── can.c │ │ ├── can.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── ZXCT1009.kicad_sym │ │ │ ├── cd43.kicad_mod │ │ │ ├── elements.kicad_sym │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── mp1584.kicad_sym │ │ │ ├── mp1584.lib │ │ │ ├── s8205a.kicad_sym │ │ │ ├── s8205a.lib │ │ │ ├── sym-lib-table │ │ │ ├── windshield.kicad_pcb │ │ │ ├── windshield.kicad_prl │ │ │ ├── windshield.kicad_pro │ │ │ └── windshield.kicad_sch │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── version.inc │ │ ├── windshield.cflags │ │ ├── windshield.config │ │ ├── windshield.creator │ │ ├── windshield.creator.user │ │ ├── windshield.creator.user.cf63021 │ │ ├── windshield.cxxflags │ │ ├── windshield.files │ │ └── windshield.includes │ ├── Canon_managing_device/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── can.c │ │ ├── can.h │ │ ├── canon.c │ │ ├── canon.h │ │ ├── canonmanage.cflags │ │ ├── canonmanage.config │ │ ├── canonmanage.creator │ │ ├── canonmanage.creator.user │ │ ├── canonmanage.creator.user.7bd84e3 │ │ ├── canonmanage.cxxflags │ │ ├── canonmanage.files │ │ ├── canonmanage.includes │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── Canon_manage/ │ │ │ │ ├── BOM.ods │ │ │ │ ├── Canon_manage.csv │ │ │ │ ├── Canon_manage.kicad_pcb │ │ │ │ ├── Canon_manage.kicad_prl │ │ │ │ ├── Canon_manage.kicad_pro │ │ │ │ ├── Canon_manage.kicad_sch │ │ │ │ ├── Canon_manage.xml │ │ │ │ ├── TPS2051.kicad_sym │ │ │ │ ├── fp-info-cache │ │ │ │ ├── fp-lib-table │ │ │ │ ├── gerbers/ │ │ │ │ │ ├── Canon_manage-B_Cu.gbr │ │ │ │ │ ├── Canon_manage-B_Mask.gbr │ │ │ │ │ ├── Canon_manage-B_Paste.gbr │ │ │ │ │ ├── Canon_manage-B_Silkscreen.gbr │ │ │ │ │ ├── Canon_manage-Edge_Cuts.gbr │ │ │ │ │ ├── Canon_manage-F_Cu.gbr │ │ │ │ │ ├── Canon_manage-F_Mask.gbr │ │ │ │ │ ├── Canon_manage-F_Paste.gbr │ │ │ │ │ ├── Canon_manage-F_Silkscreen.gbr │ │ │ │ │ ├── Canon_manage-drl.rpt │ │ │ │ │ ├── Canon_manage-drl_map.gbr │ │ │ │ │ ├── Canon_manage-job.gbrjob │ │ │ │ │ └── Canon_manage.drl │ │ │ │ ├── pins.pretty/ │ │ │ │ │ └── Pin1.5x2mm.kicad_mod │ │ │ │ └── sym-lib-table │ │ │ ├── outliers.dxf │ │ │ └── silk.dxf │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── DHT22_DHT11/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── dht.c │ │ ├── dht.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── DS18/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── ds18.c │ │ ├── ds18.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── F1_testbrd/ │ │ ├── F1_testbrd.cflags │ │ ├── F1_testbrd.config │ │ ├── F1_testbrd.creator │ │ ├── F1_testbrd.creator.user │ │ ├── F1_testbrd.cxxflags │ │ ├── F1_testbrd.files │ │ ├── F1_testbrd.includes │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── F1_testbrd_deprecated/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── FX3U/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── can.c │ │ ├── can.h │ │ ├── canproto.c │ │ ├── canproto.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── fx3u.cflags │ │ ├── fx3u.config │ │ ├── fx3u.creator │ │ ├── fx3u.creator.user │ │ ├── fx3u.creator.user.cf63021 │ │ ├── fx3u.cxxflags │ │ ├── fx3u.files │ │ ├── fx3u.includes │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── X_opto.kicad_sch │ │ │ ├── Y_relay.kicad_sch │ │ │ ├── fp-info-cache │ │ │ ├── fx3u_24mr.kicad_pcb │ │ │ ├── fx3u_24mr.kicad_prl │ │ │ ├── fx3u_24mr.kicad_pro │ │ │ └── fx3u_24mr.kicad_sch │ │ ├── main.c │ │ ├── modbusproto.c │ │ ├── modbusproto.h │ │ ├── modbusrtu.c │ │ ├── modbusrtu.h │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ └── version.inc │ ├── Hall_linear/ │ │ ├── Makefile │ │ ├── adc.c │ │ ├── adc.h │ │ ├── can.c │ │ ├── can.h │ │ ├── canproto.c │ │ ├── canproto.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hallinear.cflags │ │ ├── hallinear.config │ │ ├── hallinear.creator │ │ ├── hallinear.creator.user │ │ ├── hallinear.creator.user.7bd84e3 │ │ ├── hallinear.cxxflags │ │ ├── hallinear.files │ │ ├── hallinear.includes │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── BOM │ │ │ ├── BOM.ods │ │ │ ├── Hall.kicad_pcb │ │ │ ├── Hall.kicad_prl │ │ │ ├── Hall.kicad_pro │ │ │ ├── Hall.kicad_sch │ │ │ ├── Hall.step │ │ │ ├── PCB.dxf │ │ │ ├── TPS2051.kicad_sym │ │ │ ├── fp-info-cache │ │ │ └── gerbers/ │ │ │ ├── Hall-B_Cu.gbr │ │ │ ├── Hall-B_Mask.gbr │ │ │ ├── Hall-B_Paste.gbr │ │ │ ├── Hall-B_Silkscreen.gbr │ │ │ ├── Hall-Edge_Cuts.gbr │ │ │ ├── Hall-F_Cu.gbr │ │ │ ├── Hall-F_Mask.gbr │ │ │ ├── Hall-F_Paste.gbr │ │ │ ├── Hall-F_Silkscreen.gbr │ │ │ ├── Hall-drl.rpt │ │ │ ├── Hall-drl_map.gbr │ │ │ ├── Hall-job.gbrjob │ │ │ └── Hall.drl │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── readme │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── I2C_tiny/ │ │ ├── I2Ctiny.cflags │ │ ├── I2Ctiny.config │ │ ├── I2Ctiny.creator │ │ ├── I2Ctiny.creator.user │ │ ├── I2Ctiny.cxxflags │ │ ├── I2Ctiny.files │ │ ├── I2Ctiny.includes │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── i2ctiny.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbdev.c │ │ ├── usbdev.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── I2Cscan/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── i2cscan.c │ │ ├── i2cscan.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── LED_Screen/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── font14.h │ │ ├── font16.h │ │ ├── fonts.c │ │ ├── fonts.h │ │ ├── genlist │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── screen.c │ │ ├── screen.h │ │ ├── scrtest/ │ │ │ ├── Makefile │ │ │ ├── Readme │ │ │ ├── font14.h │ │ │ ├── font16.h │ │ │ ├── fonts.c │ │ │ ├── fonts.h │ │ │ ├── main.c │ │ │ ├── screen.c │ │ │ ├── screen.h │ │ │ └── scrtest │ │ ├── spi.c │ │ ├── spi.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── MAX7219_screen/ │ │ ├── MAX7219.c │ │ ├── MAX7219.h │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── Makefile │ ├── PL2303_rb_strip/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── pl2303.cflags │ │ ├── pl2303.config │ │ ├── pl2303.creator │ │ ├── pl2303.creator.user │ │ ├── pl2303.cxxflags │ │ ├── pl2303.files │ │ ├── pl2303.includes │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── PL2303_ringbuffer/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── pl2303.cflags │ │ ├── pl2303.config │ │ ├── pl2303.creator │ │ ├── pl2303.creator.user │ │ ├── pl2303.cxxflags │ │ ├── pl2303.files │ │ ├── pl2303.includes │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── RGB_LED_Screen/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── adcrandom.c │ │ ├── adcrandom.h │ │ ├── balls.c │ │ ├── balls.h │ │ ├── font14.h │ │ ├── font16.h │ │ ├── fonts.c │ │ ├── fonts.h │ │ ├── getrand │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── screen.c │ │ ├── screen.c.autosave │ │ ├── screen.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── Readme.md │ ├── SI7005_HTU21D/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── dewpoint.c │ │ ├── dewpoint.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── htu21d.c │ │ ├── htu21d.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── si7005.c │ │ ├── si7005.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── SPI/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── spi.c │ │ ├── spi.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── STM32F103C.md │ ├── SevenCDCs/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── Tetris/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── adcrandom.c │ │ ├── adcrandom.h │ │ ├── arkanoid.c │ │ ├── arkanoid.h │ │ ├── balls.c │ │ ├── balls.h │ │ ├── buttons.c │ │ ├── buttons.h │ │ ├── debug.h │ │ ├── font14.h │ │ ├── fontNumb8.h │ │ ├── fonts.c │ │ ├── fonts.h │ │ ├── getrand │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── menu.c │ │ ├── menu.h │ │ ├── proto.c │ │ ├── proto.h │ │ ├── screen.c │ │ ├── screen.h │ │ ├── snake.c │ │ ├── snake.h │ │ ├── tetris.c │ │ ├── tetris.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── USB_HID/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── hardware.h │ │ ├── keycodes.c │ │ ├── keycodes.h │ │ ├── main.c │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── USB_New_concept/ │ │ ├── USB_NEW_concept_7inone/ │ │ │ ├── Makefile │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── openocd.cfg │ │ │ ├── ringbuffer.c │ │ │ ├── ringbuffer.h │ │ │ ├── someusb.cflags │ │ │ ├── someusb.config │ │ │ ├── someusb.creator │ │ │ ├── someusb.creator.user │ │ │ ├── someusb.cxxflags │ │ │ ├── someusb.files │ │ │ ├── someusb.includes │ │ │ ├── usart.c │ │ │ ├── usart.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_dev.c │ │ │ ├── usb_dev.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ ├── USB_NEW_concept_CDC/ │ │ │ ├── Makefile │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── openocd.cfg │ │ │ ├── ringbuffer.c │ │ │ ├── ringbuffer.h │ │ │ ├── someusb.cflags │ │ │ ├── someusb.config │ │ │ ├── someusb.creator │ │ │ ├── someusb.creator.user │ │ │ ├── someusb.cxxflags │ │ │ ├── someusb.files │ │ │ ├── someusb.includes │ │ │ ├── usart.c │ │ │ ├── usart.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_dev.c │ │ │ ├── usb_dev.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ ├── USB_NEW_concept_HID/ │ │ │ ├── Makefile │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── keycodes.c │ │ │ ├── keycodes.h │ │ │ ├── main.c │ │ │ ├── openocd.cfg │ │ │ ├── ringbuffer.c │ │ │ ├── ringbuffer.h │ │ │ ├── someusb.cflags │ │ │ ├── someusb.config │ │ │ ├── someusb.creator │ │ │ ├── someusb.creator.user │ │ │ ├── someusb.cxxflags │ │ │ ├── someusb.files │ │ │ ├── someusb.includes │ │ │ ├── usart.c │ │ │ ├── usart.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_dev.c │ │ │ ├── usb_dev.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ └── USB_NEW_concept_PL2303/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── someusb.cflags │ │ ├── someusb.config │ │ ├── someusb.creator │ │ ├── someusb.creator.user │ │ ├── someusb.cxxflags │ │ ├── someusb.files │ │ ├── someusb.includes │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── USB_SPI/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── canUART/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── can.c │ │ ├── can.h │ │ ├── canuart.cflags │ │ ├── canuart.config │ │ ├── canuart.creator │ │ ├── canuart.creator.user │ │ ├── canuart.cxxflags │ │ ├── canuart.files │ │ ├── canuart.includes │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usart.c │ │ ├── usart.h │ │ └── version.inc │ ├── chronometer_v3/ │ │ ├── Difference │ │ ├── GPS.c │ │ ├── GPS.h │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── Readme_rus.txt │ │ ├── adc.c │ │ ├── adc.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── font14.h │ │ ├── fontNumb10.h │ │ ├── fontNumb16.h │ │ ├── fontNumb8.h │ │ ├── font_EMPTY.h │ │ ├── fonts.c │ │ ├── fonts.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── lidar.c │ │ ├── lidar.h │ │ ├── main.c │ │ ├── screen.c │ │ ├── screen.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── stm32F103xB.ld │ │ ├── str.c │ │ ├── str.h │ │ ├── time.c │ │ ├── time.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── deprecated/ │ │ ├── CDC_ACM/ │ │ │ ├── Makefile │ │ │ ├── Readme │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── proto.c │ │ │ ├── proto.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ ├── MLX90640/ │ │ │ ├── Makefile │ │ │ ├── Readme │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── i2c.c │ │ │ ├── i2c.h │ │ │ ├── main.c │ │ │ ├── mlx90640.c │ │ │ ├── mlx90640.h │ │ │ ├── mlx90640_regs.h │ │ │ ├── proto.c │ │ │ ├── proto.h │ │ │ ├── strfunct.c │ │ │ ├── strfunct.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ ├── usb_lib.h │ │ │ └── version.inc │ │ ├── PL2303/ │ │ │ ├── Makefile │ │ │ ├── Readme │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── usart.c │ │ │ ├── usart.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ ├── Readme.md │ │ ├── chronometer/ │ │ │ ├── GPS.c │ │ │ ├── GPS.h │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── Readme_rus.txt │ │ │ ├── adc.c │ │ │ ├── adc.h │ │ │ ├── flash.c │ │ │ ├── flash.h │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── lidar.c │ │ │ ├── lidar.h │ │ │ ├── main.c │ │ │ ├── stm32F103xB.ld │ │ │ ├── str.c │ │ │ ├── str.h │ │ │ ├── time.c │ │ │ ├── time.h │ │ │ ├── usart.c │ │ │ ├── usart.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ ├── chronometer_v2/ │ │ │ ├── Difference │ │ │ ├── GPS.c │ │ │ ├── GPS.h │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── Readme_rus.txt │ │ │ ├── adc.c │ │ │ ├── adc.h │ │ │ ├── flash.c │ │ │ ├── flash.h │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── kicad/ │ │ │ │ ├── Chrono.lib │ │ │ │ ├── chrono │ │ │ │ ├── chrono.kicad_pcb │ │ │ │ ├── chrono.kicad_prl │ │ │ │ ├── chrono.kicad_pro │ │ │ │ ├── chrono.kicad_sch │ │ │ │ ├── chrono.net │ │ │ │ ├── chrono.pretty/ │ │ │ │ │ └── L80-R.kicad_mod │ │ │ │ ├── chrono.pro │ │ │ │ ├── chrono.sch │ │ │ │ ├── fp-info-cache │ │ │ │ ├── fp-lib-table │ │ │ │ ├── gerbers/ │ │ │ │ │ ├── chrono-B_Cu.gbr │ │ │ │ │ ├── chrono-B_Mask.gbr │ │ │ │ │ ├── chrono-B_SilkS.gbr │ │ │ │ │ ├── chrono-Edge_Cuts.gbr │ │ │ │ │ ├── chrono-F_Cu.gbr │ │ │ │ │ ├── chrono-F_Mask.gbr │ │ │ │ │ └── chrono-F_SilkS.gbr │ │ │ │ ├── stm32-rescue.lib │ │ │ │ └── sym-lib-table │ │ │ ├── lidar.c │ │ │ ├── lidar.h │ │ │ ├── main.c │ │ │ ├── stm32F103xB.ld │ │ │ ├── str.c │ │ │ ├── str.h │ │ │ ├── time.c │ │ │ ├── time.h │ │ │ ├── usart.c │ │ │ ├── usart.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ ├── pl2303_snippet/ │ │ │ ├── Makefile │ │ │ ├── Readme │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── main.c │ │ │ ├── proto.c │ │ │ ├── proto.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_defs.h │ │ │ ├── usb_lib.c │ │ │ └── usb_lib.h │ │ └── pl2303_snippet_naked/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── inc/ │ │ ├── Fx/ │ │ │ ├── common_macros.h │ │ │ ├── stm32f0.h │ │ │ ├── stm32f030x6.h │ │ │ ├── stm32f030x8.h │ │ │ ├── stm32f030xc.h │ │ │ ├── stm32f031x6.h │ │ │ ├── stm32f038xx.h │ │ │ ├── stm32f042x6.h │ │ │ ├── stm32f048xx.h │ │ │ ├── stm32f051x8.h │ │ │ ├── stm32f058xx.h │ │ │ ├── stm32f070x6.h │ │ │ ├── stm32f070xb.h │ │ │ ├── stm32f071xb.h │ │ │ ├── stm32f072xb.h │ │ │ ├── stm32f078xx.h │ │ │ ├── stm32f091xc.h │ │ │ ├── stm32f098xx.h │ │ │ ├── stm32f0xx.h │ │ │ ├── stm32f1.h │ │ │ ├── stm32f10x.h │ │ │ └── vector.h │ │ ├── cm/ │ │ │ ├── core_cm0.h │ │ │ ├── core_cm0plus.h │ │ │ ├── core_cm3.h │ │ │ ├── core_cm4.h │ │ │ ├── core_cm7.h │ │ │ ├── core_cmFunc.h │ │ │ ├── core_cmInstr.h │ │ │ ├── core_cmSimd.h │ │ │ ├── core_sc000.h │ │ │ └── core_sc300.h │ │ ├── ld/ │ │ │ ├── devices.data │ │ │ ├── stm32f01234.ld │ │ │ ├── stm32f030f.ld │ │ │ ├── stm32f042k.ld │ │ │ ├── stm32f042x6.ld │ │ │ ├── stm32f051x8.ld │ │ │ ├── stm32f0728.ld │ │ │ ├── stm32f072B.ld │ │ │ ├── stm32f103x4.ld │ │ │ ├── stm32f103x6.ld │ │ │ ├── stm32f103x8.ld │ │ │ ├── stm32f103xB.ld │ │ │ ├── stm32f103xC.ld │ │ │ ├── stm32f103xD.ld │ │ │ ├── stm32f103xE.ld │ │ │ ├── stm32f103xF.ld │ │ │ └── stm32f103xG.ld │ │ └── startup/ │ │ └── vector.c │ ├── led_blink/ │ │ ├── Makefile │ │ ├── README │ │ └── main.c │ ├── makefile.f1 │ ├── openocd.cfg │ ├── pwmdmatest/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── pwmtest/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── proto.c │ │ ├── proto.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_defs.h │ │ ├── usb_lib.c │ │ └── usb_lib.h │ ├── shutter/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── UNISTABLE/ │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── adc.c │ │ │ ├── adc.h │ │ │ ├── flash.c │ │ │ ├── flash.h │ │ │ ├── hardware.c │ │ │ ├── hardware.h │ │ │ ├── kicad/ │ │ │ │ ├── BOM.ods │ │ │ │ ├── fp-info-cache │ │ │ │ ├── fp-lib-table │ │ │ │ ├── gerbers/ │ │ │ │ │ ├── shutter-B_Cu.gbr │ │ │ │ │ ├── shutter-Edge_Cuts.gbr │ │ │ │ │ ├── shutter-F_Cu.gbr │ │ │ │ │ ├── shutter-drl.rpt │ │ │ │ │ ├── shutter-drl_map.gbr │ │ │ │ │ ├── shutter-job.gbrjob │ │ │ │ │ └── shutter.drl │ │ │ │ ├── qr.kicad_mod │ │ │ │ ├── shutter-drl.rpt │ │ │ │ ├── shutter.csv │ │ │ │ ├── shutter.kicad_pcb │ │ │ │ ├── shutter.kicad_prl │ │ │ │ ├── shutter.kicad_pro │ │ │ │ └── shutter.kicad_sch │ │ │ ├── main.c │ │ │ ├── openocd.cfg │ │ │ ├── proto.c │ │ │ ├── proto.h │ │ │ ├── ringbuffer.c │ │ │ ├── ringbuffer.h │ │ │ ├── shutter.c │ │ │ ├── shutter.cflags │ │ │ ├── shutter.config │ │ │ ├── shutter.creator │ │ │ ├── shutter.creator.user │ │ │ ├── shutter.creator.user.7bd84e3 │ │ │ ├── shutter.cxxflags │ │ │ ├── shutter.files │ │ │ ├── shutter.h │ │ │ ├── shutter.includes │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_lib.c │ │ │ ├── usb_lib.h │ │ │ ├── usbhw.c │ │ │ ├── usbhw.h │ │ │ └── version.inc │ │ ├── adc.c │ │ ├── adc.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── fp-info-cache │ │ │ ├── gerbers/ │ │ │ │ ├── shutter-B_Cu.gbr │ │ │ │ ├── shutter-Edge_Cuts.gbr │ │ │ │ ├── shutter-F_Cu.gbr │ │ │ │ ├── shutter-drl.rpt │ │ │ │ ├── shutter-drl_map.gbr │ │ │ │ ├── shutter-job.gbrjob │ │ │ │ └── shutter.drl │ │ │ ├── shutter.csv │ │ │ ├── shutter.kicad_pcb │ │ │ ├── shutter.kicad_prl │ │ │ ├── shutter.kicad_pro │ │ │ ├── shutter.kicad_sch │ │ │ ├── shutter.ods │ │ │ └── shutter.xml │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── shutter.c │ │ ├── shutter.cflags │ │ ├── shutter.config │ │ ├── shutter.creator │ │ ├── shutter.creator.user │ │ ├── shutter.creator.user.7bd84e3 │ │ ├── shutter.cxxflags │ │ ├── shutter.files │ │ ├── shutter.h │ │ ├── shutter.includes │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── uart/ │ │ ├── Makefile │ │ ├── README │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ └── ws2815/ │ ├── Makefile │ ├── Readme │ ├── hardware.c │ ├── hardware.h │ ├── hsv.c │ ├── hsv.h │ ├── main.c │ ├── proto.c │ ├── proto.h │ ├── usb.c │ ├── usb.h │ ├── usb_defs.h │ ├── usb_lib.c │ ├── usb_lib.h │ ├── ws2815.c │ └── ws2815.h ├── F3:F303/ │ ├── ADC/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── adc.c │ │ ├── adc.cflags │ │ ├── adc.config │ │ ├── adc.creator │ │ ├── adc.creator.user │ │ ├── adc.cxxflags │ │ ├── adc.files │ │ ├── adc.h │ │ ├── adc.includes │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── BME280/ │ │ ├── BMP280.c │ │ ├── BMP280.h │ │ ├── Makefile │ │ ├── Readme │ │ ├── bme280.cflags │ │ ├── bme280.config │ │ ├── bme280.creator │ │ ├── bme280.creator.user │ │ ├── bme280.cxxflags │ │ ├── bme280.files │ │ ├── bme280.includes │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── CANbus4BTA/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── can.c │ │ ├── can.h │ │ ├── canbus4bta.cflags │ │ ├── canbus4bta.config │ │ ├── canbus4bta.creator │ │ ├── canbus4bta.creator.user │ │ ├── canbus4bta.creator.user.7bd84e3 │ │ ├── canbus4bta.creator.user.cf63021 │ │ ├── canbus4bta.cxxflags │ │ ├── canbus4bta.files │ │ ├── canbus4bta.includes │ │ ├── commonfunctions.c │ │ ├── commonfunctions.h │ │ ├── encoder.c │ │ ├── encoder.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── gpio.c │ │ ├── gpio.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── BOM_ali.ods │ │ │ ├── BOM_full.ods │ │ │ ├── bom.csv │ │ │ ├── elements.kicad_sym │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── stm32-B_Cu.gbr │ │ │ │ ├── stm32-B_Mask.gbr │ │ │ │ ├── stm32-B_Paste.gbr │ │ │ │ ├── stm32-B_Silkscreen.gbr │ │ │ │ ├── stm32-Edge_Cuts.gbr │ │ │ │ ├── stm32-F_Cu.gbr │ │ │ │ ├── stm32-F_Mask.gbr │ │ │ │ ├── stm32-F_Paste.gbr │ │ │ │ ├── stm32-F_Silkscreen.gbr │ │ │ │ ├── stm32-drl.rpt │ │ │ │ ├── stm32-drl_map.gbr │ │ │ │ ├── stm32-job.gbrjob │ │ │ │ └── stm32.drl │ │ │ ├── iso3086.kicad_sym │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0505S-2W.kicad_mod │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ ├── QR.kicad_mod │ │ │ │ ├── VRB2405.kicad_mod │ │ │ │ └── VRB_DCDC.kicad_mod │ │ │ ├── optocouple.kicad_sch │ │ │ ├── schematic-positions-to-layout.debug │ │ │ ├── stm32-cache.kicad_sym │ │ │ ├── stm32-rescue.kicad_sym │ │ │ ├── stm32.kicad_pcb │ │ │ ├── stm32.kicad_prl │ │ │ ├── stm32.kicad_pro │ │ │ ├── stm32.kicad_sch │ │ │ ├── stm32.xml │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── textfunctions.c │ │ ├── textfunctions.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── CANusb/ │ │ ├── Makefile │ │ ├── can.c │ │ ├── can.h │ │ ├── canusb.cflags │ │ ├── canusb.config │ │ ├── canusb.creator │ │ ├── canusb.creator.user │ │ ├── canusb.cxxflags │ │ ├── canusb.files │ │ ├── canusb.includes │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── I2C_scan/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── i2cscan.cflags │ │ ├── i2cscan.config │ │ ├── i2cscan.creator │ │ ├── i2cscan.creator.user │ │ ├── i2cscan.creator.user.7bd84e3 │ │ ├── i2cscan.creator.user.cf63021 │ │ ├── i2cscan.cxxflags │ │ ├── i2cscan.files │ │ ├── i2cscan.includes │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── InterfaceBoard/ │ │ ├── Debug.c │ │ ├── Debug.h │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── TODO │ │ ├── can.c │ │ ├── can.h │ │ ├── canproto.c │ │ ├── canproto.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kicad/ │ │ │ ├── BOM.csv │ │ │ ├── BOM.ods │ │ │ ├── elements.kicad_sym │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── many485-B_Cu.gbr │ │ │ │ ├── many485-B_Mask.gbr │ │ │ │ ├── many485-B_Silkscreen.gbr │ │ │ │ ├── many485-Edge_Cuts.gbr │ │ │ │ ├── many485-F_Cu.gbr │ │ │ │ ├── many485-F_Mask.gbr │ │ │ │ ├── many485-F_Silkscreen.gbr │ │ │ │ ├── many485-drl.rpt │ │ │ │ ├── many485-job.gbrjob │ │ │ │ └── many485.drl │ │ │ ├── iso3086.kicad_sym │ │ │ ├── iso485.kicad_sch │ │ │ ├── isolated_232.kicad_sch │ │ │ ├── many485.kicad_pcb │ │ │ ├── many485.kicad_prl │ │ │ ├── many485.kicad_pro │ │ │ ├── many485.kicad_sch │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0505S-2W.kicad_mod │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ ├── DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mm.kicad_mod │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ └── QR.kicad_mod │ │ │ ├── ssi_422.kicad_sch │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── multiiface.cflags │ │ ├── multiiface.config │ │ ├── multiiface.creator │ │ ├── multiiface.creator.user │ │ ├── multiiface.cxxflags │ │ ├── multiiface.files │ │ ├── multiiface.includes │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── MLX90640/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── mlx90640.c │ │ ├── mlx90640.cflags │ │ ├── mlx90640.config │ │ ├── mlx90640.creator │ │ ├── mlx90640.creator.user │ │ ├── mlx90640.cxxflags │ │ ├── mlx90640.files │ │ ├── mlx90640.h │ │ ├── mlx90640.includes │ │ ├── mlx90640_regs.h │ │ ├── mlxproc.c │ │ ├── mlxproc.h │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── MLX90640-allsky/ │ │ ├── BMP280.c │ │ ├── BMP280.h │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── STM32F303C.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── commproto.cpp │ │ ├── commproto.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── ir-allsky.cflags │ │ ├── ir-allsky.config │ │ ├── ir-allsky.creator │ │ ├── ir-allsky.creator.user │ │ ├── ir-allsky.cxxflags │ │ ├── ir-allsky.files │ │ ├── ir-allsky.includes │ │ ├── kicad/ │ │ │ ├── elements.kicad_sym │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── mainboard.kicad_pcb │ │ │ ├── mainboard.kicad_prl │ │ │ ├── mainboard.kicad_pro │ │ │ ├── mainboard.kicad_sch │ │ │ ├── my_footprints.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ ├── S10K30.kicad_mod │ │ │ │ └── SE83-GDS.kicad_mod │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── mlx90640.c │ │ ├── mlx90640.h │ │ ├── mlx90640_regs.h │ │ ├── mlxproc.c │ │ ├── mlxproc.h │ │ ├── openocd.cfg │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── MLX90640multi/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── mlx90640.c │ │ ├── mlx90640.cflags │ │ ├── mlx90640.config │ │ ├── mlx90640.creator │ │ ├── mlx90640.creator.user │ │ ├── mlx90640.cxxflags │ │ ├── mlx90640.files │ │ ├── mlx90640.h │ │ ├── mlx90640.includes │ │ ├── mlx90640_regs.h │ │ ├── mlxproc.c │ │ ├── mlxproc.h │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── MLX90640test/ │ │ ├── Makefile │ │ ├── alpha.csv │ │ ├── eeprom.csv │ │ ├── frame0.csv │ │ ├── frame1.csv │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── kta.csv │ │ ├── kv.csv │ │ ├── main.c │ │ ├── mlx90640.c │ │ ├── mlx90640.h │ │ ├── mlx90640_regs.h │ │ ├── mlxtest.cflags │ │ ├── mlxtest.config │ │ ├── mlxtest.creator │ │ ├── mlxtest.creator.user │ │ ├── mlxtest.cxxflags │ │ ├── mlxtest.files │ │ ├── mlxtest.includes │ │ ├── offset.csv │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── testdata.h │ │ ├── to_frame0.csv │ │ ├── to_frame1.csv │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── Multistepper/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── TODO │ │ ├── adc.c │ │ ├── adc.h │ │ ├── buttons.c │ │ ├── buttons.h │ │ ├── can.c │ │ ├── can.h │ │ ├── commonproto.c │ │ ├── commonproto.h │ │ ├── esprif.conf │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── hashgen/ │ │ │ ├── Readme │ │ │ ├── hashgen.c │ │ │ ├── hdr.c │ │ │ ├── hdr.h │ │ │ ├── helpcmds.in │ │ │ ├── mktestdic │ │ │ ├── run │ │ │ ├── strfunc.c │ │ │ ├── strfunc.h │ │ │ ├── test.c │ │ │ └── testdic │ │ ├── kicad/ │ │ │ ├── ADC.kicad_sch │ │ │ ├── BOM_ali.ods │ │ │ ├── BOM_full.ods │ │ │ ├── BOM_full_last.ods │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── multistepper-B_Cu.gbr │ │ │ │ ├── multistepper-B_Mask.gbr │ │ │ │ ├── multistepper-B_Paste.gbr │ │ │ │ ├── multistepper-B_Silkscreen.gbr │ │ │ │ ├── multistepper-Edge_Cuts.gbr │ │ │ │ ├── multistepper-F_Cu.gbr │ │ │ │ ├── multistepper-F_Mask.gbr │ │ │ │ ├── multistepper-F_Paste.gbr │ │ │ │ ├── multistepper-F_Silkscreen.gbr │ │ │ │ ├── multistepper-Ground_Cu.gbr │ │ │ │ ├── multistepper-Power_Cu.gbr │ │ │ │ ├── multistepper-drl.rpt │ │ │ │ ├── multistepper-drl_map.gbr │ │ │ │ ├── multistepper-job.gbrjob │ │ │ │ └── multistepper.drl │ │ │ ├── mcubase.kicad_sch │ │ │ ├── motors.kicad_sch │ │ │ ├── multistepper.csv │ │ │ ├── multistepper.kicad_pcb │ │ │ ├── multistepper.kicad_prl │ │ │ ├── multistepper.kicad_pro │ │ │ ├── multistepper.kicad_sch │ │ │ ├── multistepper.xml │ │ │ ├── power.kicad_sch │ │ │ ├── stepper.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ └── stepper_module.kicad_mod │ │ │ ├── stepper_M.kicad_sch │ │ │ ├── stepper_module.kicad_sym │ │ │ └── sym-lib-table │ │ ├── kicad_old/ │ │ │ ├── ADC.kicad_sch │ │ │ ├── BOM_ali.ods │ │ │ ├── BOM_full.ods │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── gerbers/ │ │ │ │ ├── multistepper-B_Cu.gbr │ │ │ │ ├── multistepper-B_Mask.gbr │ │ │ │ ├── multistepper-B_Paste.gbr │ │ │ │ ├── multistepper-B_Silkscreen.gbr │ │ │ │ ├── multistepper-Edge_Cuts.gbr │ │ │ │ ├── multistepper-F_Cu.gbr │ │ │ │ ├── multistepper-F_Mask.gbr │ │ │ │ ├── multistepper-F_Paste.gbr │ │ │ │ ├── multistepper-F_Silkscreen.gbr │ │ │ │ ├── multistepper-Ground_Cu.gbr │ │ │ │ ├── multistepper-Power_Cu.gbr │ │ │ │ ├── multistepper-drl_map.gbr │ │ │ │ ├── multistepper-job.gbrjob │ │ │ │ └── multistepper.drl │ │ │ ├── mcubase.kicad_sch │ │ │ ├── motors.kicad_sch │ │ │ ├── multistepper.kicad_pcb │ │ │ ├── multistepper.kicad_prl │ │ │ ├── multistepper.kicad_pro │ │ │ ├── multistepper.kicad_sch │ │ │ ├── multistepper.xml │ │ │ ├── power.kicad_sch │ │ │ ├── stepper.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ └── stepper_module.kicad_mod │ │ │ ├── stepper_M.kicad_sch │ │ │ ├── stepper_module.kicad_sym │ │ │ └── sym-lib-table │ │ ├── main.c │ │ ├── multistepper.cflags │ │ ├── multistepper.config │ │ ├── multistepper.creator │ │ ├── multistepper.creator.user │ │ ├── multistepper.creator.user.7bd84e3 │ │ ├── multistepper.cxxflags │ │ ├── multistepper.files │ │ ├── multistepper.includes │ │ ├── openocd.cfg │ │ ├── pdnuart.c │ │ ├── pdnuart.c.dma │ │ ├── pdnuart.h │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── steppers.c │ │ ├── steppers.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── stty │ │ ├── tmc2209.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── NitrogenFlooding/ │ │ ├── ADUvsR │ │ ├── BMP280.c │ │ ├── BMP280.h │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── adc.c │ │ ├── adc.h │ │ ├── buttons.c │ │ ├── buttons.h │ │ ├── font14.h │ │ ├── fontNumb8.h │ │ ├── fonts.c │ │ ├── fonts.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── ili9341.c │ │ ├── ili9341.h │ │ ├── indication.c │ │ ├── indication.h │ │ ├── kicad/ │ │ │ ├── nitrogen/ │ │ │ │ ├── BOM.ods │ │ │ │ ├── BOM_need.ods │ │ │ │ ├── MCU.kicad_sch │ │ │ │ ├── fp-info-cache │ │ │ │ ├── fp-lib-table │ │ │ │ ├── gerbers/ │ │ │ │ │ ├── nitrogen-B_Cu.gbr │ │ │ │ │ ├── nitrogen-B_Mask.gbr │ │ │ │ │ ├── nitrogen-B_Paste.gbr │ │ │ │ │ ├── nitrogen-B_Silkscreen.gbr │ │ │ │ │ ├── nitrogen-Edge_Cuts.gbr │ │ │ │ │ ├── nitrogen-F_Cu.gbr │ │ │ │ │ ├── nitrogen-F_Mask.gbr │ │ │ │ │ ├── nitrogen-F_Paste.gbr │ │ │ │ │ ├── nitrogen-F_Silkscreen.gbr │ │ │ │ │ ├── nitrogen-GND_Cu.gbr │ │ │ │ │ ├── nitrogen-Mixed_Cu.gbr │ │ │ │ │ ├── nitrogen-drl_map.gbr │ │ │ │ │ ├── nitrogen-job.gbrjob │ │ │ │ │ └── nitrogen.drl │ │ │ │ ├── nitrogen.csv │ │ │ │ ├── nitrogen.kicad_pcb │ │ │ │ ├── nitrogen.kicad_prl │ │ │ │ ├── nitrogen.kicad_pro │ │ │ │ ├── nitrogen.kicad_sch │ │ │ │ ├── nitrogen.xml │ │ │ │ ├── power.kicad_sch │ │ │ │ └── stepper.pretty/ │ │ │ │ ├── B0x0xS.kicad_mod │ │ │ │ ├── Hole_3mm.kicad_mod │ │ │ │ └── stepper_module.kicad_mod │ │ │ ├── pt1000.m │ │ │ └── sensors/ │ │ │ ├── Heaters.dxf │ │ │ ├── J8.pretty/ │ │ │ │ └── avia8.kicad_mod │ │ │ ├── Sensors.dxf │ │ │ ├── fp-info-cache │ │ │ ├── fp-lib-table │ │ │ ├── heaters.kicad_pcb │ │ │ ├── heaters.kicad_prl │ │ │ ├── heaters.kicad_pro │ │ │ ├── heaters.kicad_sch │ │ │ ├── heaters_gerber/ │ │ │ │ ├── heaters-B_Cu.gbr │ │ │ │ ├── heaters-B_Mask.gbr │ │ │ │ ├── heaters-B_Paste.gbr │ │ │ │ ├── heaters-B_Silkscreen.gbr │ │ │ │ ├── heaters-Edge_Cuts.gbr │ │ │ │ ├── heaters-F_Cu.gbr │ │ │ │ ├── heaters-F_Mask.gbr │ │ │ │ ├── heaters-F_Paste.gbr │ │ │ │ ├── heaters-F_Silkscreen.gbr │ │ │ │ ├── heaters-drl_map.gbr │ │ │ │ ├── heaters-job.gbrjob │ │ │ │ └── heaters.drl │ │ │ ├── sensors.kicad_pcb │ │ │ ├── sensors.kicad_prl │ │ │ ├── sensors.kicad_pro │ │ │ ├── sensors.kicad_sch │ │ │ └── sensors_gerber/ │ │ │ ├── sensors-B_Cu.gbr │ │ │ ├── sensors-B_Mask.gbr │ │ │ ├── sensors-B_Paste.gbr │ │ │ ├── sensors-B_Silkscreen.gbr │ │ │ ├── sensors-Edge_Cuts.gbr │ │ │ ├── sensors-F_Cu.gbr │ │ │ ├── sensors-F_Mask.gbr │ │ │ ├── sensors-F_Paste.gbr │ │ │ ├── sensors-F_Silkscreen.gbr │ │ │ ├── sensors-drl_map.gbr │ │ │ ├── sensors-job.gbrjob │ │ │ └── sensors.drl │ │ ├── main.c │ │ ├── menu.c │ │ ├── menu.h │ │ ├── nitrogen.cflags │ │ ├── nitrogen.config │ │ ├── nitrogen.creator │ │ ├── nitrogen.creator.user │ │ ├── nitrogen.creator.user.cf63021 │ │ ├── nitrogen.cxxflags │ │ ├── nitrogen.files │ │ ├── nitrogen.includes │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── screen.c │ │ ├── screen.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── PL2303/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── pl2303.cflags │ │ ├── pl2303.config │ │ ├── pl2303.creator │ │ ├── pl2303.creator.user │ │ ├── pl2303.creator.user.7bd84e3 │ │ ├── pl2303.cxxflags │ │ ├── pl2303.files │ │ ├── pl2303.includes │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── Readme.md │ ├── STM32F303C.md │ ├── Seven_CDCs/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── flash.c │ │ ├── flash.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── multiiface.cflags │ │ ├── multiiface.config │ │ ├── multiiface.creator │ │ ├── multiiface.creator.user │ │ ├── multiiface.cxxflags │ │ ├── multiiface.files │ │ ├── multiiface.includes │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── Seven_CDCs.deprecated/ │ │ ├── 7CDCs.cflags │ │ ├── 7CDCs.config │ │ ├── 7CDCs.creator │ │ ├── 7CDCs.creator.user │ │ ├── 7CDCs.creator.user.7bd84e3 │ │ ├── 7CDCs.cxxflags │ │ ├── 7CDCs.files │ │ ├── 7CDCs.includes │ │ ├── Makefile │ │ ├── can.c │ │ ├── can.h │ │ ├── canproto.c │ │ ├── canproto.h │ │ ├── cmdproto.c │ │ ├── cmdproto.h │ │ ├── debug.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ └── version.inc │ ├── USB_template/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb.c │ │ ├── usb.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbhw.c │ │ ├── usbhw.h │ │ ├── usbtemplate.cflags │ │ ├── usbtemplate.config │ │ ├── usbtemplate.creator │ │ ├── usbtemplate.creator.user │ │ ├── usbtemplate.cxxflags │ │ ├── usbtemplate.files │ │ ├── usbtemplate.includes │ │ └── version.inc │ ├── USB_template_CDC/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ ├── usbtemplate.cflags │ │ ├── usbtemplate.config │ │ ├── usbtemplate.creator │ │ ├── usbtemplate.creator.user │ │ ├── usbtemplate.cxxflags │ │ ├── usbtemplate.files │ │ ├── usbtemplate.includes │ │ └── version.inc │ ├── blink/ │ │ ├── Makefile │ │ └── blink.c │ ├── floatPrintf/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usart1.cflags │ │ ├── usart1.config │ │ ├── usart1.creator │ │ ├── usart1.creator.user │ │ ├── usart1.cxxflags │ │ ├── usart1.files │ │ └── usart1.includes │ ├── inc/ │ │ ├── Fx/ │ │ │ ├── common_macros.h │ │ │ ├── stm32f0.h │ │ │ ├── stm32f030x6.h │ │ │ ├── stm32f030x8.h │ │ │ ├── stm32f030xc.h │ │ │ ├── stm32f031x6.h │ │ │ ├── stm32f038xx.h │ │ │ ├── stm32f042x6.h │ │ │ ├── stm32f048xx.h │ │ │ ├── stm32f051x8.h │ │ │ ├── stm32f058xx.h │ │ │ ├── stm32f070x6.h │ │ │ ├── stm32f070xb.h │ │ │ ├── stm32f071xb.h │ │ │ ├── stm32f072xb.h │ │ │ ├── stm32f078xx.h │ │ │ ├── stm32f091xc.h │ │ │ ├── stm32f098xx.h │ │ │ ├── stm32f0xx.h │ │ │ ├── stm32f1.h │ │ │ ├── stm32f10x.h │ │ │ ├── stm32f3.h │ │ │ ├── stm32f302xc.h │ │ │ ├── stm32f303x8.h │ │ │ ├── stm32f303xc.h │ │ │ ├── stm32f303xe.h │ │ │ └── vector.h │ │ ├── Makefile │ │ ├── cm/ │ │ │ ├── arm_math.h │ │ │ ├── cmsis_compiler.h │ │ │ ├── cmsis_gcc.h │ │ │ ├── cmsis_version.h │ │ │ ├── core_cm0.h │ │ │ ├── core_cm0plus.h │ │ │ ├── core_cm3.h │ │ │ ├── core_cm4.h │ │ │ ├── core_cm7.h │ │ │ ├── core_cmFunc.h │ │ │ ├── core_cmInstr.h │ │ │ ├── core_cmSimd.h │ │ │ ├── core_sc000.h │ │ │ ├── core_sc300.h │ │ │ └── mpu_armv7.h │ │ ├── ld/ │ │ │ ├── devices.data │ │ │ ├── stm32f103x4.ld │ │ │ ├── stm32f103x6.ld │ │ │ ├── stm32f103x8.ld │ │ │ ├── stm32f103xB.ld │ │ │ ├── stm32f103xC.ld │ │ │ ├── stm32f103xD.ld │ │ │ ├── stm32f103xE.ld │ │ │ ├── stm32f103xF.ld │ │ │ ├── stm32f103xG.ld │ │ │ ├── stm32f3.ld │ │ │ ├── stm32f302xB.ld │ │ │ ├── stm32f303xB.ld │ │ │ ├── stm32f303xC.ld │ │ │ └── stm32f303xD.ld │ │ └── startup/ │ │ └── vector.c │ ├── makefile.f3 │ ├── usart1/ │ │ ├── Makefile │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ ├── usart1fullDMA/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── usart.c │ │ └── usart.h │ └── usarts/ │ ├── Makefile │ ├── hardware.c │ ├── hardware.h │ ├── main.c │ ├── usart.c │ └── usart.h ├── F4:F401/ │ ├── blink/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── blink.c │ │ └── openocd.cfg │ └── inc/ │ ├── Fx/ │ │ ├── common_macros.h │ │ ├── stm32f4.h │ │ ├── stm32f407xx.h │ │ └── vector.h │ ├── cm/ │ │ ├── cmsis_compiler.h │ │ ├── cmsis_gcc.h │ │ ├── cmsis_version.h │ │ ├── core_cm4.h │ │ └── mpu_armv7.h │ ├── ld/ │ │ ├── devices.data │ │ ├── stm32f4.ld │ │ └── stm32f407xg.ld │ └── startup/ │ └── vector.c ├── G0:G070,G0B1/ │ ├── RTC/ │ │ ├── Makefile │ │ ├── Makefile.old │ │ ├── README │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── rtc.c │ │ ├── rtc.cflags │ │ ├── rtc.config │ │ ├── rtc.creator │ │ ├── rtc.creator.user │ │ ├── rtc.cxxflags │ │ ├── rtc.files │ │ ├── rtc.h │ │ ├── rtc.includes │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ └── version.inc │ ├── blink/ │ │ ├── Makefile │ │ ├── Makefile.old │ │ ├── README │ │ ├── blink.cflags │ │ ├── blink.config │ │ ├── blink.creator │ │ ├── blink.creator.user │ │ ├── blink.cxxflags │ │ ├── blink.files │ │ ├── blink.includes │ │ ├── openocd.cfg │ │ └── systick_blink.c │ ├── flash/ │ │ ├── Makefile │ │ ├── README │ │ ├── flash.c │ │ ├── flash.cflags │ │ ├── flash.config │ │ ├── flash.creator │ │ ├── flash.creator.user │ │ ├── flash.cxxflags │ │ ├── flash.files │ │ ├── flash.h │ │ ├── flash.includes │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ └── usart.h │ ├── g0b1/ │ │ ├── Makefile │ │ ├── README │ │ ├── dbg.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── test.cflags │ │ ├── test.config │ │ ├── test.creator │ │ ├── test.creator.user │ │ ├── test.cxxflags │ │ ├── test.files │ │ ├── test.includes │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── i2c/ │ │ ├── Makefile │ │ ├── Makefile.old │ │ ├── README │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── i2cscan.cflags │ │ ├── i2cscan.config │ │ ├── i2cscan.creator │ │ ├── i2cscan.creator.user │ │ ├── i2cscan.cxxflags │ │ ├── i2cscan.files │ │ ├── i2cscan.includes │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── proto.c │ │ ├── proto.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── usart.c │ │ ├── usart.h │ │ └── version.inc │ ├── inc/ │ │ ├── Fx/ │ │ │ ├── common_macros.h │ │ │ ├── flash_size_reg.h │ │ │ ├── stm32g0.h │ │ │ ├── stm32g030xx.h │ │ │ ├── stm32g031xx.h │ │ │ ├── stm32g041xx.h │ │ │ ├── stm32g050xx.h │ │ │ ├── stm32g051xx.h │ │ │ ├── stm32g061xx.h │ │ │ ├── stm32g070xx.h │ │ │ ├── stm32g071xx.h │ │ │ ├── stm32g081xx.h │ │ │ ├── stm32g0b0xx.h │ │ │ ├── stm32g0b1xx.h │ │ │ ├── stm32g0c1xx.h │ │ │ ├── stm32g0xx.h │ │ │ └── vector.h │ │ ├── cm/ │ │ │ ├── core_cm0.h │ │ │ ├── core_cm0plus.h │ │ │ ├── core_cm3.h │ │ │ ├── core_cm4.h │ │ │ ├── core_cm7.h │ │ │ ├── core_cmFunc.h │ │ │ ├── core_cmInstr.h │ │ │ ├── core_cmSimd.h │ │ │ ├── core_sc000.h │ │ │ └── core_sc300.h │ │ ├── ld/ │ │ │ ├── devices.data │ │ │ ├── stm32.ld │ │ │ ├── stm32g070xb.ld │ │ │ └── stm32g0b1xb.ld │ │ └── startup/ │ │ └── vector.c │ ├── makefile.g0 │ └── usart/ │ ├── Makefile │ ├── Makefile.old │ ├── README │ ├── main.c │ ├── openocd.cfg │ ├── usart.c │ ├── usart.cflags │ ├── usart.config │ ├── usart.creator │ ├── usart.creator.user │ ├── usart.cxxflags │ ├── usart.files │ ├── usart.h │ └── usart.includes ├── Readme.md ├── TODO ├── deprecated/ │ ├── F0/ │ │ ├── Readme.md │ │ ├── blink/ │ │ │ ├── Makefile │ │ │ ├── ld/ │ │ │ │ └── stm32f042k.ld │ │ │ ├── stm32f0.h │ │ │ └── systick_blink.c │ │ └── uart/ │ │ ├── Makefile │ │ ├── Readme │ │ ├── ld/ │ │ │ └── stm32f042k.ld │ │ ├── main.c │ │ ├── uart.geanypro │ │ ├── usart.c │ │ └── usart.h │ ├── F1/ │ │ ├── 1_wire/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── onewire.c │ │ │ ├── onewire.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── 2.8TFT/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── dmagpio.c │ │ │ ├── dmagpio.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── lcd.c │ │ │ ├── lcd.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── registers.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── DMA_GPIO/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── dmagpio.c │ │ │ ├── dmagpio.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── GPIO_TIM/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── timgpio.c │ │ │ ├── timgpio.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── GPS/ │ │ │ ├── GPS.c │ │ │ ├── GPS.geany │ │ │ ├── GPS.h │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── uart.c │ │ │ ├── uart.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── GPS+ultrasonic/ │ │ │ ├── GPS.c │ │ │ ├── GPS.h │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── adc.c │ │ │ ├── adc.h │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── uart.c │ │ │ ├── uart.h │ │ │ ├── ultrasonic.c │ │ │ ├── ultrasonic.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── Jeep_generator/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── timer.c │ │ │ ├── timer.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── Readme.md │ │ ├── Timelapse_keyboard/ │ │ │ ├── GPS.c │ │ │ ├── GPS.h │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── adc.c │ │ │ ├── adc.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── keycodes.c │ │ │ ├── keycodes.h │ │ │ ├── kicad/ │ │ │ │ ├── LEDs.cmp │ │ │ │ ├── LEDs.net │ │ │ │ ├── LEDs.sch │ │ │ │ ├── diff_schematics.kicad_pcb │ │ │ │ ├── diff_schematics.pro │ │ │ │ └── my_modules.mod │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── uart.c │ │ │ ├── uart.h │ │ │ ├── ultrasonic.c │ │ │ ├── ultrasonic.h │ │ │ ├── usbkeybrd.c │ │ │ └── usbkeybrd.h │ │ ├── Timelapse_keyboard_only_lasers/ │ │ │ ├── GPS.c │ │ │ ├── GPS.h │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── adc.c │ │ │ ├── adc.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── keycodes.c │ │ │ ├── keycodes.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── uart.c │ │ │ ├── uart.h │ │ │ ├── usbkeybrd.c │ │ │ └── usbkeybrd.h │ │ ├── USBCDC_template/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── canon_lens/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── spi.c │ │ │ ├── spi.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── client-term/ │ │ │ ├── Makefile │ │ │ └── client.c │ │ ├── distance_meters/ │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sharp.c │ │ │ ├── sharp.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── ultrasonic.c │ │ │ ├── ultrasonic.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── hid_mouse_keyboard/ │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── keycodes.c │ │ │ ├── keycodes.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ └── usbhid.c │ │ ├── keyboard_snippet/ │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── keycodes.c │ │ │ ├── keycodes.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── ocm.h │ │ │ ├── usbkeybrd.c │ │ │ └── usbkeybrd.h │ │ ├── matrix_keyboard/ │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── keycodes.c │ │ │ ├── keycodes.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── matrixkbd.c │ │ │ └── matrixkbd.h │ │ ├── nokia5110/ │ │ │ ├── Makefile │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── font.c │ │ │ ├── font.h │ │ │ ├── hw_init.c │ │ │ ├── hw_init.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── pcd8544.c │ │ │ ├── pcd8544.h │ │ │ ├── spi.c │ │ │ ├── spi.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── simple_cdc/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ ├── stepper_motion/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── cdcacm.c │ │ │ ├── cdcacm.h │ │ │ ├── client-p2/ │ │ │ │ ├── Makefile │ │ │ │ ├── bta_shdata.h │ │ │ │ ├── cmdlnopts.c │ │ │ │ ├── cmdlnopts.h │ │ │ │ ├── main.c │ │ │ │ ├── parseargs.c │ │ │ │ └── parseargs.h │ │ │ ├── hardware_ini.c │ │ │ ├── hardware_ini.h │ │ │ ├── ld/ │ │ │ │ ├── devices.data │ │ │ │ ├── stm32f103x4.ld │ │ │ │ ├── stm32f103x6.ld │ │ │ │ ├── stm32f103x8.ld │ │ │ │ ├── stm32f103xB.ld │ │ │ │ ├── stm32f103xC.ld │ │ │ │ ├── stm32f103xD.ld │ │ │ │ ├── stm32f103xE.ld │ │ │ │ ├── stm32f103xF.ld │ │ │ │ └── stm32f103xG.ld │ │ │ ├── main.c │ │ │ ├── main.h │ │ │ ├── steppers.c │ │ │ ├── steppers.h │ │ │ ├── sync.c │ │ │ ├── sync.h │ │ │ ├── user_proto.c │ │ │ └── user_proto.h │ │ └── ultrasonic/ │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── cdcacm.c │ │ ├── cdcacm.h │ │ ├── hardware_ini.c │ │ ├── hardware_ini.h │ │ ├── ld/ │ │ │ ├── devices.data │ │ │ ├── stm32f103x4.ld │ │ │ ├── stm32f103x6.ld │ │ │ ├── stm32f103x8.ld │ │ │ ├── stm32f103xB.ld │ │ │ ├── stm32f103xC.ld │ │ │ ├── stm32f103xD.ld │ │ │ ├── stm32f103xE.ld │ │ │ ├── stm32f103xF.ld │ │ │ └── stm32f103xG.ld │ │ ├── main.c │ │ ├── main.h │ │ ├── sharp.c │ │ ├── sharp.h │ │ ├── sync.c │ │ ├── sync.h │ │ ├── ultrasonic.c │ │ ├── ultrasonic.geany │ │ ├── ultrasonic.h │ │ ├── user_proto.c │ │ └── user_proto.h │ └── README ├── libopencm3.ori.tgz ├── makefile.stm32 ├── snippets/ │ ├── USB_CDC_ringbuffer/ │ │ ├── Makefile │ │ ├── README │ │ ├── dbg.h │ │ ├── hardware.c │ │ ├── hardware.h │ │ ├── main.c │ │ ├── openocd.cfg │ │ ├── ringbuffer.c │ │ ├── ringbuffer.h │ │ ├── strfunc.c │ │ ├── strfunc.h │ │ ├── test.cflags │ │ ├── test.config │ │ ├── test.creator │ │ ├── test.creator.user │ │ ├── test.cxxflags │ │ ├── test.files │ │ ├── test.includes │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_dev.c │ │ ├── usb_dev.h │ │ ├── usb_lib.c │ │ ├── usb_lib.h │ │ └── version.inc │ ├── factorize.c │ ├── factorize2.c │ ├── strfunc.c │ ├── strfunc.h │ └── usb_pl2303/ │ ├── Readme │ ├── ringbuffer.c │ ├── ringbuffer.h │ ├── usb.c │ ├── usb.h │ ├── usb_lib.c │ ├── usb_lib.h │ ├── usbhw.c │ └── usbhw.h └── testboard/ ├── F0_F1-LQFP48_testboard/ │ ├── elements.lib │ ├── fp-info-cache │ ├── fp-lib-table │ ├── my_footprints.pretty/ │ │ ├── Hole_3mm.kicad_mod │ │ ├── Potentiometer.kicad_mod │ │ ├── SMD_conn_4x2.5mm.kicad_mod │ │ └── TH_via.kicad_mod │ ├── stm32-rescue.lib │ ├── stm32.bom │ ├── stm32.kicad_pcb │ ├── stm32.net │ ├── stm32.pro │ ├── stm32.sch │ └── sym-lib-table └── F0_F1_F3-LQFP48_testboard/ ├── elements.lib ├── fp-info-cache ├── fp-lib-table ├── my_footprints.pretty/ │ ├── Hole_3mm.kicad_mod │ ├── Potentiometer.kicad_mod │ ├── SMD_conn_4x2.5mm.kicad_mod │ └── TH_via.kicad_mod ├── stm32-rescue.lib ├── stm32.bom ├── stm32.kicad_pcb ├── stm32.kicad_prl ├── stm32.kicad_pro ├── stm32.kicad_sch ├── stm32.net ├── stm32.pro ├── stm32.sch └── sym-lib-table