Visual Block Diagram Editor
The visual block diagram editor allows you to create complex FV-1 effects by dragging and connecting functional blocks without writing assembly code.
Editor Features
- Parameters Panel
Click on a block to view and modify its parameters in the right panel. Changes apply immediately with live compilation and instant feedback.
- Lasso Selection
Ctrl+Clickand drag on empty canvas to select multiple blocks at once. This is useful for moving groups of blocks together.- Multi-Select Operations
Hold
Ctrland click multiple blocks to add them to your selection. Delete selected blocks and connections withDelete.- Pan and Zoom
Pan: Click and drag on empty canvas (not on a block) to move your view
Zoom: Use mouse wheel to zoom in and out
- Undo/Redo
Press
Ctrl+Zto undo your last actionPress
Ctrl+Shift+ZorCtrl+Yto redo
- Connection Validation
The editor prevents invalid connections ande xplains why the connection is invalid
Creating Blocks and Connections
Add a Block
Drag a block from the palette on the left onto the canvas.
Connect Blocks
Click an output port (right side of a block)
Drag to an input port (left side) of another block
Release to create the connection
Configure Parameters
Click a block to select it and modify parameters in the Properties panel.
Delete Connections
Click on a connection line and press
Delete, or select both blocks and pressDelete.
Block Types
- Input Blocks
Route audio from the hardware ADC to your signal processing chain.
- Output Blocks
Route processed audio to the hardware DAC.
- Control Blocks
Modify signals with potentiometers, smoothing, curves, and tremolo effects.
- Gain/Mixing Blocks
Mix multiple signals together, add gain or adjust volume levels.
- Filter Blocks
Apply low-pass, high-pass, or shelf filters.
- Effect Blocks
Apply complex effects like delays, reverbs, choruses, and flangers.
- Other Blocks
Utilities like tone generators and utility blocks.
Parameters and Configuration
Each block type has specific parameters that you can adjust:
- Number Parameters
Presented as sliders or text input fields. Use the slider for quick adjustments or type for precise values.
- Selection Parameters
Choose from a dropdown list of predefined options (e.g., filter types).
- Boolean Parameters
Toggle switches for on/off options (e.g., invert).
Parameter values can often be connected to control inputs for real-time modulation. Check individual block documentation for details.
Resource Indicators
As you build your diagram, watch the status bar at the bottom of VS Code:
Instructions: Shows how many of 128 instruction slots are used
Registers: Shows how many of 32 registers are used
Delay Memory: Shows how many of 32,768 memory words are used
LFOs: Shows how many of the four available LFOs are used
If you exceed any limit, you’ll see a warning in the Problems panel.
Code Optimization
The extension automatically optimizes generated code:
Dead Code Elimination: Unused outputs don’t generate code
Accumulator Forwarding: Redundant register operations are collapsed
Move Pruning: Unnecessary register moves are trimmed
Auto-Clearing: Proper register cleanup between processing stages
This means your diagrams typically generate highly efficient code that uses fewer instruction slots than manual assembly.
Tips for Effective Diagrams
- Start Simple
Begin with single-effect chains and gradually add complexity.
- Monitor Resources
Keep an eye on the resource indicators in the status bar.
- Use Parameters
Take advantage of block parameters to shape your effect without additional code.
- Test in Simulator
Always test in the integrated simulator before programming hardware.
- Optimize Layout
Arrange blocks left-to-right for signal flow: inputs on the left, outputs on the right.
Example: Creating a Simple Reverb
Here’s a typical workflow:
Add an Input block (ADC)
Add one of the Reverb effect blocks
Add a Mixer or Crossfade block to blend wet and dry signals
Add an Output block (DAC)
Connect: Input → Reverb → Mix → Output
Adjust reverb parameters using the Properties panel
Press
Ctrl+Shift+Pand then select “FV-1: Run In Simulator” to simulate, or “FV-1: Assemble current file and load to EEPROM” to load to a slot in your pedal
Next Steps
See Commands and Navigation for available commands and keyboard shortcuts
See Integrated Simulator & Debugger for information on how to use the debugger and simulator
Check FV-1 Block Developer Guide if you want to create your own custom blocks