euro-yesman-1u: purge previous project files

wip/yesman
Katharina Fey 3 years ago
parent ff5dabf1ed
commit 3a4eed5870
Signed by: kookie
GPG Key ID: 90734A9E619C8A6C
  1. 9
      hardware/devices/euro-yesman-1u/board/yesman-board/breadlib.pretty/1B3W-9.kicad_mod
  2. 0
      hardware/devices/euro-yesman-1u/board/yesman-board/breadlib.pretty/yesman-logo.kicad_mod
  3. 1290
      hardware/devices/euro-yesman-1u/board/yesman-board/fp-info-cache
  4. 1941
      hardware/devices/euro-yesman-1u/board/yesman-board/generated/switch.step
  5. 508
      hardware/devices/euro-yesman-1u/board/yesman-board/generated/yesman-board.net
  6. 0
      hardware/devices/euro-yesman-1u/board/yesman-board/yesman-board-cache.lib
  7. 2295
      hardware/devices/euro-yesman-1u/board/yesman-board/yesman-board.kicad_pcb
  8. 2295
      hardware/devices/euro-yesman-1u/board/yesman-board/yesman-board.kicad_pcb-bak
  9. 0
      hardware/devices/euro-yesman-1u/board/yesman-board/yesman-board.pro
  10. 32
      hardware/devices/euro-yesman-1u/board/yesman-board/yesman-board.sch
  11. 0
      hardware/devices/euro-yesman-1u/board/yesman-board/yesman-board.sch-bak
  12. 8
      hardware/devices/euro-yesman-1u/euro-yesman/.cargo/config
  13. 1
      hardware/devices/euro-yesman-1u/euro-yesman/.gitignore
  14. 0
      hardware/devices/euro-yesman-1u/euro-yesman/.projectile
  15. 294
      hardware/devices/euro-yesman-1u/euro-yesman/Cargo.lock
  16. 24
      hardware/devices/euro-yesman-1u/euro-yesman/Cargo.toml
  17. 45
      hardware/devices/euro-yesman-1u/euro-yesman/README.md
  18. 2113
      hardware/devices/euro-yesman-1u/euro-yesman/board/yesman-board/yesman-board.kicad_pcb
  19. 2113
      hardware/devices/euro-yesman-1u/euro-yesman/board/yesman-board/yesman-board.kicad_pcb-bak
  20. BIN
      hardware/devices/euro-yesman-1u/euro-yesman/logo.png
  21. 8
      hardware/devices/euro-yesman-1u/euro-yesman/memory.x
  22. 6
      hardware/devices/euro-yesman-1u/euro-yesman/openocd.cfg
  23. 19
      hardware/devices/euro-yesman-1u/euro-yesman/openocd.gdb
  24. 2099
      hardware/devices/euro-yesman-1u/euro-yesman/panel/solvespace-example.slvs
  25. 2071
      hardware/devices/euro-yesman-1u/euro-yesman/panel/switch.slvs
  26. 9
      hardware/devices/euro-yesman-1u/euro-yesman/shell.nix
  27. 45
      hardware/devices/euro-yesman-1u/euro-yesman/src/main.rs
  28. 66
      hardware/devices/euro-yesman-1u/euro-yesman/src/seq.rs
  29. 4087
      hardware/devices/euro-yesman-1u/panel/solvespace-example.slvs
  30. 14179
      hardware/devices/euro-yesman-1u/panel/yesman-cover-v1.slvs
  31. 0
      hardware/devices/euro-yesman-1u/panel/yesman_panel.scad
  32. 0
      hardware/devices/euro-yesman-1u/pcb_logo.svg
  33. 3
      hardware/devices/euro-yesman-1u/shell.nix

@ -1,16 +1,21 @@
(module 1B3W-9 (layer F.Cu) (tedit 6055BFAA)
(module 1B3W-9 (layer F.Cu) (tedit 6057B92C)
(fp_text reference REF** (at 0 0) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 1B3W-9 (at 0 -6) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 3 3.9) (end -3 3.9) (layer F.SilkS) (width 0.12))
(fp_line (start -3 -3.9) (end 3 -3.9) (layer F.SilkS) (width 0.12))
(fp_line (start 3 3.9) (end -3 3.9) (layer F.SilkS) (width 0.12))
(pad 1 thru_hole circle (at -3.1 -2.5) (size 1.2 1.2) (drill 0.8) (layers *.Cu *.Mask))
(pad 2 thru_hole circle (at 3.1 -2.5) (size 1.2 1.2) (drill 0.8) (layers *.Cu *.Mask))
(pad 3 thru_hole circle (at -3.1 2.5) (size 1.2 1.2) (drill 0.8) (layers *.Cu *.Mask))
(pad 4 thru_hole circle (at 3.1 2.5) (size 1.2 1.2) (drill 0.8) (layers *.Cu *.Mask))
(pad 5 thru_hole circle (at 0 -3.15) (size 1.2 1.2) (drill 0.8) (layers *.Cu *.Mask))
(pad 6 thru_hole circle (at 0 3.15) (size 1.2 1.2) (drill 0.8) (layers *.Cu *.Mask))
(model ${KIPRJMOD}/generated/switch.step
(offset (xyz -3 0 0))
(scale (xyz 1 1 1))
(rotate (xyz -90 0 0))
)
)

