Skip to content

An interactive TUI for serial debugging and byte-level hardware bring-up.

Notifications You must be signed in to change notification settings

mattkelly/hexplore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hexplore

An interactive TUI for serial debugging and byte-level hardware bring-up.

hexplore demo

License

Features

  • Binary-first interaction - Send hex bytes, strings, or mixed payloads
  • Live hex + ASCII view - Timestamped RX/TX with scrollable history
  • Macros - Save and replay common byte sequences
  • Repeat loops - Send commands at intervals for testing
  • Session logging - Capture traffic to file
  • Mock transports - Test without hardware

Installation

cargo install --path .

Or build from source:

cargo build --release
./target/release/hexplore

Quick Start

# List available ports
hexplore
:ports

# Connect to a serial port
:open /dev/ttyUSB0 115200

# Send hex bytes
aa 55 01 02

# Send a string
"AT+GMR\r\n"

# Mixed payload
aa 55 "hello" 0d 0a

Testing Without Hardware

hexplore
:mock echo           # Echoes back everything you send
:mock pattern 100    # Sends periodic data every 100ms
:mock at             # Simulates an AT command device

Commands

Command Description
:help Show help overlay
:ports List available serial ports
:open <port> [baud] Open serial port (default: 115200)
:close Close connection
:baud <rate> Set baud rate
:cfg Show current configuration
:clear Clear the stream view
:quit Exit hexplore

Mock Transports

Command Description
:mock echo Echo back all sent data
:mock pattern <ms> Send periodic test data
:mock at Simulate AT command device

Macros

Command Description
:macro <name> = <cmd> Define a macro
:<name> Run a macro
:macros List all macros
:unmacro <name> Delete a macro

Repeat

Command Description
:repeat <n|forever> <interval> <cmd> Repeat a command
:stop Stop repeating

Logging

Command Description
:log <path> Set log file path
:capture on|off Start/stop capture

Send Syntax

Input without : is treated as data to send.

Format Example Description
Hex bytes aa 55 01 Space-separated
Hex pairs aa55 Concatenated (even length)
Hex prefix 0xAA 0x55 With 0x prefix
Strings "hello\r\n" Quoted with escapes
Mixed aa "hi" 0d 0a Combine freely

Supported escapes: \r \n \t \xNN \\ \"

Keyboard Shortcuts

Key Action
Ctrl+C / Ctrl+D Quit
Up / Down Command history
PgUp / PgDown Scroll stream
ESC Clear input / close help

License

MIT

About

An interactive TUI for serial debugging and byte-level hardware bring-up.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages