Skip to content

Riteshp2001/PacketForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PacketForge Logo

⚡ PacketForge

Your Ultimate Multi-Protocol Communication Workbench

Features Protocols Author

Qt 6 C++26 Windows License


PacketForge is a sleek, modern desktop utility for testing and debugging Serial, TCP, and UDP communication. Designed for embedded engineers, IoT developers, and protocol testers, it provides a unified cockpit to transmit, receive, and analyze data packets in real-time.


Table of Contents

Click to expand

🔌 Protocols


Serial
RS-232/485

TCP Client
Connect to Server

TCP Server
Host Connections

UDP
Datagram Mode
Protocol Baud/Port Config Data Bits Parity Stop Bits Flow Control
Serial 300 — 3M 5/6/7/8 None/Odd/Even 1/1.5/2 None/HW/SW
TCP/UDP IP + Port

🎯 Features

🗂️ Tabbed Multi-Session Interface

Manage unlimited independent connections in separate tabs. Each tab maintains its own protocol, settings, and data buffers.

⚡ Macro Quick-Send System

Configure up to 12 macro buttons for instant packet transmission. Supports:

  • Custom label and hex payload
  • Auto-repeat with configurable interval
  • One-click activation
🔁 Auto-Send / Repeat

Continuously transmit packets at intervals as low as 1 millisecond for stress testing and timing validation.

📄 HEX & ASCII Display Modes

Toggle between:

  • HEX — View raw byte values (e.g., A5 4F 00)
  • ASCII — Human-readable text with escape sequences
📝 Line Ending Options

Choose from None, CR, LF, or CRLF to match your device's protocol expectations.

📁 Send File

Transmit entire binary files (firmware, hex dumps, scripts) directly over the active connection.

📊 RX/TX Byte Counters

Live counters display total bytes sent and received per session.

📜 File Logging

Automatically log all traffic to a timestamped .log file for post-session analysis.

🌗 Dark / Light Themes

Switch between a sleek dark mode and a clean light mode with one click.

📌 Stay on Top

Pin PacketForge above all windows for constant visibility during debugging.

🔄 Auto-Updater

Automatically checks for updates on GitHub and installs the latest version with a single click.


🖼️ Screenshots

Main Window
Main Interface with Connections

Analysis Tools

Modbus Client
Modbus Client
Oscilloscope
Oscilloscope
Byte Visualizer
Byte Visualizer

🧩 Modules

PacketForge includes 4 powerful analysis modules accessible from the sidebar:

📡 Modbus Client

Full Modbus RTU (Serial) and Modbus TCP master implementation.

  • Read Holding Registers
  • Auto-polling at configurable intervals
  • Slave ID and address configuration

📈 Oscilloscope

Real-time waveform visualization of incoming byte values.

  • Adjustable timebase
  • Pause/Resume
  • Grid overlay

📋 Traffic Monitor

Detailed packet log with:

  • Timestamps (ms precision)
  • Direction indicators (TX/RX)
  • Export to .txt or .pcap

💡 Byte Visualizer

LED-style binary display showing each bit of the last received byte.

  • Bit position labels (7→0)
  • Green ON / Dark OFF

🛠️ Installation

Prerequisites

Requirement Version
Qt 6.x (with serialport, network, serialbus, widgets)
Compiler C++26 compatible (MinGW 13+, MSVC 2022)

Quick Start

# 1. Clone
git clone https://github.com/Riteshp2001/PacketForge.git
cd packetforge

# 2. Open in Qt Creator
#    → Open PacketTransmitter.pro from the ROOT directory

# 3. Build & Run
#    → Select Kit (e.g., Desktop Qt 6.x MinGW 64-bit)
#    → Build (Ctrl+B) → Run (Ctrl+R)

💡 Tip: The compiled binary is placed in the bin/ folder.


📂 Project Structure

📦 packetforge/
├── 📄 PacketTransmitter.pro      # Project file (open this!)
├── 📁 bin/                       # Compiled binary output
├── 📁 build/                     # Build artifacts
├── 📁 Files/                     # Resources (icons, QRC)
├── 📁 scripts/                   # Deployment scripts
└── 📁 src/                       # Source code
    ├── 📁 core/                  # Paths, utilities
    ├── 📁 macros/                # Macro structures
    ├── 📁 modules/
    │   ├── 📁 modbus/            # Modbus RTU/TCP widget
    │   ├── 📁 oscilloscope/      # Waveform plotter
    │   ├── 📁 traffic/           # Packet log viewer
    │   └── 📁 visualizer/        # Bit LED panel
    ├── 📁 network/               # Serial, TCP, UDP handlers
    └── 📁 ui/                    # MainWindow, ConnectionTab UIs

🤝 Contributing

Contributions are welcome! Feel free to:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. 💾 Commit your changes (git commit -m 'Add amazing feature')
  4. 📤 Push to the branch (git push origin feature/amazing-feature)
  5. 🔃 Open a Pull Request

📄 License

This project is licensed under the MIT License.

MIT License © 2026 Ritesh D. Pandit

👤 Author

Website GitHub

Ritesh D. Pandit
Embedded Systems | IoT | Desktop Applications


Built with 💚 using Qt & C++

About

Docklight Alternative ?? Your Ultimate Multi-Protocol Communication Workbench with much better UI

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages