59 lines
4.4 KiB
XML
59 lines
4.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 320" role="img" aria-labelledby="midi-diag-title midi-diag-desc">
|
|
<title id="midi-diag-title">MIDI Breadboard Instrument Confirmed Component Block Diagram</title>
|
|
<desc id="midi-diag-desc">Block diagram showing a MIDI data conversion script producing C code for the breadboard instrument, connected to confirmed hardware components: two active buzzers, one passive buzzer, a rotary encoder, a 1.3-inch AMOLED screen, two buttons, and two LEDs.</desc>
|
|
<rect width="760" height="320" rx="10" fill="#0f141c" stroke="#2a3546" stroke-width="2"/>
|
|
<!-- Grid lines -->
|
|
<g stroke="#18202c" stroke-width="1">
|
|
<line x1="0" y1="64" x2="760" y2="64"/>
|
|
<line x1="0" y1="128" x2="760" y2="128"/>
|
|
<line x1="0" y1="192" x2="760" y2="192"/>
|
|
<line x1="0" y1="256" x2="760" y2="256"/>
|
|
<line x1="152" y1="0" x2="152" y2="320"/>
|
|
<line x1="304" y1="0" x2="304" y2="320"/>
|
|
<line x1="456" y1="0" x2="456" y2="320"/>
|
|
<line x1="608" y1="0" x2="608" y2="320"/>
|
|
</g>
|
|
<!-- Left box: Software conversion -->
|
|
<rect x="28" y="88" width="190" height="144" rx="8" fill="#161e2b" stroke="#4db6ac" stroke-width="1.8"/>
|
|
<text x="44" y="118" fill="#4db6ac" font-family="monospace" font-size="12" font-weight="bold">SOFTWARE PIPELINE</text>
|
|
<text x="44" y="145" fill="#e6edf3" font-family="sans-serif" font-size="14" font-weight="bold">MIDI Data Input</text>
|
|
<text x="44" y="168" fill="#9fb0c4" font-family="sans-serif" font-size="12">Conversion Script</text>
|
|
<text x="44" y="192" fill="#e5a93c" font-family="monospace" font-size="12">→ Generates C Code</text>
|
|
<text x="44" y="214" fill="#8b9bb0" font-family="sans-serif" font-size="11">Melody arrays & timing</text>
|
|
|
|
<!-- Arrow -->
|
|
<line x1="218" y1="160" x2="278" y2="160" stroke="#e5a93c" stroke-width="2.5"/>
|
|
<polygon points="278,160 268,154 268,166" fill="#e5a93c"/>
|
|
|
|
<!-- Center box: Breadboard Core -->
|
|
<rect x="282" y="72" width="176" height="176" rx="8" fill="#161e2b" stroke="#e5a93c" stroke-width="1.8"/>
|
|
<text x="300" y="102" fill="#e5a93c" font-family="monospace" font-size="12" font-weight="bold">BREADBOARD SYSTEM</text>
|
|
<text x="300" y="130" fill="#e6edf3" font-family="sans-serif" font-size="14" font-weight="bold">C Code Execution</text>
|
|
<text x="300" y="154" fill="#9fb0c4" font-family="sans-serif" font-size="12">Hardware I/O & Tone</text>
|
|
<text x="300" y="174" fill="#9fb0c4" font-family="sans-serif" font-size="12">Coordination</text>
|
|
<text x="300" y="210" fill="#8b9bb0" font-family="monospace" font-size="10">*Specific MCU & wiring</text>
|
|
<text x="300" y="224" fill="#8b9bb0" font-family="monospace" font-size="10">documented as confirmed</text>
|
|
|
|
<!-- Branches to right: Confirmed Hardware -->
|
|
<line x1="458" y1="105" x2="510" y2="68" stroke="#4db6ac" stroke-width="1.8"/>
|
|
<line x1="458" y1="145" x2="510" y2="136" stroke="#4db6ac" stroke-width="1.8"/>
|
|
<line x1="458" y1="175" x2="510" y2="204" stroke="#4db6ac" stroke-width="1.8"/>
|
|
<line x1="458" y1="215" x2="510" y2="266" stroke="#4db6ac" stroke-width="1.8"/>
|
|
|
|
<!-- Right boxes: Confirmed Hardware Components -->
|
|
<rect x="512" y="36" width="220" height="54" rx="6" fill="#161e2b" stroke="#2c384a" stroke-width="1.5"/>
|
|
<text x="526" y="58" fill="#e6edf3" font-family="sans-serif" font-size="13" font-weight="bold">Sound Output (3x Buzzers)</text>
|
|
<text x="526" y="77" fill="#9fb0c4" font-family="monospace" font-size="11">2x Active + 1x Passive Buzzer</text>
|
|
|
|
<rect x="512" y="104" width="220" height="54" rx="6" fill="#161e2b" stroke="#2c384a" stroke-width="1.5"/>
|
|
<text x="526" y="126" fill="#e6edf3" font-family="sans-serif" font-size="13" font-weight="bold">Visual Display</text>
|
|
<text x="526" y="145" fill="#9fb0c4" font-family="monospace" font-size="11">1x 1.3-inch AMOLED Screen</text>
|
|
|
|
<rect x="512" y="172" width="220" height="54" rx="6" fill="#161e2b" stroke="#2c384a" stroke-width="1.5"/>
|
|
<text x="526" y="194" fill="#e6edf3" font-family="sans-serif" font-size="13" font-weight="bold">Physical Controls</text>
|
|
<text x="526" y="213" fill="#9fb0c4" font-family="monospace" font-size="11">1x Rotary Encoder + 2x Buttons</text>
|
|
|
|
<rect x="512" y="240" width="220" height="54" rx="6" fill="#161e2b" stroke="#2c384a" stroke-width="1.5"/>
|
|
<text x="526" y="262" fill="#e6edf3" font-family="sans-serif" font-size="13" font-weight="bold">Status Indicators</text>
|
|
<text x="526" y="281" fill="#9fb0c4" font-family="monospace" font-size="11">2x LEDs on Breadboard</text>
|
|
</svg>
|