| Crates.io | digisurf |
| lib.rs | digisurf |
| version | 0.1.0 |
| created_at | 2025-03-17 14:07:25.365586+00 |
| updated_at | 2025-03-17 14:07:25.365586+00 |
| description | A TUI digital signal waveform viewer |
| homepage | |
| repository | https://github.com/SeanMcLoughlin/digisurf |
| max_upload_size | |
| id | 1595526 |
| size | 258,306 |
DigiSurf is a terminal-based UI application for viewing and analyzing digital signal waveforms. It provides an intuitive interface for navigating through waveform data, placing markers, measuring timing, and examining signal values.
# Basic usage
digisurf -f yourfile.vcd
# With custom config file
digisurf -f yourfile.vcd -c custom_config.toml
+/-: Zoom in/out0: Zoom to full view:: Enter command mode:zoom <factor> - Zoom to 1/factor of total:zoomfull (:zf) - Zoom to full view:goto <time> - Go to specific time:marker <1|2> <time> - Set marker:findsignal (:fs) - Open signal finder:q - Quit:help (:h) - Show helpDownload the latest release or build from source:
cargo build --release
DigiSurf looks for a configuration file at the standard location for your platform:
~/.config/digisurf/config.toml~/Library/Application Support/digisurf/config.toml%APPDATA%\digisurf\config\config.tomlHere's a sample configuration file:
[ui]
signal_list_width = 20
marker_color_primary = "yellow"
marker_color_secondary = "white"
drag_color = "rgb(100,150,255)"
[keybindings]
# Navigation keys
up = { Char = "k" } # Default: Up arrow
down = { Char = "j" } # Default: Down arrow
left = { Char = "h" } # Default: Left arrow
right = { Char = "l" } # Default: Right arrow
# Zoom controls
zoom_in = { Char = "+" }
zoom_out = { Char = "-" }
zoom_full = { Char = "0" }
# Marker controls
delete_primary_marker = { Delete = {} }
delete_secondary_marker = { Backspace = {} }
# Mode switching
enter_command_mode = { Char = ":" }
enter_normal_mode = { Esc = {} }
execute_command = { Enter = {} }
You can customize any of these settings to match your preferences.