An open API service indexing awesome lists of open source software.

https://github.com/vaishnav-sabari-girish/comchan

A Blazingly Fast Minimal Serial Monitor written in Rust
https://github.com/vaishnav-sabari-girish/comchan

cross-platform embedded-systems grindhouse iocraft ratatui rust serial-communication tui

Last synced: 4 months ago
JSON representation

A Blazingly Fast Minimal Serial Monitor written in Rust

Awesome Lists containing this project

README

          

![Banner](./docs/src/images/banner.png)

---

- [ComChan](#comchan)
- [Installation](#installation)
- [From crates.io](#from-cratesio)
- [From source](#from-source)
- [Documentation Link](#documentation-link)
- [Common Commands](#common-commands)
- [Basic Serial Monitor](#basic-serial-monitor)
- [Verbose Mode](#verbose-mode)
- [Log Mode](#log-mode)
- [Serial Plotter](#serial-plotter)
- [Features](#features)
- [Legends](#legends)
- [Examples](#examples)
- ["Hello World" Program](#hello-world-program)
- [User Input](#user-input)
- [Serial Plotter](#serial-plotter-1)
- [Feedback Form](#feedback-form)
- [Stargazers over time](#stargazers-over-time)

# ComChan

ComChan is a Blazingly Fast Serial monitor for Embedded Systems and Serial Communication.

**Latest Version**: 0.1.6

## Installation

### From crates.io

> [!NOTE]
> `cargo install` NOW AVAILABLE

```bash
cargo install comchan

#Install the binary directly
cargo binstall comchan
```

After installing, check if it has been installed with

```bash
comchan --version
```

### From AUR

Thanks to [orhun](https://github.com/orhun), ComChan now has an AUR package

```bash
# Using yay

yay -S comchan

# Using paru

paru -S comchan
```

### From source

```bash
# Clone from GitHub
git clone git@github.com:Vaishnav-Sabari-Girish/ComChan.git

# Clone from Codeberg
git clone ssh://git@codeberg.org/Vaishnav-Sabari-Girish/ComChan.git
```

```bash
cd ComChan

cargo build --release

cargo run
```

# Documentation Link

Documentation Link : https://vaishnav.world/ComChan

## Common Commands

### Basic Serial Monitor

```bash
comchan -p -r

# OR

comchan --port --baud

```

### Verbose Mode

```bash
comchan -p -r -v

# OR

comchan --port --baud --verbose
```

### Log Mode

```bash
comchan -p -r -l

# OR

comchan --port --baud --log
```

For an example log file , get it [here](./test.log)

### Serial Plotter

```bash
comchan --port --baud --plot

# OR

comchan -p -r --plot
```

## Features

- [x] Read incoming Serial data from Serial ports
- [x] Write to Serial port i.e Send data to Serial device.
- [x] Basic logging.
- [ ] Auto detect Serial Ports
- [ ] Write serial data to a file for later use (can be .txt , .csv and more)
- [x] Terminal based Serial Plotter (to be implemented with the `--plot` command)

### Legends

- [x] Implemented Features
- [ ] Yet to me implemented

# Examples

## "Hello World" Program

![GIF](./docs/src/videos/basic_serial_mon.gif)

## User Input

![User IP](./docs/src/videos/basic_user_input.gif)

## Serial Plotter

![Serial Plotter](./docs/src/videos/plotter.gif)

# Feedback Form

The Feedback form was created using Bashforms (Forms in the terminal itself).

To give you feedback, please type this on your terminal

```bash
ssh -t bashform.me f comchan
```


# Stargazers over time

[![Stargazers over time](https://starchart.cc/Vaishnav-Sabari-Girish/ComChan.svg?variant=dark)](https://starchart.cc/Vaishnav-Sabari-Girish/ComChan)