Skip to main content

AVR programming tool for OceanScan-MST

Project description

OMST AVR-Tool

A Python tool for programming AVR microcontrollers, developed for internal use at OceanScan-MST.

Features

  • Flash AVR microcontrollers using avrdude
  • Generate setup certificates as PDF documents
  • Upload certificates to network shares
  • Support for multiple board versions and firmware releases

Installation

From PyPI

pip install omst-avrtool

Dependencies

  • Python 3.8 or higher
  • avrdude must be installed and available in your PATH
  • WeasyPrint dependencies (Cairo, Pango, GLib)
# On Ubuntu/Debian
# Install complete set of dependencies for WeasyPrint
pip install dbus-python secretstorage

Usage

# Check out firmware from repository
omst-avrtool checkout

# List available boards
omst-avrtool flash -l

# Flash a board
omst-avrtool flash -b BOARD_NAME -n INVENTORY_NUMBER -a AUTHOR_NAME

# Flash without generating report
omst-avrtool flash -b BOARD_NAME --no-report

Development

# Create virtual environment
rm -rf venv
python -m venv venv
source venv/bin/activate
# Upgrade pip
pip install --upgrade pip

# Install development dependencies
pip install -e ".[dev]"

# Build package
python -m build

# Install the built package
pip install --force-reinstall dist/omst_avrtool-*.whl

Publishing

Update the version on pyproject.toml

python -m pip install --upgrade pip
pip install build twine
python -m build
twine upload dist/*

Credentials Management

When connecting to network shares, credentials are managed securely:

  1. Credentials can be provided via environment variables:

    • OMST_AVR_USERNAME: Username for network share
    • OMST_AVR_PASSWORD: Password for network share
  2. Alternatively, you can store credentials in your system's keyring:

    • First-time use will prompt for credentials
    • You'll be asked if you want to save them for future use
  3. If neither environment variables nor keyring entries are found, you'll be prompted to enter credentials interactively

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omst_avrtool-2.1.0.tar.gz (76.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omst_avrtool-2.1.0-py3-none-any.whl (75.1 kB view details)

Uploaded Python 3

File details

Details for the file omst_avrtool-2.1.0.tar.gz.

File metadata

  • Download URL: omst_avrtool-2.1.0.tar.gz
  • Upload date:
  • Size: 76.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for omst_avrtool-2.1.0.tar.gz
Algorithm Hash digest
SHA256 ab1ca88f4384fc2e9600376fdec6fc48cbf0b5910c3d18ebf39923e8baf22c4a
MD5 3edaf914dd8a8c4c91207f8b47ac294b
BLAKE2b-256 125c50b21e65eb5a9a198ff9dd3bb8bfdd880ca19941c788cb5141319f561ba2

See more details on using hashes here.

File details

Details for the file omst_avrtool-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: omst_avrtool-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 75.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for omst_avrtool-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c8b4b023af37c96dcf77b35f66ad7584d3bd7d6ce7bb079b7ceadb331f395a5
MD5 4e24fa4bc9e54bea2d6e22234886904c
BLAKE2b-256 1640aea3f0f8dd13cb384ece765f35c6cd6698ee5d98f2c9df1429a643c4bea2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page