Skip to main content

CLI tools to manage BUSY Bar

Project description

BUSY Bar Tools

Command-line (CLI) tools to manage your BUSY Bar device.

  • Easy to install by single command.
  • Work on Linux and MacOS.
  • There are no heavy dependencies.

Available as a Python package on PyPI. Source code available on GitHub.

Installation and Upgrade

brew install pipx           # MacOS (Homebrew)
sudo apt install pipx       # Ubuntu/Debian
pipx ensurepath             # Optional step to ensure pipx binaries are in PATH
# If you haven't install `pipx` before, you will NEED to open a new terminal before continuing.

pipx install busybar-tools

pipx upgrade busybar-tools  # To upgrade to the latest available version if you have it installed already.

Install in editable mode (for development): pip install -e . from the project root directory.

Usage

To use the tools, simply run the busybar command followed by the desired subcommand:

busybar [options] <subcommand>

Available commands and options

  • busybar update [branch or tag or URL]: Update firmware via HTTP API. Default branch is dev.
  • busybar cli: Start interactive CLI terminal session to BUSY Bar.

Options:

  • -d, --device DEVICE BUSY Bar Device IP address (USB LAN or Wi-Fi)
  • -p, --port PORT Device Port
  • -t, --target {20,21,22} Target hardware version

Examples

Update firmware

Subcommands update and update-storage without additional options has the same effect.

  • busybar update - Update to the latest firmware from the dev branch.

  • busybar update 0.5.0 - Update to a specific TAG version (e.g., 0.5.0 release).

  • busybar update factory - Update to firmware from the desired (e.g., factory) branch.

  • busybar -d 10.0.5.20 update porta/remote-control - Update device with a custom address to the desired branch.

  • busybar update https://update.flipperzero.one/builds/busybar-firmware/0.5.0/ - Update using a direct URL to the folder with build artifacts.

  • busybar -d 10.0.5.20 update - Specify a custom device IP address.

  • busybar update-storage - Update via storage.py. This is a more low-level way to update, which allows to update the device even if it's in a broken state.

CLI terminal

  • busybar cli - Start a terminal session to the BUSY Bar device. Press Ctrl+] to exit the session.
  • busybar -d 10.0.5.20 -p 23 cli - Start a terminal session to the BUSY Bar device with a custom IP address and port.

Other operations

  • busybar wait - Wait for the device to be available. This can be useful for scripting.
  • busybar update-storage --save-as-recovery-only factory - Write factory bundle to the recovery partition. This is a DANGEROUS operation, as it can potentially brick the device. Usage is not recommended for regular users.
  • busybar update-recovery - Invoke update from the recovery bundle already located in /bkp/recovery on the device.

Changelog

Upcoming features plan

  • Easy recovery via DFU from any possible broken state
  • Factory reset
  • ...create an issue for any feature requests or bug reports!

0.4.0

  • Python 3.8 compatibility. Python 3.8 is the minimum required version now.
  • wait_for_device(): now in single line, calc seconds.

0.3.2

  • Force enable debug mode before invoking update from recovery. Useful if the device does not allow to start update from recovery due to low battery level. This can potentially lead to bricking the device, so use it with caution.

0.3.1

  • Fix a bug with device path creation in busybar update-storage command.

0.3.0

  • Fixed CLI busybar cli: now it properly works with auto-complete and history navigation with arrow keys.
  • Update via storage.py busybar update-storage. There is an DANGEROUS option, allows to rewrite the device recovery bundle by using --save-as-recovery-only key.
  • Invocation of update from /bkp/recovery via busybar update-recovery command.
  • Wait for device available before any operations.

0.2.0 - latest

  • CLI terminal session to device available via busybar cli command
  • Improved file path handling to more reliablely locate update files

0.1.0

  • Initial release (basic functionality for firmware update)

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

busybar_tools-0.4.0.tar.gz (58.5 kB view details)

Uploaded Source

Built Distribution

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

busybar_tools-0.4.0-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

Details for the file busybar_tools-0.4.0.tar.gz.

File metadata

  • Download URL: busybar_tools-0.4.0.tar.gz
  • Upload date:
  • Size: 58.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for busybar_tools-0.4.0.tar.gz
Algorithm Hash digest
SHA256 53e8aac25b93789ea78654ad69e4b777afa51069deb34af1432a98864bb0963e
MD5 c42c727de1ba073dedb2e8fd664df137
BLAKE2b-256 133a7a475d4e419e298ea44909051ad7125414b7fa3331677235aa85185555c7

See more details on using hashes here.

File details

Details for the file busybar_tools-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: busybar_tools-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for busybar_tools-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 758f975733d276ed490718cb88b9bad41ed7ba664ec2a47001b8ff3c0cbe47fa
MD5 debcca89a172640515ead9dbf8e4068d
BLAKE2b-256 d420a81595ffddcbf9d175c930e2496e0470ebf1ee97bbfa74e1f0d0c200674f

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