@ -1,8 +1,8 @@
(export (version D)
(design
(source /Users/spacekookie/Projects/kookienomicon/hardware/euro-yesman/board/yesman-board/yesman-board.sch)
(date "2021 March 20, Saturday 10:27:44")
(tool "Eeschema (5.1.9-0-10_14)")
(source /home/Projects/kookienomicon/hardware/devices/euro-yesman-1u/board/yesman-board/yesman-board.sch)
(date "Sun 21 Mar 2021 22:24:12 CET")
(tool "Eeschema 5.1.9-1")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title)
@ -143,112 +143,112 @@
(tstamp 60601D72))
(comp (ref SW1)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60638780))
(comp (ref SW2)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 6064326E))
(comp (ref SW3)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60643E6D))
(comp (ref SW4)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 6064516F))
(comp (ref SW5)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 606458FA))
(comp (ref SW6)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60646053))
(comp (ref SW7)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60646ABD))
(comp (ref SW8)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 606472E3))
(comp (ref SW16)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60655E34))
(comp (ref SW15)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60656E57))
(comp (ref SW14)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 606575B5))
(comp (ref SW13)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60657CF0))
(comp (ref SW12)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60658A7F))
(comp (ref SW11)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 6065921E))
(comp (ref SW10)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
(tstamp 60659CBA))
(comp (ref SW9)
(value SW_Push_LED)
(footprint breadlib:1B3W-9)
(footprint Breadlib:1B3W-9)
(datasheet ~)
(libsource (lib Switch) (part SW_Push_LED) (description "Push button switch with LED, generic"))
(sheetpath (names /) (tstamps /))
@ -461,280 +461,280 @@
(pin (num 4) (name A) (type passive)))))
(libraries
(library (logical Device)
(uri "/Library/Application Support/kicad/library/Device.lib"))
(uri /nix/store/zjvkvqvzd55lixbd8gbqhw26915q2hn3-kicad-symbols-5.1.9/share/kicad/library/Device.lib))
(library (logical MCU_ST_STM32F1)
(uri "/Library/Application Support/kicad/library/MCU_ST_STM32F1.lib"))
(uri /nix/store/zjvkvqvzd55lixbd8gbqhw26915q2hn3-kicad-symbols-5.1.9/share/kicad/library/MCU_ST_STM32F1.lib))
(library (logical Switch)
(uri "/Library/Application Support/kicad/library/Switch.lib")))
(uri /nix/store/zjvkvqvzd55lixbd8gbqhw26915q2hn3-kicad-symbols-5.1.9/share/kicad/library/Switch.lib)))
(nets
(net (code 1) (name /ST_1)
(net (code 1) (name "Net-(R2-Pad1)")
(node (ref SW2) (pin 1))
(node (ref R2) (pin 1)))
(net (code 2) (name /ST_1)
(node (ref SW1) (pin 2)))
(net (code 2) (name /ST_1_LED)
(node (ref R17) (pin 2))
(node (ref SW1) (pin 4)))
(net (code 3) (name "Net-(R1-Pad1)")
(node (ref R1) (pin 1))
(node (ref SW1) (pin 1)))
(node (ref SW1) (pin 1))
(node (ref R1) (pin 1)))
(net (code 4) (name GND)
(node (ref R2) (pin 2))
(node (ref SW1) (pin 3))
(node (ref SW2) (pin 3))
(node (ref SW3) (pin 3))
(node (ref SW4) (pin 3))
(node (ref SW5) (pin 3))
(node (ref R3) (pin 2))
(node (ref R16) (pin 2))
(node (ref R7) (pin 2))
(node (ref R1) (pin 2))
(node (ref R4) (pin 2))
(node (ref SW6) (pin 3))
(node (ref R5) (pin 2))
(node (ref R15) (pin 2))
(node (ref SW7) (pin 3))
(node (ref R6) (pin 2))
(node (ref SW8) (pin 3))
(node (ref R7) (pin 2))
(node (ref R14) (pin 2))
(node (ref SW16) (pin 3))
(node (ref SW15) (pin 3))
(node (ref SW14) (pin 3))
(node (ref R8) (pin 2))
(node (ref SW13) (pin 3))
(node (ref SW9) (pin 3))
(node (ref SW12) (pin 3))
(node (ref R9) (pin 2))
(node (ref SW11) (pin 3))
(node (ref R13) (pin 2))
(node (ref U1) (pin 35))
(node (ref SW10) (pin 3))
(node (ref R8) (pin 2))
(node (ref R5) (pin 2))
(node (ref R10) (pin 2))
(node (ref SW9) (pin 3))
(node (ref R1) (pin 2))
(node (ref R9) (pin 2))
(node (ref R11) (pin 2))
(node (ref R12) (pin 2)))
(net (code 5) (name /ST_2)
(node (ref SW2) (pin 2)))
(net (code 6) (name /ST_2_LED)
(node (ref R18) (pin 2))
(node (ref SW2) (pin 4)))
(net (code 7) (name "Net-(R2-Pad1)")
(node (ref R2) (pin 1))
(node (ref SW2) (pin 1)))
(net (code 8) (name /ST_3)
(node (ref SW3) (pin 2)))
(net (code 9) (name /ST_3_LED)
(node (ref R19) (pin 2))
(node (ref SW3) (pin 4)))
(net (code 10) (name "Net-(R3-Pad1)")
(node (ref SW3) (pin 1))
(node (ref R3) (pin 1)))
(net (code 11) (name /ST_4)
(node (ref SW4) (pin 2)))
(net (code 12) (name /ST_4_LED)
(node (ref R20) (pin 2))
(node (ref SW4) (pin 4)))
(net (code 13) (name "Net-(R4-Pad1)")
(node (ref R4) (pin 1))
(node (ref SW4) (pin 1)))
(net (code 14) (name /ST_5)
(node (ref R12) (pin 2))
(node (ref R14) (pin 2))
(node (ref R3) (pin 2))
(node (ref R16) (pin 2))
(node (ref R15) (pin 2))
(node (ref R13) (pin 2))
(node (ref U1) (pin 35))
(node (ref SW4) (pin 3))
(node (ref SW5) (pin 3))
(node (ref SW3) (pin 3))
(node (ref SW6) (pin 3))
(node (ref SW7) (pin 3))
(node (ref SW8) (pin 3))
(node (ref SW2) (pin 3))
(node (ref SW1) (pin 3))
(node (ref SW16) (pin 3)))
(net (code 5) (name "Net-(U1-Pad23)")
(node (ref U1) (pin 23))
(node (ref U1) (pin 47)))
(net (code 6) (name VCC)
(node (ref U1) (pin 48))
(node (ref U1) (pin 36))
(node (ref U1) (pin 24))
(node (ref C1) (pin 1))
(node (ref C1) (pin 2)))
(net (code 7) (name "Net-(R6-Pad1)")
(node (ref R6) (pin 1))
(node (ref SW6) (pin 1)))
(net (code 8) (name /ST_16)
(node (ref SW16) (pin 2)))
(net (code 9) (name "Net-(R16-Pad1)")
(node (ref R16) (pin 1))
(node (ref SW16) (pin 1)))
(net (code 10) (name /ST_8)
(node (ref SW8) (pin 2)))
(net (code 11) (name "Net-(R8-Pad1)")
(node (ref SW8) (pin 1))
(node (ref R8) (pin 1)))
(net (code 12) (name /ST_7)
(node (ref SW7) (pin 2)))
(net (code 13) (name "Net-(R7-Pad1)")
(node (ref R7) (pin 1))
(node (ref SW7) (pin 1)))
(net (code 14) (name /ST_6)
(node (ref SW6) (pin 2)))
(net (code 15) (name /ST_5)
(node (ref SW5) (pin 2)))
(net (code 15) (name /ST_5_LED)
(node (ref R21) (pin 2))
(node (ref SW5) (pin 4)))
(net (code 16) (name "Net-(R5-Pad1)")
(node (ref SW5) (pin 1))
(node (ref R5) (pin 1)))
(net (code 17) (name /ST_6)
(node (ref SW6) (pin 2)))
(net (code 18) (name /ST_6_LED)
(node (ref SW6) (pin 4))
(node (ref R22) (pin 2)))
(net (code 19) (name "Net-(R6-Pad1)")
(node (ref SW6) (pin 1))
(node (ref R6) (pin 1)))
(net (code 20) (name /ST_7)
(node (ref SW7) (pin 2)))
(net (code 21) (name /ST_7_LED)
(node (ref SW7) (pin 4))
(node (ref R23) (pin 2)))
(net (code 22) (name "Net-(R7-Pad1)")
(node (ref SW7) (pin 1))
(node (ref R7) (pin 1)))
(net (code 23) (name /ST_8)
(node (ref SW8) (pin 2)))
(net (code 24) (name /ST_8_LED)
(net (code 17) (name /ST_4)
(node (ref SW4) (pin 2)))
(net (code 18) (name "Net-(R4-Pad1)")
(node (ref SW4) (pin 1))
(node (ref R4) (pin 1)))
(net (code 19) (name "Net-(R3-Pad1)")
(node (ref R3) (pin 1))
(node (ref SW3) (pin 1)))
(net (code 20) (name "Net-(U1-Pad12)")
(node (ref U1) (pin 12)))
(net (code 21) (name "Net-(U1-Pad26)")
(node (ref U1) (pin 26)))
(net (code 22) (name "Net-(U1-Pad25)")
(node (ref U1) (pin 25)))
(net (code 23) (name "Net-(U1-Pad22)")
(node (ref U1) (pin 22)))
(net (code 24) (name "Net-(U1-Pad21)")
(node (ref U1) (pin 21)))
(net (code 25) (name "Net-(U1-Pad17)")
(node (ref U1) (pin 17)))
(net (code 26) (name "Net-(U1-Pad16)")
(node (ref U1) (pin 16)))
(net (code 27) (name "Net-(U1-Pad15)")
(node (ref U1) (pin 15)))
(net (code 28) (name "Net-(U1-Pad14)")
(node (ref U1) (pin 14)))
(net (code 29) (name "Net-(U1-Pad13)")
(node (ref U1) (pin 13)))
(net (code 30) (name "Net-(U1-Pad27)")
(node (ref U1) (pin 27)))
(net (code 31) (name "Net-(R32-Pad2)")
(node (ref R32) (pin 2))
(node (ref U1) (pin 38)))
(net (code 32) (name "Net-(U1-Pad11)")
(node (ref U1) (pin 11)))
(net (code 33) (name "Net-(U1-Pad10)")
(node (ref U1) (pin 10)))
(net (code 34) (name "Net-(U1-Pad7)")
(node (ref U1) (pin 7)))
(net (code 35) (name "Net-(U1-Pad44)")
(node (ref U1) (pin 44)))
(net (code 36) (name "Net-(U1-Pad5)")
(node (ref U1) (pin 5)))
(net (code 37) (name "Net-(U1-Pad8)")
(node (ref U1) (pin 8)))
(net (code 38) (name "Net-(U1-Pad9)")
(node (ref U1) (pin 9)))
(net (code 39) (name "Net-(U1-Pad1)")
(node (ref U1) (pin 1)))
(net (code 40) (name "Net-(U1-Pad6)")
(node (ref U1) (pin 6)))
(net (code 41) (name "Net-(U1-Pad4)")
(node (ref U1) (pin 4)))
(net (code 42) (name "Net-(U1-Pad3)")
(node (ref U1) (pin 3)))
(net (code 43) (name "Net-(U1-Pad2)")
(node (ref U1) (pin 2)))
(net (code 44) (name "Net-(U1-Pad46)")
(node (ref U1) (pin 46)))
(net (code 45) (name "Net-(U1-Pad45)")
(node (ref U1) (pin 45)))
(net (code 46) (name "Net-(R24-Pad1)")
(node (ref R24) (pin 1))
(node (ref U1) (pin 43)))
(net (code 47) (name "Net-(U1-Pad28)")
(node (ref U1) (pin 28)))
(net (code 48) (name /ST_13_LED)
(node (ref R29) (pin 1))
(node (ref SW13) (pin 4)))
(net (code 49) (name /ST_12_LED)
(node (ref SW12) (pin 4))
(node (ref R28) (pin 1)))
(net (code 50) (name /ST_11_LED)
(node (ref SW11) (pin 4))
(node (ref R27) (pin 1)))
(net (code 51) (name /ST_10_LED)
(node (ref SW10) (pin 4))
(node (ref R26) (pin 1)))
(net (code 52) (name /ST_9_LED)
(node (ref R25) (pin 1))
(node (ref SW9) (pin 4)))
(net (code 53) (name "Net-(R31-Pad2)")
(node (ref R31) (pin 2))
(node (ref U1) (pin 37)))
(net (code 54) (name "Net-(R30-Pad2)")
(node (ref R30) (pin 2))
(node (ref U1) (pin 34)))
(net (code 55) (name /ST_14_LED)
(node (ref SW14) (pin 4))
(node (ref R30) (pin 1)))
(net (code 56) (name "Net-(R29-Pad2)")
(node (ref R29) (pin 2))
(node (ref U1) (pin 33)))
(net (code 57) (name "Net-(R28-Pad2)")
(node (ref R28) (pin 2))
(node (ref U1) (pin 32)))
(net (code 58) (name "Net-(R27-Pad2)")
(node (ref R27) (pin 2))
(node (ref U1) (pin 31)))
(net (code 59) (name "Net-(R26-Pad2)")
(node (ref U1) (pin 30))
(node (ref R26) (pin 2)))
(net (code 60) (name "Net-(R25-Pad2)")
(node (ref U1) (pin 29))
(node (ref R25) (pin 2)))
(net (code 61) (name /ST_3_LED)
(node (ref SW3) (pin 4))
(node (ref R19) (pin 2)))
(net (code 62) (name /ST_15_LED)
(node (ref R31) (pin 1))
(node (ref SW15) (pin 4)))
(net (code 63) (name /ST_16_LED)
(node (ref R32) (pin 1))
(node (ref SW16) (pin 4)))
(net (code 64) (name /ST_8_LED)
(node (ref SW8) (pin 4))
(node (ref R24) (pin 2)))
(net (code 25) (name "Net-(R8-Pad1)")
(node (ref R8) (pin 1))
(node (ref SW8) (pin 1)))
(net (code 26) (name /ST_9)
(net (code 65) (name /ST_7_LED)
(node (ref R23) (pin 2))
(node (ref SW7) (pin 4)))
(net (code 66) (name /ST_6_LED)
(node (ref SW6) (pin 4))
(node (ref R22) (pin 2)))
(net (code 67) (name /ST_5_LED)
(node (ref SW5) (pin 4))
(node (ref R21) (pin 2)))
(net (code 68) (name /ST_4_LED)
(node (ref R20) (pin 2))
(node (ref SW4) (pin 4)))
(net (code 69) (name /ST_2_LED)
(node (ref R18) (pin 2))
(node (ref SW2) (pin 4)))
(net (code 70) (name /ST_1_LED)
(node (ref SW1) (pin 4))
(node (ref R17) (pin 2)))
(net (code 71) (name "Net-(R12-Pad1)")
(node (ref R12) (pin 1))
(node (ref SW12) (pin 1)))
(net (code 72) (name /ST_9)
(node (ref SW9) (pin 2)))
(net (code 27) (name /ST_9_LED)
(node (ref SW9) (pin 4))
(node (ref R25) (pin 1)))
(net (code 28) (name "Net-(R9-Pad1)")
(node (ref SW9) (pin 1))
(node (ref R9) (pin 1)))
(net (code 29) (name /ST_10)
(net (code 73) (name "Net-(R9-Pad1)")
(node (ref R9) (pin 1))
(node (ref SW9) (pin 1)))
(net (code 74) (name /ST_10)
(node (ref SW10) (pin 2)))
(net (code 30) (name /ST_10_LED)
(node (ref R26) (pin 1))
(node (ref SW10) (pin 4)))
(net (code 31) (name "Net-(R10-Pad1)")
(node (ref R10) (pin 1))
(node (ref SW10) (pin 1)))
(net (code 32) (name /ST_11)
(net (code 75) (name "Net-(R10-Pad1)")
(node (ref SW10) (pin 1))
(node (ref R10) (pin 1)))
(net (code 76) (name /ST_11)
(node (ref SW11) (pin 2)))
(net (code 33) (name /ST_11_LED)
(node (ref R27) (pin 1))
(node (ref SW11) (pin 4)))
(net (code 34) (name "Net-(R11-Pad1)")
(net (code 77) (name "Net-(R11-Pad1)")
(node (ref SW11) (pin 1))
(node (ref R11) (pin 1)))
(net (code 35) (name /ST_12)
(net (code 78) (name /ST_12)
(node (ref SW12) (pin 2)))
(net (code 36) (name /ST_12_LED)
(node (ref R28) (pin 1))
(node (ref SW12) (pin 4)))
(net (code 37) (name "Net-(R12-Pad1)")
(node (ref R12) (pin 1))
(node (ref SW12) (pin 1)))
(net (code 38) (name /ST_13)
(net (code 79) (name /ST_13)
(node (ref SW13) (pin 2)))
(net (code 39) (name /ST_13_LED)
(node (ref R29) (pin 1))
(node (ref SW13) (pin 4)))
(net (code 40) (name "Net-(R13-Pad1)")
(net (code 80) (name "Net-(R13-Pad1)")
(node (ref SW13) (pin 1))
(node (ref R13) (pin 1)))
(net (code 41) (name /ST_14)
(net (code 81) (name /ST_14)
(node (ref SW14) (pin 2)))
(net (code 42) (name /ST_14_LED)
(node (ref R30) (pin 1))
(node (ref SW14) (pin 4)))
(net (code 43) (name "Net-(R14-Pad1)")
(net (code 82) (name "Net-(R14-Pad1)")
(node (ref SW14) (pin 1))
(node (ref R14) (pin 1)))
(net (code 44) (name /ST_15)
(net (code 83) (name /ST_15)
(node (ref SW15) (pin 2)))
(net (code 45) (name /ST_15_LED)
(node (ref SW15) (pin 4))
(node (ref R31) (pin 1)))
(net (code 46) (name "Net-(R15-Pad1)")
(net (code 84) (name "Net-(R15-Pad1)")
(node (ref R15) (pin 1))
(node (ref SW15) (pin 1)))
(net (code 47) (name /ST_16)
(node (ref SW16) (pin 2)))
(net (code 48) (name /ST_16_LED)
(node (ref SW16) (pin 4))
(node (ref R32) (pin 1)))
(net (code 49) (name "Net-(R16-Pad1)")
(node (ref R16) (pin 1))
(node (ref SW16) (pin 1)))
(net (code 50) (name "Net-(U1-Pad44)")
(node (ref U1) (pin 44)))
(net (code 51) (name "Net-(U1-Pad7)")
(node (ref U1) (pin 7)))
(net (code 52) (name "Net-(U1-Pad10)")
(node (ref U1) (pin 10)))
(net (code 53) (name "Net-(U1-Pad11)")
(node (ref U1) (pin 11)))
(net (code 54) (name "Net-(R27-Pad2)")
(node (ref U1) (pin 31))
(node (ref R27) (pin 2)))
(net (code 55) (name "Net-(R28-Pad2)")
(node (ref U1) (pin 32))
(node (ref R28) (pin 2)))
(net (code 56) (name "Net-(R29-Pad2)")
(node (ref U1) (pin 33))
(node (ref R29) (pin 2)))
(net (code 57) (name "Net-(R30-Pad2)")
(node (ref U1) (pin 34))
(node (ref R30) (pin 2)))
(net (code 58) (name "Net-(R31-Pad2)")
(node (ref R31) (pin 2))
(node (ref U1) (pin 37)))
(net (code 59) (name "Net-(U1-Pad12)")
(node (ref U1) (pin 12)))
(net (code 60) (name "Net-(U1-Pad13)")
(node (ref U1) (pin 13)))
(net (code 61) (name "Net-(U1-Pad14)")
(node (ref U1) (pin 14)))
(net (code 62) (name "Net-(U1-Pad15)")
(node (ref U1) (pin 15)))
(net (code 63) (name "Net-(U1-Pad16)")
(node (ref U1) (pin 16)))
(net (code 64) (name "Net-(U1-Pad17)")
(node (ref U1) (pin 17)))
(net (code 65) (name "Net-(R25-Pad2)")
(node (ref U1) (pin 29))
(node (ref R25) (pin 2)))
(net (code 66) (name "Net-(R26-Pad2)")
(node (ref U1) (pin 30))
(node (ref R26) (pin 2)))
(net (code 67) (name "Net-(R17-Pad1)")
(node (ref U1) (pin 18))
(node (ref R17) (pin 1)))
(net (code 68) (name "Net-(R18-Pad1)")
(node (ref U1) (pin 19))
(node (ref R18) (pin 1)))
(net (code 69) (name "Net-(U1-Pad21)")
(node (ref U1) (pin 21)))
(net (code 70) (name "Net-(U1-Pad22)")
(node (ref U1) (pin 22)))
(net (code 71) (name "Net-(U1-Pad25)")
(node (ref U1) (pin 25)))
(net (code 72) (name "Net-(U1-Pad26)")
(node (ref U1) (pin 26)))
(net (code 73) (name "Net-(U1-Pad27)")
(node (ref U1) (pin 27)))
(net (code 74) (name "Net-(U1-Pad28)")
(node (ref U1) (pin 28)))
(net (code 75) (name "Net-(R19-Pad1)")
(net (code 85) (name "Net-(R19-Pad1)")
(node (ref U1) (pin 20))
(node (ref R19) (pin 1)))
(net (code 76) (name "Net-(R20-Pad1)")
(node (ref U1) (pin 39))
(node (ref R20) (pin 1)))
(net (code 77) (name "Net-(R21-Pad1)")
(net (code 86) (name "Net-(R23-Pad1)")
(node (ref U1) (pin 42))
(node (ref R23) (pin 1)))
(net (code 87) (name "Net-(R22-Pad1)")
(node (ref U1) (pin 41))
(node (ref R22) (pin 1)))
(net (code 88) (name "Net-(R21-Pad1)")
(node (ref R21) (pin 1))
(node (ref U1) (pin 40)))
(net (code 78) (name "Net-(R22-Pad1)")
(node (ref R22) (pin 1))
(node (ref U1) (pin 41)))
(net (code 79) (name "Net-(R23-Pad1)")
(node (ref R23) (pin 1))
(node (ref U1) (pin 42)))
(net (code 80) (name "Net-(U1-Pad45)")
(node (ref U1) (pin 45)))
(net (code 81) (name "Net-(U1-Pad46)")
(node (ref U1) (pin 46)))
(net (code 82) (name "Net-(U1-Pad2)")
(node (ref U1) (pin 2)))
(net (code 83) (name "Net-(U1-Pad3)")
(node (ref U1) (pin 3)))
(net (code 84) (name "Net-(U1-Pad4)")
(node (ref U1) (pin 4)))
(net (code 85) (name "Net-(U1-Pad5)")
(node (ref U1) (pin 5)))
(net (code 86) (name "Net-(U1-Pad6)")
(node (ref U1) (pin 6)))
(net (code 87) (name "Net-(U1-Pad1)")
(node (ref U1) (pin 1)))
(net (code 88) (name "Net-(U1-Pad9)")
(node (ref U1) (pin 9)))
(net (code 89) (name "Net-(U1-Pad23)")
(node (ref U1) (pin 23))
(node (ref U1) (pin 47)))
(net (code 90) (name "Net-(U1-Pad8)")
(node (ref U1) (pin 8)))
(net (code 91) (name VCC)
(node (ref U1) (pin 48))
(node (ref U1) (pin 36))
(node (ref U1) (pin 24))
(node (ref C1) (pin 1))
(node (ref C1) (pin 2)))
(net (code 92) (name "Net-(R24-Pad1)")
(node (ref U1) (pin 43))
(node (ref R24) (pin 1)))
(net (code 93) (name "Net-(R32-Pad2)")
(node (ref U1) (pin 38))
(node (ref R32) (pin 2)))))
(net (code 89) (name "Net-(R20-Pad1)")
(node (ref U1) (pin 39))
(node (ref R20) (pin 1)))
(net (code 90) (name "Net-(R18-Pad1)")
(node (ref U1) (pin 19))
(node (ref R18) (pin 1)))
(net (code 91) (name "Net-(R17-Pad1)")
(node (ref U1) (pin 18))
(node (ref R17) (pin 1)))
(net (code 92) (name /ST_2)
(node (ref SW2) (pin 2)))
(net (code 93) (name /ST_3)
(node (ref SW3) (pin 2)))))

@ -752,7 +752,7 @@ U 1 1 60638780
P 1550 1200
F 0 "SW1" H 1550 1585 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 1494 50 0000 C CNN
F 2 "" H 1550 1500 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 1500 50 0001 C CNN
F 3 "~" H 1550 1500 50 0001 C CNN
1 1550 1200
1 0 0 -1
@ -763,7 +763,7 @@ U 1 1 6064326E
P 1550 1800
F 0 "SW2" H 1550 2185 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 2094 50 0000 C CNN
F 2 "" H 1550 2100 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 2100 50 0001 C CNN
F 3 "~" H 1550 2100 50 0001 C CNN
1 1550 1800
1 0 0 -1
@ -774,7 +774,7 @@ U 1 1 60643E6D
P 1550 2400
F 0 "SW3" H 1550 2785 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 2694 50 0000 C CNN
F 2 "" H 1550 2700 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 2700 50 0001 C CNN
F 3 "~" H 1550 2700 50 0001 C CNN
1 1550 2400
1 0 0 -1
@ -785,7 +785,7 @@ U 1 1 6064516F
P 1550 3000
F 0 "SW4" H 1550 3385 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 3294 50 0000 C CNN
F 2 "" H 1550 3300 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 3300 50 0001 C CNN
F 3 "~" H 1550 3300 50 0001 C CNN
1 1550 3000
1 0 0 -1
@ -796,7 +796,7 @@ U 1 1 606458FA
P 1550 3600
F 0 "SW5" H 1550 3985 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 3894 50 0000 C CNN
F 2 "" H 1550 3900 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 3900 50 0001 C CNN
F 3 "~" H 1550 3900 50 0001 C CNN
1 1550 3600
1 0 0 -1
@ -807,7 +807,7 @@ U 1 1 60646053
P 1550 4200
F 0 "SW6" H 1550 4585 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 4494 50 0000 C CNN
F 2 "" H 1550 4500 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 4500 50 0001 C CNN
F 3 "~" H 1550 4500 50 0001 C CNN
1 1550 4200
1 0 0 -1
@ -818,7 +818,7 @@ U 1 1 60646ABD
P 1550 4800
F 0 "SW7" H 1550 5185 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 5094 50 0000 C CNN
F 2 "" H 1550 5100 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 5100 50 0001 C CNN
F 3 "~" H 1550 5100 50 0001 C CNN
1 1550 4800
1 0 0 -1
@ -829,7 +829,7 @@ U 1 1 606472E3
P 1550 5400
F 0 "SW8" H 1550 5785 50 0000 C CNN
F 1 "SW_Push_LED" H 1550 5694 50 0000 C CNN
F 2 "" H 1550 5700 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 1550 5700 50 0001 C CNN
F 3 "~" H 1550 5700 50 0001 C CNN
1 1550 5400
1 0 0 -1
@ -840,7 +840,7 @@ U 1 1 60655E34
P 3250 5400
F 0 "SW16" H 3250 5785 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 5694 50 0000 C CNN
F 2 "" H 3250 5700 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 5700 50 0001 C CNN
F 3 "~" H 3250 5700 50 0001 C CNN
1 3250 5400
1 0 0 -1
@ -851,7 +851,7 @@ U 1 1 60656E57
P 3250 4800
F 0 "SW15" H 3250 5185 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 5094 50 0000 C CNN
F 2 "" H 3250 5100 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 5100 50 0001 C CNN
F 3 "~" H 3250 5100 50 0001 C CNN
1 3250 4800
1 0 0 -1
@ -862,7 +862,7 @@ U 1 1 606575B5
P 3250 4200
F 0 "SW14" H 3250 4585 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 4494 50 0000 C CNN
F 2 "" H 3250 4500 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 4500 50 0001 C CNN
F 3 "~" H 3250 4500 50 0001 C CNN
1 3250 4200
1 0 0 -1
@ -873,7 +873,7 @@ U 1 1 60657CF0
P 3250 3600
F 0 "SW13" H 3250 3985 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 3894 50 0000 C CNN
F 2 "" H 3250 3900 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 3900 50 0001 C CNN
F 3 "~" H 3250 3900 50 0001 C CNN
1 3250 3600
1 0 0 -1
@ -884,7 +884,7 @@ U 1 1 60658A7F
P 3250 3000
F 0 "SW12" H 3250 3385 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 3294 50 0000 C CNN
F 2 "" H 3250 3300 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 3300 50 0001 C CNN
F 3 "~" H 3250 3300 50 0001 C CNN
1 3250 3000
1 0 0 -1
@ -895,7 +895,7 @@ U 1 1 6065921E
P 3250 2400
F 0 "SW11" H 3250 2785 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 2694 50 0000 C CNN
F 2 "" H 3250 2700 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 2700 50 0001 C CNN
F 3 "~" H 3250 2700 50 0001 C CNN
1 3250 2400
1 0 0 -1
@ -906,7 +906,7 @@ U 1 1 60659CBA
P 3250 1800
F 0 "SW10" H 3250 2185 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 2094 50 0000 C CNN
F 2 "" H 3250 2100 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 2100 50 0001 C CNN
F 3 "~" H 3250 2100 50 0001 C CNN
1 3250 1800
1 0 0 -1
@ -917,7 +917,7 @@ U 1 1 6065A4C7
P 3250 1200
F 0 "SW9" H 3250 1585 50 0000 C CNN
F 1 "SW_Push_LED" H 3250 1494 50 0000 C CNN
F 2 "" H 3250 1500 50 0001 C CNN
F 2 "Breadlib:1B3W-9" H 3250 1500 50 0001 C CNN
F 3 "~" H 3250 1500 50 0001 C CNN
1 3250 1200
1 0 0 -1

@ -1,8 +0,0 @@
[target.thumbv7m-none-eabi]
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
runner = "arm-none-eabi-gdb -tui -q -x openocd.gdb"
rustflags = [ "-C", "link-arg=-Tlink.x" ]
[build]
target = "thumbv7m-none-eabi"

@ -1,294 +0,0 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "aligned"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c19796bd8d477f1a9d4ac2465b464a8b1359474f06a96bb3cda650b4fca309bf"
dependencies = [
"as-slice",
]
[[package]]
name = "as-slice"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0"
dependencies = [
"generic-array 0.12.4",
"generic-array 0.13.3",
"generic-array 0.14.4",
"stable_deref_trait",
]
[[package]]
name = "bare-metal"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3"
dependencies = [
"rustc_version",
]
[[package]]
name = "bitfield"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46afbd2983a5d5a7bd740ccb198caf5b82f45c40c09c0eed36052d91cb92e719"
[[package]]
name = "cast"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0"
dependencies = [
"rustc_version",
]
[[package]]
name = "cortex-m"
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9075300b07c6a56263b9b582c214d0ff037b00d45ec9fde1cc711490c56f1bb9"
dependencies = [
"aligned",
"bare-metal",
"bitfield",
"cortex-m 0.7.2",
"volatile-register",
]
[[package]]
name = "cortex-m"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "643a210c1bdc23d0db511e2a576082f4ff4dcae9d0c37f50b431b8f8439d6d6b"
dependencies = [
"bare-metal",
"bitfield",
"embedded-hal",
"volatile-register",
]
[[package]]
name = "cortex-m-rt"
version = "0.6.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "980c9d0233a909f355ed297ef122f257942de5e0a2cb1c39f60684b65bcb90fb"
dependencies = [
"cortex-m-rt-macros",
"r0",
]
[[package]]
name = "cortex-m-rt-macros"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4717562afbba06e760d34451919f5c3bf3ac15c7bb897e8b04862a7428378647"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "embedded-hal"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa998ce59ec9765d15216393af37a58961ddcefb14c753b4816ba2191d865fcb"
dependencies = [
"nb 0.1.3",
"void",
]
[[package]]
name = "euro-yesman"
version = "0.1.0"
dependencies = [
"cortex-m 0.6.7",
"cortex-m-rt",
"embedded-hal",
"panic-halt",
"stm32f1xx-hal",
]
[[package]]
name = "generic-array"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
dependencies = [
"typenum",
]
[[package]]
name = "generic-array"
version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309"
dependencies = [
"typenum",
]
[[package]]
name = "generic-array"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
dependencies = [
"typenum",
"version_check",
]
[[package]]
name = "nb"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f"
dependencies = [
"nb 1.0.0",
]
[[package]]
name = "nb"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae"
[[package]]
name = "panic-halt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de96540e0ebde571dc55c73d60ef407c653844e6f9a1e2fdbd40c07b9252d812"
[[package]]
name = "proc-macro2"
version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
dependencies = [
"unicode-xid",
]
[[package]]
name = "quote"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
dependencies = [
"proc-macro2",
]
[[package]]
name = "r0"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2a38df5b15c8d5c7e8654189744d8e396bddc18ad48041a500ce52d6948941f"
[[package]]
name = "rustc_version"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
dependencies = [
"semver",
]
[[package]]
name = "semver"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
dependencies = [
"semver-parser",
]
[[package]]
name = "semver-parser"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "stable_deref_trait"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "stm32f1"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "849b1e8d9bcfd792c9d9178cf86165d299a661c26e35d9322ae9382d3f3fe460"
dependencies = [
"bare-metal",
"cortex-m 0.6.7",
"cortex-m-rt",
"vcell",
]
[[package]]
name = "stm32f1xx-hal"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af9b9e5d7c2901ee39fc9527412327a1fe08f1d84e9d7f4b3497448e655e5098"
dependencies = [
"as-slice",
"cast",
"cortex-m 0.6.7",
"cortex-m-rt",
"embedded-hal",
"nb 0.1.3",
"stm32f1",
"void",
]
[[package]]
name = "syn"
version = "1.0.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fd9d1e9976102a03c542daa2eff1b43f9d72306342f3f8b3ed5fb8908195d6f"
dependencies = [
"proc-macro2",
"quote",
"unicode-xid",
]
[[package]]
name = "typenum"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06"
[[package]]
name = "unicode-xid"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
[[package]]
name = "vcell"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002"
[[package]]
name = "version_check"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
[[package]]
name = "void"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
[[package]]
name = "volatile-register"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d67cb4616d99b940db1d6bd28844ff97108b498a6ca850e5b6191a532063286"
dependencies = [
"vcell",
]

@ -1,24 +0,0 @@
[package]
name = "euro-yesman"
description = "STM32 firmware for the 'yesman' eurorack sequencer"
version = "0.1.0"
authors = ["Katharina Fey <kookie@spacekookie.de>"]
edition = "2018"
license = "GPL-3.0-or-later"
## Configure cargo to produce a smol binary
[profile.release]
opt-level = 'z'
lto = true
[dependencies]
cortex-m = "0.6"
cortex-m-rt = "0.6"
embedded-hal = "0.2"
panic-halt = "0.2"
# Access to the stm32f103 HAL.
[dependencies.stm32f1xx-hal]
# Bluepill contains a 64kB flash variant which is called "medium density"
features = ["stm32f103", "rt", "medium"]
version = "0.6"

@ -1,45 +0,0 @@
![](logo.png)
A flexible, and hackable 4-channel 1u eurorack sequencer. Libre hardware.
**Note:** the *yesman* default panel uses the intellijel 1u size
specification. However, the PCB can also fit the *whatever* spec.
You simply need to change the CAD file model specification.
## The Firmware
The *yesman* firmware is written in Rust, running on an STM32F1. The
button mappings can be modified via the configuration files. You need
to have cargo setup for cross-compilation.
If you're using nix you can use the provided shell file to load the
required environment.
```console
$ nix-shell
...
$ cargo build --release
```
## The front panel
As previously mentioned the front panel can be configured for two
different 1u size specifications. Use the `panel/build.sh` tool to
specify which.
The final design files can be compiled into `.gcode` or `.obj` files.
## The PCB
If you want to hack on the PCB, the design files can be found in
`board/`. You need KiCad 5 to open them.
## License
The *yesman* firmware, and pcb design are licensed under the GNU
General Public License 3.0 (or later). The *yesman* front panel is
licensed under the CC-BY-SA 4.0.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

@ -1,8 +0,0 @@
/* memory.x - Linker script for the STM32F103C8T6 */
MEMORY
{
/* Flash memory begins at 0x80000000 and has a size of 64kB*/
FLASH : ORIGIN = 0x08000000, LENGTH = 64K
/* RAM begins at 0x20000000 and has a size of 20kB*/
RAM : ORIGIN = 0x20000000, LENGTH = 20K
}

@ -1,6 +0,0 @@
# This is required to make it work with my fake stm32
set CPUTAPID 0x2ba01477
source [find interface/stlink.cfg]
source [find target/stm32f1x.cfg]

@ -1,19 +0,0 @@
target remote :3333
# print demangled symbols
set print asm-demangle on
# detect unhandled exceptions, hard faults and panics
break DefaultHandler
break UserHardFault
break rust_begin_unwind
# *try* to stop at the user entry point (it might be gone due to inlining)
break main
monitor arm semihosting enable
load
# start the process but immediately halt the processor
stepi

@ -1,9 +0,0 @@
with (import <nixpkgs> {});
stdenv.mkDerivation {
name = "bad-rust-env";
buildInputs = with pkgs; [
rustup clangStdenv gcc-arm-embedded
cargo-flash cargo-binutils openocd
];
}

@ -1,45 +0,0 @@
#![no_std]
#![no_main]
use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use stm32f1xx_hal::{delay::Delay, pac, prelude::*};
// Halt the MCU when panic
#[allow(unused_imports)]
use panic_halt;
mod seq;
pub use seq::{LayerSelect, SeqLayer, Sequencer};
#[entry]
fn main() -> ! {
// Grab handles for the underlying hardware objects
let dp = pac::Peripherals::take().unwrap();
let cp = cortex_m::Peripherals::take().unwrap();
// Initialise GPIOC via the HAL
let mut rcc = dp.RCC.constrain();
let mut gpioc = dp.GPIOC.split(&mut rcc.apb2);
// Make it into an output
let mut led = gpioc.pc13.into_push_pull_output(&mut gpioc.crh);
// Initialize the delay object with the MCU frequency
let mut flash = dp.FLASH.constrain();
let clocks = rcc
.cfgr
.use_hse(8.mhz())
.sysclk(48.mhz())
.pclk1(24.mhz())
.freeze(&mut flash.acr);
let mut delay = Delay::new(cp.SYST, clocks);
// Now go blinkenlights
loop {
led.set_high().ok();
delay.delay_ms(1000_u16);
led.set_low().ok();
delay.delay_ms(1000_u16);
}
}

@ -1,66 +0,0 @@
/// Represent a single layer on the sequencer
pub struct SeqLayer {
/// List of steps that are either on or off
steps: [bool; 16],
/// The length of the sequence to loop
length: u8,
}
impl SeqLayer {
/// Get the step by index, wrapping around if the index is beyond the length
fn step(&self, idx: u8) -> bool {
let nidx = idx % self.length;
self.steps[nidx as usize]
}
fn set(&mut self, idx: usize, val: bool) {
self.steps[idx] = val;
}
}
/// Indicate which layer is selected
pub enum LayerSelect {
A,
B,
C,
D,
}
/// Main sequencer state structure
pub struct Sequencer {
a: SeqLayer,
b: SeqLayer,
c: SeqLayer,
d: SeqLayer,
active_layer: LayerSelect,
active_step: u8,
}
impl Sequencer {
/// Step to the next step, wrapping around at 16
pub fn step(&mut self) {
self.active_step %= self.active_step;
}
/// Get the current step for all four layers
pub fn get(&self) -> (bool, bool, bool, bool) {
let i = self.active_step;
(
self.a.step(i),
self.b.step(i),
self.c.step(i),
self.d.step(i),
)
}
/// Edit a step of the active layer
pub fn edit(&mut self, idx: usize, val: bool) {
assert!(idx <= 16);
match self.active_layer {
LayerSelect::A => self.a.set(idx, val),
LayerSelect::B => self.b.set(idx, val),
LayerSelect::C => self.c.set(idx, val),
LayerSelect::D => self.d.set(idx, val),
}
}
}

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

@ -3,6 +3,9 @@ with (import <nixpkgs> {});
stdenv.mkDerivation {
name = "bad-rust-env";
buildInputs = with pkgs; [
# This shell file uses rustup to enable cross-compiling
# TODO: this should be fixed at some point; get an arm-rustc, etc
rustup clangStdenv gcc-arm-embedded
cargo-flash cargo-binutils openocd
];

Loading…
Cancel
Save