Skip to main content

megacom

because minicom is not that good

installation

from pypi

pip3 install megacom

from source

git clone https://git.lain.faith/haskal/megacom.git
pip3 install --user .

or for development

pip3 install --user -e .

usage

usage: megacom [-h] [-b BAUD] [-m MODE] [-l LOGFILE] [tty]

Alternative console-based UART client

positional arguments:
  tty                   Path to UART device [/dev/ttyUSB0]

optional arguments:
  -h, --help            show this help message and exit
  -b BAUD, --baud BAUD  UART baud rate [115200]
  -m MODE, --mode MODE  UART mode string [8N1]
  -l LOGFILE, --logfile LOGFILE
                        file to log to

sudo

to avoid using sudo, add yourself to the uucp group (on arch) or dialout group (ubuntu/debian), and make sure you don't have ModemManager installed

if you have ModemManager installed it's likely you will need to use sudo. if you absolutely need ModemManager on your system, try stopping it with sudo systemctl stop ModemManager, then unplugging and replugging UART devices. once you're done using megacom, you can restart ModemManager with sudo systemctl start ModemManager, if it was previously running

keyboard shortcuts

CTRL-A is the escape character. CTRL-A + Q quits megacom. CTRL-A + CTRL-A sends a literal CTRL-A

there will be more keyboard shortcuts later, hopefully

non-tty mode

megacom can be run even if stdin is not a tty. in this mode, keyboard shortcuts (CTRL-A) are disabled and input is passed through verbatim. this can be useful to pipe input and output out of a UART device with programs that are not tty-aware

baud

any standard baud rate (as an integer) which is supported by pyserial can be used. usually you want the default (115200)

mode strings

composed of bytesize, parity, and stopbits. usually you want the default (8N1)

the following options are supported

  • bytesize: 8, 5, 6
  • parity: N (none), E (even), O (odd), M (mark), S (space)
  • stopbits: 1, 1.5, 2

examples:

8N1
5E2
6S1.5

windows

untested but it might work. don't expect windows to be actively supported because serial on windows is extremely annoying. just use WSL

Metadata

Release files for megacom 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for megacom 0.1.2
File Size Uploaded
megacom-0.1.2.tar.gz 18.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for megacom 0.1.2
File Interpreter ABI Platform
megacom-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 37.3 kB

Release files / megacom-0.1.2.tar.gz

Download URL megacom-0.1.2.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ab6b14dfbb935fdf11243174585b7bbf3aad7cb937bb6e4238274ab77e3f67bd
BLAKE2b-256 checksum
How to use checksums
154e5ce51a1e6f1fc32b6ea1a12c128783796a6b932444d32bc7894ec138ca5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

Release files / megacom-0.1.2-py3-none-any.whl

Download URL megacom-0.1.2-py3-none-any.whl
Size 18.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2bb979b4d8f57d2e54fc58d31a3ccf0ce55ca67f3884966d8e12adb0f444fb6c
BLAKE2b-256 checksum
How to use checksums
879aeaee3387a429e04e535d27fc06eb4f9ae257e71056f590040599161ff29c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page